Redis 6.0.10
============
Upgrade urgency MODERATE: several bugs with moderate impact are fixed,
Here is a comprehensive list of changes in this release compared to 6.0.9.
Command behavior changes:
* SWAPDB invalidates WATCHed keys
* SORT command behaves differently when used on a writable replica
* EXISTS should not alter LRU
In Redis 5.0 and 6.0 it would have touched the LRU/LFU of the key.
* OBJECT should not reveal logically expired keys
Will now behave the same TYPE or any other non-DEBUG command.
* GEORADIUS[BYMEMBER] can fail with -OOM if Redis is over the memory limit
Other behavior changes:
* Sentinel: Fix missing updates to the config file after SENTINEL SET command
* CONFIG REWRITE is atomic and safer, but requires write access to the config file's folder
This change was already present in 6.0.9, but was missing from the release notes.
Bug fixes with compatibility implications (bugs introduced in Redis 6.0):
* Fix RDB CRC64 checksum on big-endian systems
If you're using big-endian please consider the compatibility implications with
RESTORE, replication and persistence.
* Fix wrong order of key/value in Lua's map response
If your scripts use redis.setresp() or return a map (new in Redis 6.0), please
consider the implications.
Bug fixes:
* Fix an issue where a forked process deletes the parent's pidfile
* Fix crashes when enabling io-threads-do-reads
* Fix a crash in redis-cli after executing cluster backup
* Handle output buffer limits for module blocked clients
Could result in a module sending reply to a blocked client to go beyond the limit.
* Fix setproctitle related crashes.
Caused various crashes on startup, mainly on Apple M1 chips or under instrumentation.
* Backup/restore cluster mode keys to slots map for repl-diskless-load=swapdb
In cluster mode with repl-diskless-load, when loading failed, slot map wouldn't
have been restored.
* Fix oom-score-adj-values range, and bug when used in config file
Enabling setting this in the config file in a line after enabling it, would
have been buggy.
* Reset average ttl when empty databases
Just causing misleading metric in INFO
* Disable rehash when Redis has child process
This could have caused excessive CoW during BGSAVE, replication or AOFRW.
* Further improved ACL algorithm for picking categories
Output of ACL GETUSER is now more similar to the one provided by ACL SETUSER.
* Fix bug with module GIL being released prematurely
Could in theory (and rarely) cause multi-threaded modules to corrupt memory.
* Reduce effect of client tracking causing feedback loop in key eviction
* Fix cluster access to unaligned memory (SIGBUS on old ARM)
* Fix saving of strings larger than 2GB into RDB files
Additional improvements:
* Avoid wasteful transient memory allocation in certain cases
Platform / toolchain support related improvements:
* Fix crash log registers output on ARM.
* Add a check for an ARM64 Linux kernel bug
Due to the potential severity of this issue, Redis will print log warning on startup.
* Raspberry build fix.
New configuration options:
* oom-score-adj-values config can now take absolute values (besides relative ones)
Module related fixes:
* Moved RMAPI_FUNC_SUPPORTED so that it's usable
* Improve timer accuracy
* Allow '\0' inside of result of RM_CreateStringPrintf
5.3.14
Security Notes:
Functionality added or changed:
* Unit tests will allocate/deallocate STMT/DBC/ENV for each test
* Added processing of new UTF8MB4 collations
Bugs fixed:
* myodbc-installer does not show all DSN options (Bug #29753227/95290)
* MASTER: Crash noticed in SQLSetPos (Bug #29630465)
Built using MySQL 5.7.28
5.3.13
Security Notes:
* Connector/ODBC 5.3.13 Commercial upgrades the linked OpenSSL
library to version 1.0.2r which has been publicly reported
as not vulnerable to CVE-2019-1559
(Bug #29489006, CVE-2019-1559)
Functionality added or changed:
Bugs fixed:
* SQL_NO_DATA when fetching VARCHAR(500) with filter
(Bug# 29512548/94545)
Built using MySQL 5.7.26
5.3.12
Security Notes:
Functionality added or changed:
* New connection option for ODBC driver to enable LOAD DATA LOCAL INFILE
Bugs fixed:
* Dynamic linking is broken in MyODBC 5.3.11 (Bug# 28609434/92319)
* Crash in SQLBulkOperations when NO_SSPS is set to 0 (Bug #28289320)
Built using MySQL 5.7.25
5.3.11
Security Notes:
* Fix issues found by Fortify (WL #11829)
Functionality added or changed:
* Fixes in ODBC 5.3 from 8.0 code merge (WL #12199)
* Make sure ODBC 5.3 works with new 8.0 auth. mechanism. (WL #11962)
Bugs fixed:
* Source character set not supported by client error on SHOW TABLES command
(Bug# 28116892/90984)
* SQLColAttribute/SQL_DESC_TYPE_NAME text instead of longtext for
longtext col (Bug# 11761407/53900)
* Connector uses UTF8 charset instead of UTF8MB4 (Bug# 28204756)
* SQLMoreResults does not set statement errors correctly
(Bug# 11757423/49466)
* Master: Connection fails for cache256 user when GET_SERVER_PUBLIC_KEY=1
(Bug# 28359632)
Built using MySQL 5.7.23
5.3.10
Security Notes:
Functionality added or changed:
* Build ODBC Connector with libmysqlclient linked dynamically (WL #11105)
Bugs fixed:
* ODBC Driver issue with SELECT for UPDATE (Bug# 26646688/87457)
* Contribution: Compilation fixes for MySQL 5.5 (Bug# 26633971/87413)
* Contribution: Fix truncated "SSL Certificate Authority" label
(Bug# 26579169/87325)
* OpenRecordset leaking memory client side on Windows ODBC Client
(Bug# 27155880/86473)
* MySQL Connector/ODBC 5.2.5 - Command Timeout does not work
(Bug# 26474362/69416)
* Calling MySQLDrivercConnect with a NULL pcbConnStrOut causes a crash
(Bug# 27101767/88371)
Built using MySQL 5.7.20
5.3.9
Security Notes:
Functionality added or changed:
* Added two new CMake build options. STATIC_MSVCRT to switch /MT and /MD
compiler options in Windows. WITH_NODEFAULTLIB to specify the
/NODEFAULTLIB linker option. (WL# 10890)
Bugs fixed:
* Segmentation fault in SQLFetch() when used with dynamic cursor
(Bug# 18805392)
* SQLExecute() after SQLFreeStmt(SQL_RESET_PARAMS) results
in assert failure (Bug# 19148246)
* SQLForeignKeys() crashing when SQL_MODE='ANSI_QUOTES'
(Bug# 18641824)
* SQLForeignKeys() returns empty result with NO_I_S=0
(Bug# 26388694)
Built using MySQL 5.7.19
----
5.3.8
Security Notes:
* Connector/ODBC 5.3.8 Commercial upgrades the linked OpenSSL
library to version 1.0.2k which has been publicly reported
as not vulnerable to CVE-2017-3732
(http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3732)
(Bug #25615448, CVE-2017-3732)
Functionality added or changed:
* Added a new connection option NO_DATE_OVERFLOW to control returning
of errors when the TIMESTAMP structure used for DATE column contains
non-zero time part (Bug# 25386024)
Bugs fixed:
* SQL_ATTR_MAX_ROWS applies to all result sets on the statement,
and not connection (Bug# 17259397/69554)
* SQLTABLES patch (Bug 13914518) has to be extended for NO_I_S case
(Bug# 14005343)
* Connector/ODBC does not send correct error message when 2006 error occurs
(Bug #25671389)
* Error in Windows Setup Wizard Custom Setup Dialog
(Bug# 25247807/84190)
* Contents in embedded help for myodbc-installer are outdated
(Bug# 18896110/72852)
* SQLGetData() with invalid column number crashes (Bug# 18636600)
* Assert failure in SQLSetDescField() API (Bug# 18641633)
* Metadata functions crash when the catalog/table/column name is long
(Bug #18796005)
* Prefetch causes syntax errors in select queries with parameters
(Bug# 17386788)
Built using MySQL 5.7.18
----
5.3.7
Security Notes:
* Connector/ODBC 5.3.7 Commercial upgrades the linked OpenSSL
library to version 1.0.2j which has been publicly reported
as not vulnerable to CVE-2016-6304
(http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6304)
(Bug #24753385, CVE-2016-6304)
Functionality added or changed:
* Added new options to control TLS versions for connecting:
NO_TLS_1_0, NO_TLS_1_1, NO_TLS_1_2. By Default all TLS versions are enabled
and options allow to disable using of a particular TLS version.
(Bug# 23496903/81640)
* Added a new option SSLMODE to set the SSL mode before connection is made.
The option value can be set to any of the follwing: DISABLED, PREFERRED,
REQUIRED, VERIFY_CA, VERIFY_IDENTITY. This option will override
the deprecated SSLVERIFY and SSL_ENFORCE.
(Bug# 23497043/81641)
Bugs fixed:
* Assertion in ODBC Driver when calling mysql_stmt_close() on a broken
connection (Bug# 25109356/83858)
* Connector ODBC does not build with newer CMake (Bug# 22746557)
* Installation fails in OSX El Capitan (23123503/81113)
Built using MySQL 5.7.17.
----
5.3.6
Functionality added or changed:
* Keywords specific to MySQL server 5.7 (WL#7992)
* Implement SQL_ATTR_QUERY_TIMEOUT statement attribute (WL#7991)
* Added DEFAULT_AUTH and PLUGIN_DIR options in connection parameters.
* Added DISABLE_SSL_DEFAULT connection parameter to disable
connecting through SSL by default.
* Added SSL_ENFORCE connection parameter to enforce SSL connection.
Bugs fixed:
* ODBC Driver not parsing comments correctly (Bug# 16613308/53891)
* Calling SQLGetDiagField with DIAGIDENTIFIER SQL_DIAG_ROW_COUNT always
returns 0 (Bug #11750296/40771)
* ADO hangs when using MySQL ODBC 5.3 ANSI Driver with French characters
(Bug# 20526062)
* Connector/ODBC fails to build when using libmysqlclient 5.7
(Bug# 20685833/76261)
* malloc/free mismatch in MySqlGetPrivateProvileStringW
(Bug# 21074676/76984)
----
5.3.5
Security Notes:
* Connector/ODBC 5.3.5 Commercial upgrades the linked OpenSSL
library to version 1.0.1m which has been publicly reported
as not vulnerable to CVE-2015-0286
(http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0286).
Since the only change in Connector/ODBC 5.3.5 is the inclusion
of OpenSSL libraries publicly reported as unaffected by
CVE-2015-0286, and since Oracle-produced MySQL Community
builds use YaSSL libraries which have been reported as not
affected by CVE-2015-0286, Oracle will not produce builds for
Connector/ODBC Community for version 5.3.5. This means the
Community edition of Connector/ODBC will skip version 5.3.5.
(Bug #20747740, CVE-2015-0286)
----
5.3.4
Functionality added or changed:
* New ODBC connection option to specify the location of RSA public key
(WL #7911)
Bugs fixed:
* SSL CA Path cannot be selected in Linux GUI (Bug #18813389/72716)
----
5.3.3
Functionality added or changed:
Bugs fixed:
* Seg Fault in SQLForeignKeys() when column name contains special characters
(Bug #18286118)
* Add NULL handle checks in ODBC API functions (WL #7807)
----
=== 5.40.0 (2021-01-01)
* Support UPDATE FROM syntax in SQLite 3.33.0+ (jeremyevans)
* Have pg_interval extension work with ActiveSupport 6.1 (jeremyevans)
* Have date_arithmetic extension work with ActiveSupport 6.1 (jeremyevans)
* Avoid method redefinition warnings in verbose warning mode (jeremyevans)
=== 5.39.0 (2020-12-01)
* Support :clustered option for primary key and unique constraints on Microsoft SQL Server (jeremyevans)
* Do not modify the size of binary columns when using set_column_allow_null on Microsoft SQL Server (jeremyevans) (#1736)
* Add a fork safety guide with more detail on how to use Sequel with libraries that fork (janko) (#1733)
* Make the roots_dataset method in the tree plugin work with queries using joins (jeremyevans) (#1731)
* Make Database#tables return partitioned tables on PostgreSQL 10+ (epoberezhny) (#1729, #1730)
=== 5.38.0 (2020-11-01)
* Do not add new Database instances to Sequel::DATABASES if the test connection fails (jeremyevans) (#1727)
* Support the newer com.mysql.cj.jdbc.Driver in the jdbc/mysql adapter (jeremyevans)
* Do not swallow disconnect errors in Database#create_or_replace_view or Database#create_table* on Oracle (jeremyevans)
* Only rescue non-disconnect Sequel::DatabaseErrors in Postgres::Database#server_version (jeremyevans) (#1724)
* Make the single_table_inheritance and prepared_statements plugins work if loaded into the same class (jeremyevans) (#1721)
## 6.1.0: 2020-12-24 {#release-6-1-0}
### Improvements
* Changed to use `:use_paged_results` option value by default.
[GitHub#189][Reported by Kevin McCormack]
### Thanks
* Kevin McCormack
## 6.0.4: 2020-12-06 {#release-6-0-4}
### Improvements
* Enabled concurrency by default.
[GitHub#188][Reported by Kevin McCormack]
7.3.0
- `stream_to` now quotes and escapes its table name.
- Removed `transaction_base::classname()`. Did anyone ever use it?
- Internal reorg of the `transaction` and `transactionfocus` hierarchies.
- Removed the only case of virtual inheritance, related to `namedclass`.
- Internal `concat()` for faster, simpler string concatentation.
- Fix compile omission in string conversions for `nullptr_t`.
- `pqxx::size_buffer()` can now size multiple values at once.
- `multi_to_string()` to convert multiple values into one `std::string`.
- Implicit `zview` constructor from `char const *`. (#389)
- Many `std::string&` parameters are now `zview` or `std::string_view`.
- Now checking statement parameter lengths for overflow.
- `#include <array>` in connection.cxx. (#394)
7.2.1
- Fix infinite loop in converting `char *` to string. (#377)
- Deprecated `namedclass`.
- Convert an entire row using `row::as<type...>()`.
- Internal rework of `field::to()` and `field::as()` functions.
- Some more warning options in maintainer mode.
- Removed the old, DocBook-based tutorial.
- Fixed wrong `query` and SQLSTATE params to some exceptions. (#378)
Version 1.19 - 2020-12-23
* Pre-read the memory mapped regions on systems that support it.
This speeds up operations on big databases.
* gdbmtool: tagged initialization of structured data
Initializers for structured data can be given in tagged form, e.g.:
store somekey { status=2, id={a,u,x}, name="foo" }
* Bugfixes:
** Preserve locking type during database reorganization
3.34.0-r1
Windows MSI installer files are now provided in addition to the exe files (APSW issue 294), as well as wheels for Python 3.6+. Python 3.9 binaries are also now available. The wheels can be installed via pip.
Added Connection.txn_state()
Added constants:
SQLITE_IOERR_CORRUPTFS
0.16.19
- Replace set `TZ` environment variable to `TIMEZONE` to avoid affecting global timezone.
- Allow passing module objects to `models_paths` param of `Tortoise.init_models()`.
- Implement `PydanticMeta.backward_relations`.
- Allow overriding `PydanticMeta` in `PydanticModelCreator`.
- Fixed make_native typo to make_naive in timezone module
- 0.49 | 2020-11-13
- dependency clarified: state range
Previously, the README file intimated that any Guile 1.4.x and
later would work w/ Guile-PG. This has now been clarified to
state the actual working range (1.4.x to 2.0.x, inclusive).
We have plans for adding support for 2.2.x (and maybe 3.x) in
the near to middling future.
See also file test/OK.
- Guile "auto-compilation" suppressed
In all three phases: configuration, build, and test, Guile 2.x
"auto-compilation" of .scm to .go files is suppressed by setting
the env var ‘GUILE_AUTO_COMPILE=0’.
We will do intentional compilation at some point, as soon as we
figure out how to DTRT. See project CMOD-PLAY for experiments.
packaging changes: PostgresQL 9.5 is no longer supported.
Upstream NEWS:
PostGIS 3.1.0
2020/12/18
This version requires PostgreSQL 9.6 or higher and GEOS 3.6 or higher
Additional features are enabled if you are running GEOS 3.9.
* Breaking changes *
- #4737, Bump minimum protobuf-c requirement to 1.1.0 (Raúl Marín)
The configure step will now fail if the requirement isn't
met or explicitly disabled (--without-protobuf)
- #4258, Separated postgis_sfcgal from postgis
into its own lib file and extension (Regina Obe)
- #4577, Drop support for PostgreSQL 9.5 (Raúl Marín)
- #4601, ST_TileEnvelope signature changed.
- #3057, ST_Force3D, ST_Force3DZ, ST_Force3DM and ST_Force4D signatures changed.
* Deprecated signatures *
- Function postgis_svn_version() replaced by postgis_lib_revision()
(Sandro Santilli)
- #4214, Deprecated ST_Count(tablename,...), ST_ApproxCount(tablename, ...)
ST_SummaryStats(tablename, ..),
ST_Histogram(tablename, ...), ST_ApproxHistogram(tablename, ...),
ST_Quantile(tablename, ...), ST_ApproxQuantile(tablename, ...) removed.
(Darafei Praliaskouski)
* New features*
- #4687, (GEOS 3.9+) MaximumInscribedCircle (Paul Ramsey)
- (GEOS 3.9+) Optional gridSize parameter to ST_Union, ST_UnaryUnion,
ST_Difference, ST_Intersection, ST_SymDifference, ST_Subdivide
for overlay with exact tolerance (Sandro Santilli)
- #4624, ST_HexagonGrid and ST_SquareGrid, set returning functions to
generate tilings of the plane (Paul Ramsey)
- #4624, ST_Hexagon and ST_Square, shape generators (Paul Ramsey)
- #4804, (GEOS 3.9+) ST_ReducePrecision allows valid precision reduction
(Paul Ramsey)
- #4710, ST_ClusterKMeans now works with 3D geometries (Darafei Praliaskouski)
- #4801, ST_ClusterKMeans supports weights in POINT[Z]M geometries
(Darafei Praliaskouski)
- #4805, _ST_SortableHash exposed to work around parallel soring performance issue
in Postgres. If your table is huge, use ORDER BY _ST_SortableHash(geom)
instead of ORDER BY geom to make parallel sort faster (Darafei Praliaskouski)
- #4625, Correlation statistics now calculated.
Run ANALYZE for BRIN indexes to start kicking in.
(Darafei Praliaskouski)
- #4698, Add a precision parameter to ST_AsEWKT (Raúl Marín)
* Enhancements *
- #4789, Sped up TopoJSON output for areal TopoGeometry with
many holes (Sandro Santilli)
- #4758, Improved topology noding robustness (Sandro Santilli)
- Make ST_Subdivide interruptable (Sandro Santilli)
- #4660, Changes in double / coordinate printing (Raúl Marín)
- Use the shortest representation (enough to guarantee roundtrip).
- Uses scientific notation for absolute numbers smaller than 1e-8.
The previous behaviour was to output 0 for absolute values smaller than
1e-12 and fixed notation for anything bigger than that.
- Uses scientific notation for absolute numbers greater than 1e+15
(same behaviour).
- The precision parameter now also affects the scientific notation
(before it was fixed [5-8]).
- All output functions now respect the requested precision (without
any limits).
- The default precision is the same (9 for GeoJSON, 15 for everything else).
- #4746, Micro optimizations to the serialization process (Raúl Marín)
- #4623, Optimize varlena returning functions (Raúl Marín)
- #4615, Speed up geojson output (Raúl Marín)
- #4737, Improve performance and reduce memory usage in ST_AsMVT, especially in
queries involving parallelism (Raúl Marín)
- #4719, Fail fast when srids don't match ST_Intersection(geometry,raster)
Also schema qualify calls in function. (Regina Obe)
- #4784, Add ST_CollectionExtract(geometry) with default behaviour of
extracting the components of highest coordinate dimension. (Paul Ramsey)
- #4675, topology.GetRingEdges now implemented in C (Sandro Santilli)
- #4672, Cache getSRSbySRID and getSRIDbySRS for better performance (Raúl Marín)
- #4676, #4657 Avoid decompressing toasted geometries to read only the header
(Raúl Marín)
- #4677, Share gserialized objects between different cache types (Raúl Marín)
- #4601, Add ST_TileEnvelope margin argument (Yuri Astrakhan)
- #2972, Add quiet mode (-q) to pgsql2shp (Kristian Thy)
- #3057, Optional value params for Force3D*, Force4D functions (Kristian Thy)
- #4569, Allow unknown SRID geometry insertion into typmod SRID column (Paul Ramsey)
- #4149, ST_Simplify(geom, 0) is now O(N).
ST_Affine (ST_Translate, ST_TransScale, ST_Rotate) optimized.
ST_SnapToGrid optimized. (Darafei Praliaskouski)
- #4656, Cast a geojson_text::geometry for implicit GeoJSON ingestion (Raúl Marín)
1.3.21
orm
[orm] [bug]
Added a comprehensive check and an informative error message for the case where a mapped class, or a string mapped class name, is passed to relationship.secondary. This is an extremely common error which warrants a clear message.
Additionally, added a new rule to the class registry resolution such that with regards to the relationship.secondary parameter, if a mapped class and its table are of the identical string name, the Table will be favored when resolving this parameter. In all other cases, the class continues to be favored if a class and table share the identical name.
[orm] [bug]
Fixed bug in Query.update() where objects in the _ormsession.Session that were already expired would be unnecessarily SELECTed individually when they were refreshed by the “evaluate”synchronize strategy.
[orm] [bug]
Fixed bug involving the restore_load_context option of ORM events such as InstanceEvents.load() such that the flag would not be carried along to subclasses which were mapped after the event handler were first established.
sql
[sql] [bug]
A warning is emmitted if a returning() method such as Insert.returning() is called multiple times, as this does not yet support additive operation. Version 1.4 will support additive operation for this. Additionally, any combination of the Insert.returning() and ValuesBase.return_defaults() methods now raises an error as these methods are mutually exclusive; previously the operation would fail silently.
[sql] [bug]
Fixed structural compiler issue where some constructs such as MySQL / PostgreSQL “on conflict / on duplicate key” would rely upon the state of the Compiler object being fixed against their statement as the top level statement, which would fail in cases where those statements are branched from a different context, such as a DDL construct linked to a SQL statement.
postgresql
[postgresql] [usecase]
Added new parameter ExcludeConstraint.ops to the ExcludeConstraint object, to support operator class specification with this constraint. Pull request courtesy Alon Menczer.
[postgresql] [bug] [mysql]
Fixed regression introduced in 1.3.2 for the PostgreSQL dialect, also copied out to the MySQL dialect’s feature in 1.3.18, where usage of a non Table construct such as text() as the argument to Select.with_for_update.of would fail to be accommodated correctly within the PostgreSQL or MySQL compilers.
mysql
[mysql] [bug] [reflection]
Fixed issue where reflecting a server default on MariaDB only that contained a decimal point in the value would fail to be reflected correctly, leading towards a reflected table that lacked any server default.
[mysql] [sql]
Added missing keywords to the RESERVED_WORDS list for the MySQL dialect: action, level, mode, status, text, time. Pull request courtesy Oscar Batori.
sqlite
[sqlite] [usecase]
Added sqlite_with_rowid=False dialect keyword to enable creating tables as CREATE TABLE … WITHOUT ROWID. Patch courtesy Sean Anderson.
mssql
[mssql] [bug]
Fixed bug where a CREATE INDEX statement was rendered incorrectly when both mssql-include and mssql_where were specified. Pull request courtesy @Adiorz.
[mssql] [bug]
Added SQL Server code “01000” to the list of disconnect codes.
[mssql] [reflection] [sqlite]
Fixed issue with composite primary key columns not being reported in the correct order. Patch courtesy @fulpm.
oracle
[oracle] [usecase]
Implemented support for the SERIALIZABLE isolation level for Oracle databases, as well as a real implementation for Connection.get_isolation_level().
2.23.0:
[CHANGE] UI: Make the React UI default.
[CHANGE] Remote write: The following metrics were removed/renamed in remote write.
prometheus_remote_storage_succeeded_samples_total was removed and prometheus_remote_storage_samples_total was introduced for all the samples attempted to send.
prometheus_remote_storage_sent_bytes_total was removed and replaced with prometheus_remote_storage_samples_bytes_total and prometheus_remote_storage_metadata_bytes_total.
prometheus_remote_storage_failed_samples_total -> prometheus_remote_storage_samples_failed_total .
prometheus_remote_storage_retried_samples_total -> prometheus_remote_storage_samples_retried_total.
prometheus_remote_storage_dropped_samples_total -> prometheus_remote_storage_samples_dropped_total.
prometheus_remote_storage_pending_samples -> prometheus_remote_storage_samples_pending.
[CHANGE] Remote: Do not collect non-initialized timestamp metrics.
[FEATURE] [EXPERIMENTAL] Remote write: Allow metric metadata to be propagated via remote write. The following new metrics were introduced: prometheus_remote_storage_metadata_total, prometheus_remote_storage_metadata_failed_total, prometheus_remote_storage_metadata_retried_total, prometheus_remote_storage_metadata_bytes_total.
[ENHANCEMENT] Remote write: Added a metric prometheus_remote_storage_max_samples_per_send for remote write.
[ENHANCEMENT] TSDB: Make the snapshot directory name always the same length.
[ENHANCEMENT] TSDB: Create a checkpoint only once at the end of all head compactions.
[ENHANCEMENT] TSDB: Avoid Series API from hitting the chunks.
[ENHANCEMENT] TSDB: Cache label name and last value when adding series during compactions making compactions faster.
[ENHANCEMENT] PromQL: Improved performance of Hash method making queries a bit faster.
[ENHANCEMENT] promtool: tsdb list now prints block sizes.
[ENHANCEMENT] promtool: Calculate mint and maxt per test avoiding unnecessary calculations.
[ENHANCEMENT] SD: Add filtering of services to Docker Swarm SD.
[BUGFIX] React UI: Fix button display when there are no panels.
[BUGFIX] PromQL: Fix timestamp() method for vector selector inside parenthesis.
[BUGFIX] PromQL: Don't include rendered expression on PromQL parse errors.
[BUGFIX] web: Fix panic with double close() of channel on calling /-/quit/.
[BUGFIX] TSDB: Fixed WAL corruption on partial writes within a page causing invalid checksum error on WAL replay.
[BUGFIX] Update config metrics prometheus_config_last_reload_successful and prometheus_config_last_reload_success_timestamp_seconds right after initial validation before starting TSDB.
[BUGFIX] promtool: Correctly detect duplicate label names in exposition.
Changes in Version 3.11.2
Issues Resolved
Version 3.11.2 includes a number of bugfixes. Highlights include:
Fixed a memory leak caused by failing SDAM monitor checks on Python 3 (PYTHON-2433).
Fixed a regression that changed the string representation of BulkWriteError (PYTHON-2438).
Fixed a bug that made it impossible to use bson.codec_options.CodecOptions.with_options() and with_options() on some early versions of Python 3.4 and Python 3.5 due to a bug in the standard library implementation of collections.namedtuple._asdict() (PYTHON-2440).
Fixed a bug that resulted in a TypeError exception when a PyOpenSSL socket was configured with a timeout of None (PYTHON-2443).
Changes in Version 3.11.1
Version 3.11.1 adds support for Python 3.9 and includes a number of bugfixes. Highlights include:
Support for Python 3.9.
Initial support for Azure and GCP KMS providers for client side field level encryption is in beta. See the docstring for MongoClient, AutoEncryptionOpts, and encryption. Note: Backwards-breaking changes may be made before the final release.
Fixed a bug where the bson.json_util.JSONOptions API did not match the bson.codec_options.CodecOptions API due to the absence of a bson.json_util.JSONOptions.with_options() method. This method has now been added.
Fixed a bug which made it impossible to serialize BulkWriteError instances using pickle.
Fixed a bug wherein PyMongo did not always discard an implicit session after encountering a network error.
Fixed a bug where connections created in the background were not authenticated.
Fixed a memory leak in the bson module when using a TypeRegistry.
Changes in Version 3.11.0
Version 3.11 adds support for MongoDB 4.4 and includes a number of bug fixes. Highlights include:
Support for OCSP (Online Certificate Status Protocol).
Support for PyOpenSSL as an alternative TLS implementation. PyOpenSSL is required for OCSP support. It will also be installed when using the “tls” extra if the version of Python in use is older than 2.7.9.
Support for the MONGODB-AWS authentication mechanism.
Support for the directConnection URI option and kwarg to MongoClient.
Support for speculative authentication attempts in connection handshakes which reduces the number of network roundtrips needed to authenticate new connections on MongoDB 4.4+.
Support for creating collections in multi-document transactions with create_collection() on MongoDB 4.4+.
Added index hinting support to the replace_one(), update_one(), update_many(), find_one_and_replace(), find_one_and_update(), delete_one(), delete_many(), and find_one_and_delete() commands.
Added index hinting support to the ReplaceOne, UpdateOne, UpdateMany, DeleteOne, and DeleteMany bulk operations.
Added support for bson.binary.UuidRepresentation.UNSPECIFIED and MongoClient(uuidRepresentation='unspecified') which will become the default UUID representation starting in PyMongo 4.0. See Handling UUID Data for details.
Added the background parameter to pymongo.database.Database.validate_collection(). For a description of this parameter see the MongoDB documentation for the validate command.
Added the allow_disk_use parameters to pymongo.collection.Collection.find().
Added the hedge parameter to PrimaryPreferred, Secondary, SecondaryPreferred, Nearest to support disabling (or explicitly enabling) hedged reads in MongoDB 4.4+.
Fixed a bug in change streams that could cause PyMongo to miss some change documents when resuming a stream that was started without a resume token and whose first batch did not contain any change documents.
Fixed an bug where using gevent.Timeout to timeout an operation could lead to a deadlock.
Deprecations:
Deprecated the oplog_replay parameter to pymongo.collection.Collection.find(). Starting in MongoDB 4.4, the server optimizes queries against the oplog collection without requiring the user to set this flag.
Deprecated pymongo.collection.Collection.reindex(). Use command() to run the reIndex command instead.
Deprecated pymongo.mongo_client.MongoClient.fsync(). Use command() to run the fsync command instead.
Deprecated pymongo.mongo_client.MongoClient.unlock(). Use command() to run the fsyncUnlock command instead. See the documentation for more information.
Deprecated pymongo.mongo_client.MongoClient.is_locked. Use command() to run the currentOp command instead. See the documentation for more information.
Unavoidable breaking changes:
GridFSBucket and GridFS do not support multi-document transactions. Running a GridFS operation in a transaction now always raises the following error: InvalidOperation: GridFS does not support multi-document transactions
repmgr 5.2.1 is a minor release.
A.1.1. Improvements
repmgr standby clone: option --recovery-min-apply-delay added, overriding any setting present in repmgr.conf.
A.1.2. Bug fixes
Configuration: fix parsing of replication_type configuration parameter.
repmgr standby clone: handle case where postgresql.auto.conf is absent on the source node.
repmgr standby clone: in PostgreSQL 11 and later, an existing data directory's permissions will not be changed to 0700 if they are already set to 0750.
repmgrd: prevent termination when local node not available and standby_disconnect_on_failover is set.
repmgrd: ensure reconnect_interval is correctly handled.
repmgr witness --help: fix witness unregister description.
Slony 2.2.10 now available
The next bug fix release in the 2.2.x series is now available. This release includes the following
* Remove unsupported warning with PG13
5.1.0 (2020-12-03)
==================
Features
--------
- Support ``GenericAliases`` (``MultiDict[str]``) for Python 3.9+
Bugfixes
--------
- Synchronize the declared supported Python versions in ``setup.py`` with actually supported and tested ones.
Slony 2.2.9 now available
The next bug fix release in the 2.2.x series is now available. This release includes the following
* fix slonik_build_env.pl so it works with PG11+
* Remove unsupported warning with PG12
* Fix compiler warnings with -fno-common
wal2json is an output plugin for logical decoding. It means that the plugin
have access to tuples produced by INSERT and UPDATE. Also, UPDATE/DELETE old
row versions can be accessed depending on the configured replica identity.
Changes can be consumed using the streaming protocol (logical replication
slots) or by a special SQL API.
4.2.11:
Issues fixed in 4.2.11:
SERVER-43664: Speedup WiredTiger storage engine startup for many tables by optimizing WiredTigerUtil::setTableLogging()
SERVER-45938: Allow matching O/OU/DC in client x509 cert if clusterMode:keyFile
SERVER-48523: Unconditionally check the first entry in the oplog when attempting to resume a change stream
SERVER-51120: Find queries with SORT_MERGE incorrectly sort the results when the collation is specified
WT-6507: Exit cache eviction worker after our operation has timed out
All JIRA issues closed in 4.2.11
4.2.10:
Issues fixed in 4.2.10:
SERVER-26726: Check number of arguments for createIndex() and throw error if more than two arguments
SERVER-31368: Log time spent waiting for other shards in merge cursors aggregation stage
SERVER-37422: Log balancer start and stop events in the actionlog
SERVER-40317: $facet execution has no limit on how much memory it can consume
SERVER-43233: Add ability to request only specific attribute(s) for the LDAP groups
SERVER-47469: applyOps does not take exclusive lock for views operation
SERVER-50463: Make PooledLDAPConnection::refresh take self-ownership
SERVER-51041: Throttle starting transactions for secondary reads
All JIRA issues closed in 4.2.10
4.2.9:
Issues fixed in 4.2.9:
SERVER-44051: getShardDistribution() does not report “Collection XYZ is not sharded” on dropped but previously sharded collections
SERVER-45610: Some reads work while system is RECOVERING
SERVER-47714: Secondary asserts on system.profile collection with WiredTigerRecordStore::insertRecord 95: Operation not supported
SERVER-48067: Reduce memory consumption for unique index builds with large numbers of non-unique keys
SERVER-49233: Introduce a flag to toggle the logic for bumping collection’s major version during split
WT-6480: Fix a bug where files without block modification information were repeatedly copied at each incremental backup
All JIRA issues closed in 4.2.9
4.2.8:
Issues fixed in 4.2.8:
SERVER-46897: REMOVED node may never send heartbeat to fetch newest config
SERVER-47799: AsyncRequestsSender should update replica set monitor in between retries for InterruptedAtShutdown
SERVER-47994: Fix for numerical overflow in GeoHash
SERVER-48307: 3 Transactions that write to exactly one shard and read from one or more other shards may incorrectly indicate failure on retry after successful commit
WT-6366: Off-by-one overflow in block-modification bitmaps for incremental backup
All JIRA issues closed in 4.2.8
mongo-c-driver 1.17.3
=====================
Bug fixes:
* Do not send session ID on GSSAPI auth commands.
* Fix build against zlib when zlib is installed in non-standard location.
* Fix build when source directory path contains a space.
* Fix a platform-specific bug causing mongoc_client_pool_pop to block indefinitely if all clients are checked out.
* Fix a possible buffer overflow with hostnames resolving to IPv6 addresses on OpenSSL.
mongo-c-driver 1.17.2
=====================
Bug fixes:
* Stop the SRV polling thread when an SRV URI is used to connect to a deployment other than a sharded cluster.
mongo-c-driver 1.17.1
=====================
Bug fixes:
* Fix SRV/TXT record lookup for DNS records exceeding 1024 bytes.
mongo-c-driver 1.17.0
=====================
This release adds support for MongoDB 4.4 servers.
Features:
* Support streamable server monitoring to reduce recovery time when the server topology changes.
* Support the MONGODB-AWS authentication mechanism.
* Support Online Certificate Status Protocol (OCSP).
* Support configuring hedged reads in read preferences.
* Reduce the number of round trips necessary for SCRAM and X509 authentication.
* Monitor servers in parallel when using a mongoc_client_pool_t instead of doing serial scans.
* Support the "hint" option in operations using the update, replace, delete, and findAndModify commands.
* Improve behavior for retryable writes.
* Improve resuming behavior of change streams on server errors.
* Remove restriction of 255 character collection namespaces.
Bug fixes:
* Fix criteria for resumable errors in change streams.
* Fix rare crashes when server is invalidated during authentication.
* Reject client session for mongoc_collection_estimated_document_count.
* Fix behavior of a SecondaryPreferred read preference for exhaust cursor operations against a sharded cluster. Prior to the fix, a nonzero maxStalenessSeconds would not trigger sending the read preference.
* Fix SRV polling. Prior to the fix, SRV polling did not properly apply newly discovered results.
* Fix checks for existing GridFS indexes to handle indexes created by the MongoDB shell.
* Fix possible use of invalidated streams during an unordered OP_QUERY bulk write, and when ending many pooled sessions at client destruction.
* Fix a crash when setting the crl_file TLS option for Secure Channel.
* Avoid emitting duplicate ServerChanged events when no change is observed during monitoring.
* Properly handle large SASL messages instead of erroring.
Notes:
* Deprecated "lib" prefixed artifacts are no longer produced when building on Windows.
SQLite Release 3.34.0
Added the sqlite3_txn_state() interface for reporting on the current transaction state of the database connection.
Enhance recursive common table expressions to support two or more recursive terms as is done by SQL Server, since this helps make queries against graphs easier to write and faster to execute.
Improved error messages on CHECK constraint failures.
CLI enhancements:
The .read dot-command now accepts a pipeline in addition to a filename.
Added options --data-only and --nosys to the .dump dot-command.
Added the --nosys option to the .schema dot-command.
Table name quoting works correctly for the .import dot-command.
The generate_series(START,END,STEP) table-valued function extension is now built into the CLI.
The .databases dot-command now show the status of each database file as determined by sqlite3_db_readonly() and sqlite3_txn_state().
Added the --tabs command-line option that sets .mode tabs.
The --init option reports an error if the file named as its argument cannot be opened. The --init option also now honors the --bail option.
Query planner improvements:
Improved estimates for the cost of running a DISTINCT operator.
When doing an UPDATE or DELETE using a multi-column index where only a few of the earlier columns of the index are useful for the index lookup, postpone doing the main table seek until after all WHERE clause constraints have been evaluated, in case those constraints can be covered by unused later terms of the index, thus avoiding unnecessary main table seeks.
The new OP_SeekScan opcode is used to improve performance of multi-column index look-ups when later columns are constrained by an IN operator.
The BEGIN IMMEDIATE and BEGIN EXCLUSIVE commands now work even if one or more attached database files are read-only.
Enhanced FTS5 to support trigram indexes.
Improved performance of WAL mode locking primitives in cases where there are hundreds of connections all accessing the same database file at once.
Enhanced the carray() table-valued function to include a single-argument form that is bound using the auxiliary sqlite3_carray_bind() interface.
The substr() SQL function can now also be called "substring()" for compatibility with SQL Server.
The syntax diagrams are now implemented as Pikchr scripts and rendered as SVG for improved legibility and ease of maintenance.
6.2.8:
* In Python 3.9, "find_unused_port" has been moved to
"test.support.socket_helper". Reported by Michał Górny.
* If we use "set_get_returns_none()" in the environment,
the value could not be correctly inherited by the child
databases. Reported by Patrick Laimbock and modern GCC
warnings.
* If you install this library under Python 3 >= 3.6, let
you know this is a legacy library and points you to
"berkeleydb" library.
Packaging changes: make bl3 refer to PGSQL_VERSION, not 12, reverting
an earlier change labeled "revbump" which does not make sense for such
a change.
Upstream changes: bugfixes