This release is for InfluxDB Enterprise 1.8.6 customers only. No OSS-specific changes were made for InfluxDB 1.8.6--updates were made to the code base to support [InfluxDB Enterprise 1.8.6](/enterprise_influxdb/v1/about-the-project/release-notes/#v186).
- Add the ability to find which measurements or shards are contributing to disk size with the new [`influx_inspect report-disk`](/influxdb/v1/tools/influx_inspect/#report-disk) command. Useful for capacity planning and managing storage requirements.
- Add support to [`influx_inspect export`](/influxdb/v1/tools/influx_inspect/#export) to write to standard out (`stdout`) by adding a hyphen after the [`-out`](/influxdb/v1/tools/influx_inspect/#--out-export_dir-or--out--) flag. Using this option writes to `stdout`, and sends error and status messages to standard error (`stderr`).
- Update HTTP handler for `/query` to [log query text for POST requests](/influxdb/v1/administration/logs/#http-access-log-format).
- Update meta queries (for example, SHOW TAG VALUES, SHOW TAG KEYS, SHOW SERIES CARDINALITY, SHOW MEASUREMENT CARDINALITY, and SHOW MEASUREMENTS) to check the query context when possible to respect timeout values set in the [`query-timeout` configuration parameter](/influxdb/v1/administration/config/#query-timeout--0s). Note, meta queries will check the context less frequently than regular queries, which use iterators, because meta queries return data in batches.
- Previously, successful writes were incorrectly incrementing the `WriteErr` statistics. Now, successful writes correctly increment the `writeOK` statistics.
- Correct JSON marshalling error format.
- Previously, a GROUP BY query with an offset that caused an interval to cross a daylight savings change inserted an extra output row off by one hour. Now, the correct GROUP BY interval start time is set before the time zone offset is calculated.
- Improved error logging for TCP connection closures.
- Fix `regexp` handling to comply with PromQL.
- Previously, when a SELECT INTO query generated an unsupported value, for example, `+/- Inf`, the query failed silently. Now, an error occurs to notify that the value cannot be inserted.
- Resolve the "snapshot in progress" error that occurred during a backup.
- Fix data race when accessing tombstone statistics (`TombstoneStat`).
- Minimize lock contention when adding new fields or measurements.
- Resolve a bug causing excess resource usage when an error occurs while reporting an earlier error.
To ensure Flux logging is enabled, set both `flux-enabled` and `flux-log-enabled` to `true` in the [InfluxDB configuration file](/influxdb/v1/administration/config). For more information about InfluxDB logging, see [Log and trace with InfluxDB](/influxdb/v1/administration/logs).
- Add durations to Flux logging, including the log compilation, execution, and total request duration. Previously, the following stats were incorrectly logging `0.000ms`:
- Add `-lponly` flag to [`influx export`](/influxdb/v2/reference/cli/influx/export/) sub-command.
- Add the ability to [track number of values](/platform/monitoring/influxdata-platform/tools/measurements-internal/#valueswrittenok) written via the [/debug/vars HTTP endpoint](/influxdb/v1/tools/api/#debug-vars-http-endpoint).
This release updates support for the Flux language and queries. To learn about Flux design principles and see how to get started with Flux, see [Introduction to Flux](/influxdb/v1/flux/).
> We're evaluating the need for Flux query management controls equivalent to existing InfluxQL [query management controls](/influxdb/v1/troubleshooting/query_management/#configuration-settings-for-query-management) based on your feedback. Please join the discussion on [InfluxCommunity](https://community.influxdata.com/), [Slack](https://influxcommunity.slack.com/), or [GitHub](https://github.com/influxdata/flux). InfluxDB Enterprise customers, please contact <support@influxdata.com>.
- Add [offline series compaction to `influx_inspect buildtsi`](/influxdb/v1/administration/compact-series-file/).
If you're currently using the Time Series Index [(tsi1)](/influxdb/v1/concepts/time-series-index/), the index files grow over time and aren't automatically compacted. This tool enables an administrator to perform a compaction while the database is offline.
- Add support for connecting to a custom HTTP endpoint using `-url-prefix` in the [`influx` CLI](/influxdb/v1/tools/influx-cli/). This allows the Influx CLI to connect to an InfluxDB instance running behind a reverse proxy with a custom subpath `/` endpoint.
- Add support for [TLS 1.3 configuration](/influxdb/v1/administration/config/#transport-layer-security-tls-settings) and update current list of [Go ciphers](https://golang.org/pkg/crypto/tls/#pkg-constants).
- Expand support for bound parameters in queries to prevent injection attacks.
#### Other updates
- Update Go version to 1.13.8.
### Bug fixes
- Skip `WriteSnapshot` during backup if `snapshotter` is busy. This fix eliminates contention between snapshot and backup processes, allowing backups to complete more reliably.
- Rebuild the series index when data is actually deleted (not when deleted data is only found in cache or outside of time range).
- Parse Accept header correctly.
- Upgrade compaction error log from `Info` to `Warn`.
- Remove double increment of `meta` index.
- Improve series cardinality limit for `inmem` index.
- Ensure all block data returned.
- Reduce `influxd` and `influx` startup time if Flux isn't used.
- The Flux Technical Preview was not advanced and remains at version 0.24.0. Next month's maintenance release will update the preview.
- After upgrading, customers have experienced an excessively large output additional lines due to a `Println` statement introduced in this release. For a possible workaround, see https://github.com/influxdata/influxdb/issues/14265#issuecomment-508875853. Next month's maintenance release will address this.
### Bug fixes
- Fix the sort order for aggregates so that they are sorted by tag and then time.
- Use the timezone when evaluating time literals in subqueries.
- Fix CSV decoder bug where empty tag values cause an array index panic.
- Fix open/close race in `SeriesFile`.
- Sync series segment after truncate.
- Fix the ordering for selectors within a subquery with different outer tags.
If your InfluxDB OSS server is using the default in-memory index (`[data].index-version = "inmem"`),
this release includes the fix for InfluxDB 1.7.5 servers that stopped responding without warning.
{{% /warn %}}
### Features
- Upgrade Flux to `0.24.0` and remove the platform dependency.
- If Flux is enabled, use Chronograf 1.7.11 or later.
- When using Flux, there is a known issue that using `now` will cause a panic. The proper syntax is `now()`.
- Track remote read requests to Prometheus remote read handler.
### Bug fixes
- Ensure credentials are correctly passed when executing Flux HTTP requests in the `influx` CLI with the `-type=flux` option.
- Back port of data generation improvements: renamed files for consistency between versions, added `time-interval` schema option, and updated schema example documentation.
- Fix security vulnerability when `[http]shared-secret` configuration setting is blank.
- Add nil check for `tagKeyValueEntry.setIDs()`.
- Extend the Prometheus remote write endpoint to drop unsupported Prometheus values (`NaN`,`-Inf`, and `+Inf`) rather than reject the entire batch.
- If write trace logging enabled (`[http] write-tracing = true`), then summaries of dropped values are logged.
- If a batch of values contains values that are subsequently dropped, HTTP status code `204` is returned.
- Update predicate key mapping to match InfluxDB `2.x` behavior.
**Update (2019-04-01):** If your InfluxDB OSS server is using the default in-memory index (`[data].index-version = "inmem"`), then do not upgrade to this release. Customers have reported that InfluxDB 1.7.5 stops responding without warning. For details, see [GitHub issue #13010](https://github.com/influxdata/influxdb/issues/13010). The [planned fix](https://github.com/influxdata/influxdb/issues/13053) will be available soon.
If you have not installed this release, then install the 1.7.4 release.
**If you are currently running this release, then upgrade to the 1.7.4 release as soon as possible.**
- A critical defect in the InfluxDB 1.7.3 release was discovered and our engineering team fixed the issue in the 1.7.4 release. Out of high concern for your data and projects, upgrade to the 1.7.4 release as soon as possible.
- **Critical defect:** Shards larger than 16GB are at high risk for data loss during full compaction. The full compaction process runs when a shard go "cold" – no new data is being written into the database during the time range specified by the shard.
- **Post-mortem analysis:** InfluxData engineering is performing a post-mortem analysis to determine how this defect was introduced. Their discoveries will be shared in a blog post.
### Breaking changes
- Fix invalid UTF-8 bytes preventing shard opening. Treat fields and measurements as raw bytes.
### Features
- Update Flux to `0.12.0`
### Bug fixes
* Limit force-full and cold compaction size.
* Add user authentication and authorization support for Flux HTTP requests.
* Call `storage.Group` API to correctly map group mode.
* Marked functions that always return floats as always returning floats.
* Add support for optionally logging Flux queries.
* Simple8B `EncodeAll` incorrectly encodes entries: For a run of `1s`, if the 120th or 240th entry is not a `1`, the run will be incorrectly encoded as selector `0` (`240 1s`) or selector `1` (`120 1s`), resulting in a loss of data for the 120th or 240th value. Manifests itself as consuming significant CPU resources and as compactions running indefinitely.
Chunked query was added into the Go client v2 interface. If you compiled against the Go client v2 previously, you need to recompile using the updated interface.
### Features
#### Flux v0.7 technical preview
Support for the Flux language and queries has been added in this release. To begin exploring Flux 0.7 (technical preview):
This feature remains experimental in this release.
However, a number of improvements have been made and new meta query changes will allow for this feature to be explored at more depth than previously possible. It is not recommended for production use at this time.
We appreciate all of the feedback we receive on this feature. Please keep it coming!
### Breaking changes
You can no longer specify a different `ORDER BY` clause in a subquery than the one in the top level query.
This functionality never worked properly,
but was not explicitly forbidden.
As part of the ongoing development of the `tsi1` index,
the implementation of a Bloom Filter,
used to efficiently determine if series are not present in the index,
was altered.
While this significantly increases the performance of the index and reduces its memory consumption,
the existing `tsi1` indexes created while running previous versions of the database are not compatible with 1.4.0.
Users with databases using the `tsi1` index must go through the following process to upgrade to 1.4.0:
1. Stop `influxd`.
2. Remove all `index` directories on databases using the `tsi1` index. With default configuration these can be found in
`/var/lib/influxdb/data/DB_NAME/RP_NAME/SHARD_ID/index` or `~/.influxdb/data/DB_NAME/RP_NAME/SHARD_ID/index`.
It's worth noting at this point how many different `shard_ids` you visit.
3. Run the `influx_inspect inmem2tsi` tool using the shard's data and WAL directories for `-datadir` and `-waldir`, respectively.
4. Repeat step (3) for each shard that needs to be converted.
5. Start `influxd`.
Users with existing `tsi1` shards,
who attempt to start version 1.4.0 without following the steps above,
will find the shards refuse to open and will most likely see the following error message: `incompatible tsi1 index MANIFEST`.
### Configuration Changes
#### `[collectd]` Section
*`parse-multivalue-plugin` option was added with a default of `split`. When set to `split`, multivalue plugin data (e.g. `df free:5000,used:1000`) will be split into separate measurements (e.g., `df_free, value=5000` and `df_used, value=1000`). When set to `join`, multivalue plugin will be stored as a single multi-value measurement (e.g., `df, free=5000,used=1000`).
### Features
- Add `influx_inspect inmem2tsi` command to convert existing in-memory (TSM-based) shards to the TSI (Time Series Index) format.
- Add support for the Prometheus remote read and write APIs.
- Support estimated and exact SHOW CARDINALITY commands for measurements, series, tag keys, tag key values, and field keys.
- Improve `SHOW TAG KEYS` performance.
- Add `EXPLAIN ANALYZE` command, which produces a detailed execution plan of a `SELECT` statement.
- Improved compaction scheduling.
- Support Ctrl+C to cancel a running query in the Influx CLI.
It offers a solution to the [time-structured merge tree](/influxdb/v1/concepts/storage_engine/) engine's [high series cardinality issue](/influxdb/v1/troubleshooting/frequently-asked-questions/#why-does-series-cardinality-matter).
With TSI, the number of series should be unbounded by the memory on the server hardware and the number of existing series will have a negligible impact on database startup time.
See Paul Dix's blogpost [Path to 1 Billion Time Series: InfluxDB High Cardinality Indexing Ready for Testing](https://www.influxdata.com/path-1-billion-time-series-influxdb-high-cardinality-indexing-ready-testing/) for additional information.
The `index-version` setting is in the `[data]` section of the configuration file.
Next, restart your InfluxDB instance.
```
[data]
dir = "/var/lib/influxdb/data"
index-version = "tsi1"
```
#### Continuous Query Statistics
When enabled, each time a continuous query is completed, a number of details regarding the execution are written to the `cq_query` measurement of the internal monitor database (`_internal` by default). The tags and fields of interest are
| `durationNS` | query execution time in nanoseconds |
| `startTime` | lower bound of time range |
| `endTime` | upper bound of time range |
| `pointsWrittenOK` | number of points written to the target measurement |
*`startTime` and `endTime` are UNIX timestamps, in nanoseconds.
* The number of points written is also included in CQ log messages.
### Removals
The admin UI is removed and unusable in this release. The `[admin]` configuration section will be ignored.
### Configuration Changes
* The top-level config `bind-address` now defaults to `localhost:8088`.
The previous default was just `:8088`, causing the backup and restore port to be bound on all available interfaces (i.e. including interfaces on the public internet).
The following new configuration options are available.
#### `[http]` Section
*`max-body-size` was added with a default of 25,000,000, but can be disabled by setting it to 0.
Specifies the maximum size (in bytes) of a client request body. When a client sends data that exceeds
the configured maximum size, a `413 Request Entity Too Large` HTTP response is returned.
#### `[continuous_queries]` Section
*`query-stats-enabled` was added with a default of `false`. When set to `true`, continuous query execution statistics are written to the default monitor store.
### Features
- Add WAL sync delay
- Add chunked request processing back into the Go client v2
- Allow non-admin users to execute SHOW DATABASES
- Reduce memory allocations by reusing gzip.Writers across requests
- Add system information to /debug/vars
- Add modulo operator to the query language.
- Failed points during an import now result in a non-zero exit code
- Expose some configuration settings via SHOW DIAGNOSTICS
- Support single and multiline comments in InfluxQL
- Support timezone offsets for queries
- Add "integral" function to InfluxQL
- Add "non_negative_difference" function to InfluxQL
- Add bitwise AND, OR and XOR operators to the query language
- Write throughput/concurrency improvements
- Remove the admin UI
- Update to go1.8.1
- Add max concurrent compaction limits
- Add TSI support tooling
- Track HTTP client requests for /write and /query with /debug/requests
- Write and compaction stability
- Add new profile endpoint for gathering all debug profiles and queries in single archive
- Add nanosecond duration literal support
- Optimize top() and bottom() using an incremental aggregator
- Maintain the tags of points selected by top() or bottom() when writing the results.
- Write CQ stats to the `_internal` database
### Bugfixes
- Several statements were missing the DefaultDatabase method
- Fix spelling mistake in HTTP section of config -- shared-secret
- History file should redact passwords before saving to history
- Suppress headers in output for influx cli when they are the same
- Add chunked/chunk size as setting/options in cli
- Do not increment the continuous query statistic if no query is run
- Forbid wildcards in binary expressions
- Fix fill(linear) when multiple series exist and there are null values
- Update liner dependency to handle docker exec
- Bind backup and restore port to localhost by default
- Kill query not killing query
- KILL QUERY should work during all phases of a query
- Simplify admin user check.
- Significantly improve DROP DATABASE speed
- Return an error when an invalid duration literal is parsed
- Fix the time range when an exact timestamp is selected
- Fix query parser when using addition and subtraction without spaces
- Fix a regression when math was used with selectors
- Ensure the input for certain functions in the query engine are ordered
- Significantly improve shutdown speed for high cardinality databases
- Fix racy integration test
- Prevent overflowing or underflowing during window computation
- Enabled golint for admin, httpd, subscriber, udp, thanks @karlding
- Implicitly cast null to false in binary expressions with a Boolean
- Restrict fill(none) and fill(linear) to be usable only with aggregate queries
- Restrict top() and bottom() selectors to be used with no other functions
- top() and bottom() now returns the time for every point
- Remove default upper time bound on DELETE queries
- Fix LIMIT and OFFSET for certain aggregate queries
- Refactor the subquery code and fix outer condition queries
- Fix compaction aborted log messages
- TSM compaction does not remove .tmp on error
- Set the CSV output to an empty string for null values
- Compaction exhausting disk resources in InfluxDB
- Small edits to the etc/config.sample.toml file
- Points beyond retention policy scope are dropped silently
- Fix TSM tmp file leaked on disk
- Fix large field keys preventing snapshot compactions
- URL query parameter credentials take priority over Authentication header
- TSI branch has duplicate tag values
- Out of memory when using HTTP API
- Check file count before attempting a TSI level compaction.
In versions 1.0 and 1.1, the default setting was `10000`, but due to a bug, the value in use in versions 1.0 and 1.1 was effectively `0`.
In versions 1.2.0 through 1.2.1, we fixed that bug, but the fix caused a breaking change for Grafana and Kapacitor users; users who had not set `max-row-limit` to `0` experienced truncated/partial data due to the `10000` row limit.
In version 1.2.2, we've changed the default `max-row-limit` setting to `0` to match the behavior in versions 1.0 and 1.1.
- Change the default [`max-row-limit`](/influxdb/v1/administration/config#max-row-limit-0) setting from `10000` to `0` to prevent the absence of data in Grafana or Kapacitor.
This release introduces a major new querying capability in the form of sub-queries, and provides several performance improvements, including a 50% or better gain in write performance on larger numbers of cores. The release adds some stability and memory-related improvements, as well as several CLI-related bug fixes. If upgrading from a prior version, please read the configuration changes in the following section before upgrading.
### Configuration Changes
The following new configuration options are available, if upgrading to `1.2.0` from prior versions.
#### `[[collectd]]` Section
*`security-level` which defaults to `"none"`. This field also accepts `"sign"` and `"encrypt"` and enables different levels of transmission security for the collectd plugin.
*`auth-file` which defaults to `"/etc/collectd/auth_file"`. Specifies where to locate the authentication file used to authenticate clients when using signed or encrypted mode.
### Deprecations
The stress tool `influx_stress` will be removed in a subsequent release. We recommend using [`influx-stress`](https://github.com/influxdata/influx-stress) as a replacement.
### Features
- Remove the override of GOMAXPROCS.
- Uncomment section headers from the default configuration file.
- Improve write performance significantly.
- Prune data in meta store for deleted shards.
- Update latest dependencies with Godeps.
- Introduce syntax for marking a partial response with chunking.
- Use X-Forwarded-For IP address in HTTP logger if present.
- Add support for secure transmission via collectd.
- Switch logging to use structured logging everywhere.
- [CLI feature request] USE retention policy for queries.
- Add clear command to CLI.
- Adding ability to use parameters in queries in the v2 client using the `Parameters` map in the `Query` struct.
- Allow add items to array config via ENV.
- Support subquery execution in the query language.
- Verbose output for SSL connection errors.
- Cache snapshotting performance improvements
### Bugfixes
- Fix potential race condition in correctness of tsm1_cache memBytes statistic.
- Fix broken error return on meta client's UpdateUser and DropContinuousQuery methods.
- Fix string quoting and significantly improve performance of `influx_inspect export`.
- CLI was caching db/rp for insert into statements.
- Fix CLI import bug when using self-signed SSL certificates.
- Fix cross-platform backup/restore.
- Ensures that all user privileges associated with a database are removed when the database is dropped.
- Return the time from a percentile call on an integer.
- Expand string and Boolean fields when using a wildcard with `sample()`.
[Go 1.7.4](https://golang.org/doc/devel/release.html#go1.7.minor) was released to address two security issues. This release includes these security fixes.
This release is built with GoLang 1.7.3 and provides many performance optimizations, stability changes and a few new query capabilities. If upgrading from a prior version, please read the configuration changes below section before upgrading.
### Deprecations
The admin interface is deprecated and will be removed in a subsequent release.
The configuration setting to enable the admin UI is now disabled by default, but can be enabled if necessary.
We recommend using [Chronograf](https://github.com/influxdata/chronograf) or [Grafana](https://github.com/grafana/grafana) as a replacement.
### Configuration Changes
The following configuration changes may need to changed before upgrading to `1.1.0` from prior versions.
#### `[admin]` Section
*`enabled` now default to false. If you are currently using the admin interaface, you will need to change this value to `true` to re-enable it. The admin interface is currently deprecated and will be removed in a subsequent release.
#### `[data]` Section
*`max-values-per-tag` was added with a default of 100,000, but can be disabled by setting it to `0`. Existing measurements with tags that exceed this limit will continue to load, but writes that would cause the tags cardinality to increase will be dropped and a `partial write` error will be returned to the caller. This limit can be used to prevent high cardinality tag values from being written to a measurement.
*`cache-max-memory-size` has been increased to from `524288000` to `1048576000`. This setting is the maximum amount of RAM, in bytes, a shard cache can use before it rejects writes with an error. Setting this value to `0` disables the limit.
*`cache-snapshot-write-cold-duration` has been decreased from `1h` to `10m`. This setting determines how long values will stay in the shard cache while the shard is cold for writes.
*`compact-full-write-cold-duration` has been decreased from `24h` to `4h`. The shorter duration allows cold shards to be compacted to an optimal state more quickly.
### Features
The query language has been extended with a few new features:
- Support regular expressions on fields keys in select clause.
- New `linear` fill option.
- New `cumulative_sum` function.
- Support `ON` for `SHOW` commands.
All Changes:
- Filter out series within shards that do not have data for that series.
- Rewrite regular expressions of the form host = /^server-a$/ to host = 'server-a', to take advantage of the tsdb index.
- Improve compaction planning performance by caching tsm file stats.
- Align binary math expression streams by time.
- Reduce map allocations when computing the TagSet of a measurement.
- Make input plugin services open/close idempotent.
- Speed up shutdown by closing shards concurrently.
- Add sample function to query language.
- Add `fill(linear)` to query language.
- Implement cumulative_sum() function.
- Update defaults in config for latest best practices.
- UDP Client: Split large points.
- Add stats for active compactions, compaction errors.
- More man pages for the other tools we package and compress man pages fully.
- Add max-values-per-tag to limit high tag cardinality data.
- Update jwt-go dependency to version 3.
- Support enable HTTP service over unix domain socket.
- Add additional statistics to query executor.
- Feature request: `influx inspect -export` should dump WAL files.
- Implement text/csv content encoding for the response writer.
- Support tools for running async queries.
- Support ON and use default database for SHOW commands.
- Correctly read in input from a non-interactive stream for the CLI.
- Support `INFLUX_USERNAME` and `INFLUX_PASSWORD` for setting username/password in the CLI.
- Optimize first/last when no group by interval is present.
- Make regular expressions work on field and dimension keys in SELECT clause.
- Change default time boundaries for raw queries.
- Support mixed duration units.
### Bugfixes
- Avoid deadlock when `max-row-limit` is hit.
- Fix incorrect grouping when multiple aggregates are used with sparse data.
- Fix output duration units for SHOW QUERIES.
- Truncate the version string when linking to the documentation.
- influx_inspect: export does not escape field keys.
- Fix issue where point would be written to wrong shard.
- Fix retention policy inconsistencies.
- Remove accidentally added string support for the stddev call.
*`max-series-per-database` was added with a default of 1M but can be disabled by setting it to `0`. Existing databases with series that exceed this limit will continue to load but writes that would create new series will fail.
* Config option `[cluster]` has been replaced with `[coordinator]`.
* Support for config options `[collectd]` and `[opentsdb]` has been removed; use `[[collectd]]` and `[[opentsdb]]` instead.
* Config option `data-logging-enabled` within the `[data]` section, has been renamed to `trace-logging-enabled`, and defaults to `false`.
* The keywords `IF`, `EXISTS`, and `NOT` where removed for this release. This means you no longer need to specify `IF NOT EXISTS` for `DROP DATABASE` or `IF EXISTS` for `CREATE DATABASE`. If these are specified, a query parse error is returned.
* The Shard `writePointsFail` stat has been renamed to `writePointsErr` for consistency with other stats.
With this release the systemd configuration files for InfluxDB will use the system configured default for logging and will no longer write files to `/var/log/influxdb` by default. On most systems, the logs will be directed to the systemd journal and can be accessed by `journalctl -u influxdb.service`. Consult the systemd journald documentation for configuring journald.
### Features
- Add mode function.
- Support negative timestamps for the query engine.
- Write path stats.
- Add MaxSeriesPerDatabase config setting.
- Remove IF EXISTS/IF NOT EXISTS from influxql language.
- Update go package library dependencies.
- Add tsm file export to influx_inspect tool.
- Create man pages for commands.
- Return 403 Forbidden when authentication succeeds but authorization fails.
- Added favicon.
- Run continuous query for multiple buckets rather than one per bucket.
- Log the CQ execution time when continuous query logging is enabled.
- Trim BOM from Windows Notepad-saved config files.
- Update help and remove unused config options from the configuration file.
- Add NodeID to execution options.
- Make httpd logger closer to Common (& combined) Log Format.
- Allow any variant of the help option to trigger the help.
- Reduce allocations during query parsing.
- Optimize timestamp run-length decoding.
- Adds monitoring statistic for on-disk shard size.
- Add HTTP(s) based subscriptions.
- Add new HTTP statistics to monitoring.
- Speed up drop database.
- Add Holt-Winter forecasting function.
- Add support for JWT token authentication.
- Add ability to create snapshots of shards.
- Parallelize iterators.
- Teach the http service how to enforce connection limits.
- Support cast syntax for selecting a specific type.
- Refactor monitor service to avoid expvar and write monitor statistics on a truncated time interval.
- Dynamically update the documentation link in the admin UI.
- Support wildcards in aggregate functions.
- Support specifying a retention policy for the graphite service.
- Add extra trace logging to tsm engine.
- Add stats and diagnostics to the TSM engine.
- Support regex selection in SHOW TAG VALUES for the key.
- Modify the default retention policy name and make it configurable.
- Update SHOW FIELD KEYS to return the field type with the field key.
- Support bound parameters in the parser.
- Add https-private-key option to httpd config.
- Support loading a folder for collectd typesdb files.
### Bugfixes
- Optimize queries that compare a tag value to an empty string.