This release adds support for TimescaleDB 2.0 multinode. This means all of TimescaleDB 2.0 features are now fully supported. This also means that Promscale now supports horizontal scalability across the entire stack!
This release also includes performance improvements and bug fixes.
At a high-level, this release:
- Adds support for Multinode TimescaleDB.
- Improved promQL query latency by 4x in some cases.
- Reduced I/O used by the PostgreSQL stats collector substantially by changing autovacuum settings.
- Fixed metrics produced by Promscale itself
- PromQL engine supports @ modifier which is disabled by default. (see promql-evaluation-flags)
- Added configuration for query timeout and default step interval
- Improved UX
Notes for people upgrading from 0.1.4 and before
- The CLI and ENV option install-timescaledb was renamed to install-extension
- Two new flags are added upgrade-extensions by default set to true will upgrade extensions if newer versions are available and upgrade-prerelease-extensions by default set to false enabling it will upgrade extensions to pre-prelease versions if pre-release versions are available.
- We have changed the namespace of the metrics Promscale itself exposes from ts_prom to promscale. We have also updated the PromQL engine based metrics to have namespace as promscale instead of prometheus. So, metrics like prometheus_engine_query_duration_seconds will now be promscale_engine_query_duration_seconds.
Prom-Migrator
- Adds support for concurrent pulling and pushing to improve migration throughput. (Please note concurrent push is disabled by default as we've seen some issues migrating data to Thanos concurrently, which we are still working out).
New
- Status information is now available in JSON format at /api/v1/status (449).
- Includes version 0.1.0 of routinator-ui, a UI for Route Origin Validation and Routinator status (449).
Version 4.5.2 'dan Eider':
- fix null pointer dereference in case of out of memory. (thanks to Thomas Moeller for the report)
- merge PR 517 (by wolmi)
* add prometheus metrics
- merge PR 637 (by David Florness)
* Delete trailing whitespace in example configuration files
- merge PR 631 (by Debabrata Deka)
* Add architecture ppc64le to travis build
- merge PR 627 (by Samuel)
* Fix misleading option in doc (prometheus)
- merge PR 643 (by tupelo-schneck)
* Allow RFC6062 TCP relay data to look like TLS
- merge PR 655 (by plinss)
* Add support for proxy protocol V1
- merge PR 618 (by Paul Wayper)
* Print full date and time in logs
* Add new options: "new-log-timestamp" and "new-log-timestamp-format"
- merge PR 599 (by Cédric Krier)
* Do not use FIPS and remove hardcode OPENSSL_VERSION_NUMBER with LibreSSL
- update Docker mongoDB and fix with workaround the missing systemctl
- merge PR 660 (by Camden Narzt)
* fix compilation on macOS Big Sur
- merge PR 546 (by jelmd)
* Add ACME redirect url
- merge PR 551 (by jelmd)
* support of --acme-redirect <URL>
- merge PR 672 further acme fixes (by jemld)
* fix acme security, redundancy, consistency
- Disable binding request logging to avoid DoS attacks. (Breaking change!)
* Add new --log-binding option to enable binding request logging
- Fix stale-nonce documentation. Resolves 604
- Version number is changed to semver 2.0
- Merge PR 288 (by Hristo Venev)
* pkg-config, and various cleanups in configure file
- Add systemd notification for better systemd integration
- Fix Issue 621 (by ycaibb)
* Fix: Null pointer dereference on tcp_client_input_handler_rfc6062data function
- Fix Issue 600 (by ycaibb)
* Fix: use-after-free vulnerability on write_to_peerchannel function
- Fix Issue 601 (by ycaibb)
* Fix: use-after-free vulnerability on write_client_connection function
- Little refactoring prometheus
* Fix c++ support
* Simplify (as agreed in Issue 666)
* Remove session id/allocation labels
* Remove per session metrics. We should later add more counters.
- Fix CVE-2020-26262 (credits: Enable-Security)
* Fix ipv6 ::1 loopback check
* Not allow allocate peer address 0.0.0.0/8 and ::/128
* For more details see the github security advisory:
https://github.com/coturn/coturn/security/advisories/GHSA-6g6j-r9rf-cm7p
- Enable HTML minification
- Support `output_dir` in `config.toml`
- Allow sections to be drafted
- Allow specifying default language in filenames
- Render emoji in Markdown content if the `render_emoji` option is enabled
- Enable YouTube privacy mode for the YouTube shortcode
- Add language as class to the `<code>` block and as `data-lang`
- Add bibtex to `load_data`
- Add a `[markdown]` section to `config.toml` to configure rendering
- Add `highlight_code` and `highlight_theme` to a `[markdown]` section in `config.toml`
- Add `external_links_target_blank`, `external_links_no_follow` and `external_links_no_referrer`
- Add a `smart_punctuation` option in the `[markdown]` section in `config.toml` to turn elements like dots and dashes
into their typographic forms
- Add iteration count variable `nth` for shortcodes to know how many times a shortcode has been invoked in a given
content
- Update some highlighting syntaxes and the TS syntax will now be used instead of JS due to issues with it
- Remove `zola serve --watch-only`: since we build the HTML in memory and not on disk, it doesn't make sense anymore
- Update clojure syntax
- Prefer extra syntaxes to the default ones if we have a match for language
- Fix `zola serve` having issues with non-ascii paths
- 404 page now gets the site default language as `lang`
Changed:
- Build workflows now updated to run on ubuntu-latest and use a matrix to build assets for linux, darwin and windows for both amd64 and 386.
Fixed:
- Release asset for macos/darwin is now named dasel_darwin_amd64 instead of dasel_macos_amd64.
- Self-updater now identifies dev version as development.
Added
- Add -c, --compact flag to remove pretty-print formatting from JSON output.
- Defined storage.IndentOption(indent string) ReadWriteOption.
- Defined storage.PrettyPrintOption(enabled bool) ReadWriteOption.
Changed
- Changed storage.Parser funcs to allow the passing of ...ReadWriteOption.
This release contains official support for TimescaleDB 2.0 (single-node) as well as various bug fixes and code cleanup.
Please note that multinode support is still in alpha and automatic upgrades of multinode deployments to future versions is not yet guaranteed (we hope to support this starting with the next release). Please only use multimode deployments for testing only.
Notes for people upgrading from 0.1.3:
- The dropChunk property in the Promscale Helm chart is renamed to maintenance. The drop-chunks CRON job is now renamed to maintenance, you will need to replace the dropChunk.schedule value with maintenance.schedule.
Notes for multinode deployments
- This should only be used for testing, not production deployments
- In particular, we are not guaranteeing upgrades from 0.1.4 to future versions in multinode deployments.
- All nodes have to be added to the cluster before starting Promscale; adding nodes afterwards is not yet supported.
Conform to RFC 1123 [0], specifically to "2.1 Host Names and Numbers",
which allow starting host name with alphanumerical instead of alphabetical characters.
RFC 1123 updates RFC 952 [1], which is referenced in "man 5 hosts".
[0]: https://tools.ietf.org/html/rfc1123
[1]: https://tools.ietf.org/html/rfc952