- This release fixes yet more errors present in the 4.0.5 fixes, that
could affect slaves. Moreover another critical issue in quicklists,
when they are used at a massive memory scale, was fixed in this
release. Upgrading from any 4.0.x release, especially if you are
running 4.0.4 or 4.0.5, is highly recommended.
=== 5.3.0 (2017-12-01)
* Add logger to Database instance before making first connection in bin/sequel (jeremyevans)
* Drop support for PostgreSQL <8.1 in Database#indexes (jeremyevans)
* Add synchronize_sql extension, for checking out a connection around SQL generation (KJTsanaktsidis, jeremyevans) (#1451)
* Deprecate Dataset#where calls with no existing filter, no argument, and where the virtual row block returns nil (jeremyevans) (#1454)
* Add DatasetModule#reverse for simpler use of descending orders (jeremyevans)
* Support WITH clauses in subqueries on SQLite, but not in UNION/INTERSECT/EXCEPT (jeremyevans)
* Hoist WITH clauses to INSERT statement level if INSERT subquery uses a CTE on MSSQL (jeremyevans)
* Respect indislive and ignore indcheckxmin index attributes when using Database#indexes on PostgreSQL (jeremyevans)
* Explicitly disallow use of server-side prepared statements when using Dataset#call in the jdbc/postgresql adapter (jeremyevans) (#1448)
* Support common table expressions, window functions, dropping CHECK constraints, and recognizing CURRENT_DATE defaults on MariaDB 10.2+ (jeremyevans)
* Make Database#reset_primary_key_sequence work on PostgreSQL 10+ (jeremyevans)
* Support :connect_sqls Database option for easily issuing sql commands on all new connections (jeremyevans)
* Support :extensions Database option for loading extensions when initializing, useful in connection strings (jeremyevans)
* Avoid warning if trying to rollback after a commit or rollback raises an exception in the postgres adapter (jeremyevans)
* Support Date::Infinity values in the pg_extended_date_support extension (jeremyevans)
Based on package provided by Matthieu Guegan in joyent/pkgsrc#49
repmgr is a suite of open-source tools to manage replication and failover
within a cluster of PostgreSQL servers. It enhances PostgreSQL's built-in
replication capabilities with utilities to set up standby servers, monitor
replication, and perform administrative tasks such as failover or
switchover operations.
with PHP 7.2
Changes since 1.1.8:
1.3.4 ** Bug
* [PHPC-1053] - UTCDateTime constructor reports that its single argument is required
1.3.3 ** Bug
* [PHPC-1045] - Segfault if username is not provided for SCRAM-SHA-1 authMechanism
* [PHPC-1046] - Do not specify $external as database name in tests
** Task
* [PHPC-1044] - Upgrade libbson and libmongoc to 1.8.2
1.3.2 ** Improvement
* [PHPC-1026] - Log warnings instead of throwing for unsupported BSON types
1.3.1 ** Bug
* [PHPC-1014] - config.m4 produces unterminated quoted string
1.3.0 ** Bug
* [PHPC-586] - Create regression tests for tailable cursor iteration
* [PHPC-624] - WriteResult::getUpsertedIds() only supports ObjectIDs and integers
* [PHPC-692] - Check for phongo_bson_to_zval_ex() failures in Server methods
* [PHPC-712] - Driver should validate BSON documents before insert and update
* [PHPC-875] - Allow compiling without SSL
* [PHPC-895] - Require 16-byte data length for Binary UUID subtypes 0x03 and 0x04
* [PHPC-914] - php mongodb connect 'SCRAM Failure: invalid salt length of 0 in sasl step2' exception
* [PHPC-939] - BSON classes should not assign public properties after var_dump()
* [PHPC-950] - Skip APM callbacks if subscriber HashTable is uninitialized
* [PHPC-951] - CursorId is a signed 64-bit integer
* [PHPC-964] - Ensure SASL output variables are always defined in config.m4
* [PHPC-974] - Converting JSON to BSON to PHP introduces gaps in array indexes
* [PHPC-981] - APM functions should reside in MongoDB\Driver\Monitoring namespace
* [PHPC-982] - Include null byte in key length when accessing subscriber HashTable in PHP 5
* [PHPC-983] - MongoDB\BSON\toPHP() arg info is missing type map parameter
* [PHPC-994] - Fix HAVE_SOCKLEN_T macro redefinition for Windows builds
* [PHPC-1005] - Ensure array symtable converts to object proptable in PHP 7.2
* [PHPC-1006] - Do not modify memory of Persistable::bsonSerialize() return value
** Epic
* [PHPC-909] - Spring cleaning for 1.3.0
** New Feature
* [PHPC-349] - Application Performance Monitoring (APM)
* [PHPC-382] - Allow zval_to_bson() to return the ID irrespective of ID generation
* [PHPC-471] - BulkWrite::insert() should always return the document's ID
* [PHPC-587] - CursorId should serialize to BSON as 64-bit integer
* [PHPC-772] - Parse authMechanism options in URI options array
* [PHPC-839] - Add option maxAwaitTimeMS on getMore commands
* [PHPC-926] - Implement Extended JSON spec
* [PHPC-976] - Create isDefault() method for read and write concerns
* [PHPC-985] - Implement Timestamp::getIncrement() and getTimestamp() methods
* [PHPC-988] - PHP 5.x segfault if TypeWrapper::createFromBSONType() throws exception
** Task
* [PHPC-302] - Throw exceptions for unsupported BSON types
* [PHPC-640] - Implement interfaces for userland BSON type classes
* [PHPC-765] - Connection string spec compliance
* [PHPC-892] - Upgrade libbson and libmongoc to 1.6.0
* [PHPC-907] - Remove PHONGO_API macro for exported symbols
* [PHPC-908] - Do not declare MINIT functions for each driver class
* [PHPC-910] - Reorganize BSON encoding and decoding sources
* [PHPC-911] - Prefix symbols and use static decls whenever possible
* [PHPC-915] - Document precedence of authMechanismProperties URI option over named GSSAPI options
* [PHPC-928] - Sync release files in PECL package generation script
* [PHPC-929] - Skip BSON corpus test for embedded null in code string
* [PHPC-932] - Remove reference to Manager on Cursor, Server, and WriteResult objects
* [PHPC-953] - Do not parse undocumented "database" key in URI options array
* [PHPC-957] - Use libmongoc constants for applicable URI options
* [PHPC-959] - Do not check for null return from mongoc_collection_find_with_opts()
* [PHPC-977] - Upgrade libbson and libmongoc to 1.7.0
* [PHPC-992] - Rename to[Canonical|Relaxed]JSON() to to[Canonical|Relaxed]ExtendedJSON()
* [PHPC-996] - Remove support for PHP 5.4
* [PHPC-997] - Update date/time handling code due to changes in timelib
* [PHPC-1004] - Rename ObjectID to ObjectId
* [PHPC-1007] - Upgrade libbson and libmongoc to 1.8.0
* [PHPC-1008] - Use SETUP_OPENSSL() in config.w32 if available
** Improvement
* [PHPC-579] - Throw exception for invalid BulkWrite::update() newObj argument
* [PHPC-628] - executeBulkWrite() should throw InvalidArgumentException for empty BulkWrite
* [PHPC-846] - Throw if maxStalenessSeconds URI option is out of range
* [PHPC-887] - Throw exceptions for unexpected types in URI options array
* [PHPC-904] - ReadPreference constructor should accept strings
* [PHPC-930] - Do not throw exceptions for critical and error levels in libmongoc log callback
* [PHPC-935] - Validate filter and options in Query constructor
* [PHPC-937] - Cursor::setTypeMap() and toPHP() should return early if type map is invalid
* [PHPC-941] - Introduce API for converting BSON to canonical and relaxed extended JSON
* [PHPC-942] - Use mongoc_uri_new_with_error() to improve URI error reporting
* [PHPC-944] - MONGOC_ERROR_COMMAND_INVALID_ARG should yield InvalidArgumentException
* [PHPC-1001] - Report field name for invalid UTF-8 and unsupported zval types during BSON encoding
1.2.11 ** Bug
* [PHPC-875] - Allow compiling without SSL
** Task
* [PHPC-1008] - Use SETUP_OPENSSL() in config.w32 if available
1.3.0RC1 ** Bug
* [PHPC-994] - Fix HAVE_SOCKLEN_T macro redefinition for Windows builds
* [PHPC-1005] - Ensure array symtable converts to object proptable in PHP 7.2
* [PHPC-1006] - Do not modify memory of Persistable::bsonSerialize() return value
** Task
* [PHPC-996] - Remove support for PHP 5.4
* [PHPC-997] - Update date/time handling code due to changes in timelib
* [PHPC-1004] - Rename ObjectID to ObjectId
* [PHPC-1007] - Upgrade libbson and libmongoc to 1.8.0
* [PHPC-1008] - Use SETUP_OPENSSL() in config.w32 if available
** Improvement
* [PHPC-1001] - Report field name for invalid UTF-8 and unsupported zval types during BSON encoding
1.2.10 ** Bug
* [PHPC-1005] - Ensure array symtable converts to object proptable in PHP 7.2
* [PHPC-1006] - Do not modify memory of Persistable::bsonSerialize() return value
** Task
* [PHPC-997] - Update date/time handling code due to changes in timelib
1.3.0beta1 ** Bug
* [PHPC-586] - Create regression tests for tailable cursor iteration
* [PHPC-624] - WriteResult::getUpsertedIds() only supports ObjectIDs and integers
* [PHPC-692] - Check for phongo_bson_to_zval_ex() failures in Server methods
* [PHPC-712] - Driver should validate BSON documents before insert and update
* [PHPC-875] - Allow compiling without SSL
* [PHPC-895] - Require 16-byte data length for Binary UUID subtypes 0x03 and 0x04
* [PHPC-914] - php mongodb connect 'SCRAM Failure: invalid salt length of 0 in sasl step2' exception
* [PHPC-939] - BSON classes should not assign public properties after var_dump()
* [PHPC-950] - Skip APM callbacks if subscriber HashTable is uninitialized
* [PHPC-951] - CursorId is a signed 64-bit integer
* [PHPC-964] - Ensure SASL output variables are always defined in config.m4
* [PHPC-974] - Converting JSON to BSON to PHP introduces gaps in array indexes
* [PHPC-981] - APM functions should reside in MongoDB\Driver\Monitoring namespace
* [PHPC-982] - Include null byte in key length when accessing subscriber HashTable in PHP 5
* [PHPC-983] - MongoDB\BSON\toPHP() arg info is missing type map parameter
** Epic
* [PHPC-909] - Spring cleaning for 1.3.0
** New Feature
* [PHPC-349] - Application Performance Monitoring (APM)
* [PHPC-382] - Allow zval_to_bson() to return the ID irrespective of ID generation
* [PHPC-471] - BulkWrite::insert() should always return the document's ID
* [PHPC-587] - CursorId should serialize to BSON as 64-bit integer
* [PHPC-772] - Parse authMechanism options in URI options array
* [PHPC-839] - Add option maxAwaitTimeMS on getMore commands
* [PHPC-926] - Implement Extended JSON spec
* [PHPC-976] - Create isDefault() method for read and write concerns
* [PHPC-985] - Implement Timestamp::getIncrement() and getTimestamp() methods
* [PHPC-988] - PHP 5.x segfault if TypeWrapper::createFromBSONType() throws exception
** Task
* [PHPC-302] - Throw exceptions for unsupported BSON types
* [PHPC-640] - Implement interfaces for userland BSON type classes
* [PHPC-765] - Connection string spec compliance
* [PHPC-892] - Upgrade libbson and libmongoc to 1.6.0
* [PHPC-907] - Remove PHONGO_API macro for exported symbols
* [PHPC-908] - Do not declare MINIT functions for each driver class
* [PHPC-910] - Reorganize BSON encoding and decoding sources
* [PHPC-911] - Prefix symbols and use static decls whenever possible
* [PHPC-915] - Document precedence of authMechanismProperties URI option over named GSSAPI options
* [PHPC-928] - Sync release files in PECL package generation script
* [PHPC-929] - Skip BSON corpus test for embedded null in code string
* [PHPC-932] - Remove reference to Manager on Cursor, Server, and WriteResult objects
* [PHPC-953] - Do not parse undocumented "database" key in URI options array
* [PHPC-957] - Use libmongoc constants for applicable URI options
* [PHPC-959] - Do not check for null return from mongoc_collection_find_with_opts()
* [PHPC-977] - Upgrade libbson and libmongoc to 1.7.0
* [PHPC-992] - Rename to[Canonical|Relaxed]JSON() to to[Canonical|Relaxed]ExtendedJSON()
** Improvement
* [PHPC-579] - Throw exception for invalid BulkWrite::update() newObj argument
* [PHPC-628] - executeBulkWrite() should throw InvalidArgumentException for empty BulkWrite
* [PHPC-846] - Throw if maxStalenessSeconds URI option is out of range
* [PHPC-887] - Throw exceptions for unexpected types in URI options array
* [PHPC-904] - ReadPreference constructor should accept strings
* [PHPC-930] - Do not throw exceptions for critical and error levels in libmongoc log callback
* [PHPC-935] - Validate filter and options in Query constructor
* [PHPC-937] - Cursor::setTypeMap() and toPHP() should return early if type map is invalid
* [PHPC-941] - Introduce API for converting BSON to canonical and relaxed extended JSON
* [PHPC-942] - Use mongoc_uri_new_with_error() to improve URI error reporting
* [PHPC-944] - MONGOC_ERROR_COMMAND_INVALID_ARG should yield InvalidArgumentException
1.2.9 ** Bug
* [PHPC-940] - php_phongo_free_ssl_opt() attempts to free interned strings
* [PHPC-948] - BSON encoding should throw on circular references
* [PHPC-949] - Memory leak if Serializable::bsonSerialize() returns keys with null bytes
1.2.8 ** Improvement
* [PHPC-936] - Define PHP_MONGODB_VERSION constant for Pickle compatibility
1.2.7 ** Bug
* [PHPC-500] - Resolve PHP 7 memory leaks
* [PHPC-931] - php_phongo_pclient_t is leaked during MSHUTDOWN
* [PHPC-933] - Unnecessary zend_string_release() in phongo_zval_to_bson() for PHP 7
** Task
* [PHPC-411] - Drop system.profile collection before tests
1.2.6 ** Bug
* [PHPC-901] - False slaveOk URI option should be ignored
* [PHPC-912] - Child processes should not destroy clients created by parent processes
* [PHPC-913] - Child process should not re-use mongoc_client_t objects from parent
* [PHPC-917] - localThresholdMS should default to 15 milliseconds
* [PHPC-923] - Use zend_string_release() to free class names
* [PHPC-924] - Cursor::setTypeMap() may unnecessarily convert first BSON document
** Task
* [PHPC-736] - Remove zend_str_tolower_dup() in ObjectID construction
* [PHPC-825] - Document URI options array for Manager constructor
* [PHPC-906] - Make test suite compatible with libbson/libmongoc 1.5.0 and 1.6.0
1.2.5 Fix Windows build scripts
1.2.4 ** Bug
* [PHPC-894] - BSON get_properties handlers leak during gc_possible_root() checks
* [PHPC-898] - readConcern option should not be included in getMore commands
** Task
* [PHPC-897] - Document that connections are initialized lazily
* [PHPC-899] - Remind users about BSON comparison behavior
1.2.3 ** Bug
* [PHPC-855] - Assertion failure in stream_not_found() after failed getmore operation
* [PHPC-856] - Build errors using bundled libbson and system libmongoc
* [PHPC-872] - Do not use system crypto policy for OpenSSL on Windows
* [PHPC-878] - php_json_serializable_ce missing in PHP versions before 5.5.10 and 5.4.26
* [PHPC-879] - php_date_get_immutable_ce missing in PHP versions before 5.6.8 and 5.5.24
* [PHPC-881] - Windows CA stores should be opened with read-only flag
* [PHPC-883] - BSON array keys should be disregarded during visitation
* [PHPC-884] - Public property with zero-length name ignored during BSON encoding
* [PHPC-885] - Alphabetize Regex flags when instantiating from BSON
* [PHPC-886] - Always recalculate field name length when encoding BSON
* [PHPC-891] - BSON encoding should throw if PHP keys contain null bytes
** Improvement
* [PHPC-635] - WriteResult debug handler should return objects
* [PHPC-873] - Do not allow mixing bundled and system libbson and libmongoc libraries
** Task
* [PHPC-633] - Add lines to phpinfo() output regarding support for SSL and SASL
* [PHPC-714] - Implement BSON corpus test suite
* [PHPC-890] - Add license header to source files
1.2.2 ** Bug
* [PHPC-849] - Cursor::setTypeMap() leaks current element if called during iteration
* [PHPC-851] - Segfault when ReadPreference tag sets are an immutable array
* [PHPC-852] - Do not depend on date and standard extensions in config.w32
* [PHPC-853] - config.w32 fails to generate all libmongoc and libbson version constants
* [PHPC-854] - Client persistence crashes with ZTS (e.g. Apache)
1.2.1 ** Bug
* [PHPC-848] - Fix BSON encoding of immutable arrays and documents with circular references
1.1.10 * PHPC-848: Consult ZEND_HASH_APPLY_PROTECTION() in PHP7
1.2.0 ** Bug
* [PHPC-316] - config.w32 should define MONGOC_ENABLE_SASL
* [PHPC-447] - Windows builds should generate libmongoc and libbson config and version files
* [PHPC-481] - Windows reports wrong mongoc and libbson versions
* [PHPC-520] - Document driver dependencies
* [PHPC-525] - Demonstrate non-empty $filter argument in Query constructor example
* [PHPC-530] - Document MongoDB\Driver\Server type constants
* [PHPC-554] - Rephrase unsupported/corrupt BSON messages
* [PHPC-625] - Document that persistent sockets should not be re-used after forking
* [PHPC-673] - Cursor::isDead() returns true despite cursor being alive
* [PHPC-674] - Advise users to install pkg-config for building the driver
* [PHPC-693] - Unacknowledged WriteResults have null counts
* [PHPC-728] - Wrong example on how to provide client certificate
* [PHPC-748] - CursorID is not properly expressed on 32-bit platforms
* [PHPC-756] - fromJSON() should not evaluate bson_error_t.message as boolean
* [PHPC-762] - undefined symbol: mongoc_write_concern_is_acknowledged
* [PHPC-788] - Timestamp on 32-bit platforms breaks
* [PHPC-790] - UTCDateTime constructor should truncate floats
* [PHPC-794] - BulkWrite::update() silently ignores invalid arguments
* [PHPC-801] - Empty ReadConcern and WriteConcern should serialize to BSON documents
* [PHPC-804] - Timestamp and UTCDateTime constructors should accept integers in strict types mode
* [PHPC-838] - Javascript objects are always serialized as BSON code types without scope
** Epic
* [PHPC-542] - Remove dependency on mongoc private symbols
** Improvement
* [PHPC-359] - Ensure read preference tags sets serialize as documents
* [PHPC-424] - Validate that read preference tag set is an array of documents
* [PHPC-433] - Persist topology state between requests
* [PHPC-486] - Add syntax highlighting to BSON persistence articles
* [PHPC-637] - Remind users that connection URIs should be encoded
* [PHPC-654] - Implement comparison handlers for BSON types
* [PHPC-676] - Do not allow BulkWrite objects to be executed multiple times
* [PHPC-684] - Report bypassDocumentValidation in BulkWrite debug output
* [PHPC-705] - Do not unnecessarily wrap filters in $query
* [PHPC-721] - Javascript constructor should throw if code contains null bytes
* [PHPC-724] - Regex constructor should throw if pattern or flags contain null bytes
* [PHPC-726] - Allow cross-platform serialization of Timestamp and UTCDateTime
* [PHPC-731] - Parse Timestamp argument as strings to accept large integers
* [PHPC-739] - Rename "javascript" to "code" in Javascript BSON class
* [PHPC-741] - Use consistent exceptions for BSON initialization methods
* [PHPC-742] - Regex constructor should default flags arg to empty string
* [PHPC-744] - Improve error messages for invalid Decimal128 and ObjectID strings
* [PHPC-746] - Default Manager URI to "mongodb://127.0.0.1/"
* [PHPC-754] - Remove libmongoc-priv system dependency in config.m4
* [PHPC-755] - Remove include of private mongoc-trace.h
** New Feature
* [PHPC-459] - BSON objects should implement JsonSerializable
* [PHPC-460] - BSON classes should support PHP serialization and var_export()
* [PHPC-498] - ReadPreference, ReadConcern, and WriteConcern should serialize to BSON
* [PHPC-536] - UTCDateTime constructor should default to current time and accept DateTimeInterface
* [PHPC-552] - Implement ObjectID::getTimestamp() method
* [PHPC-619] - Implement Decimal 128 type spec
* [PHPC-716] - Support new readConcern level "linearizable"
* [PHPC-729] - Implement __toString() method for Javascript and Binary
* [PHPC-730] - Implement getCode() and getScope() for Javascript
* [PHPC-734] - Support providing collation per operation
* [PHPC-752] - Allow users to set a limit on acceptable staleness
* [PHPC-757] - Implement The MongoDB Handshake Protocol
* [PHPC-786] - Support appname in URI array options
** Question
* [PHPC-723] - Blocking connect() leads to cumulative timeouts for multiple inaccessible servers
** Task
* [PHPC-313] - BSON should throw when encountering 64-bit integer on 32-bit platform
* [PHPC-416] - Document SSL options
* [PHPC-504] - Document how RP, RC, and WC are serialized to BSON
* [PHPC-533] - Remove PHONGO_API macro for exported functions
* [PHPC-584] - Remove MkDocs documentation in favor of PHP.net documentation
* [PHPC-600] - Manager::getServers() should use mongoc_client_get_server_descriptions()
* [PHPC-601] - Cursor::getServer() should not access mongoc_cursor_t.client
* [PHPC-602] - Create command cursors with mongoc_cursor_new_from_command_document()
* [PHPC-603] - Use mongoc_read_prefs_t getters instead of accessing struct fields directly
* [PHPC-604] - WriteConcern::getJournal() should use mongoc_write_concern_journal_is_set()
* [PHPC-605] - Rely on libmongoc's socket handling and SSL implementation
* [PHPC-606] - Use mongoc_server_description_t public API
* [PHPC-607] - Manager::selectServer() should use mongoc_client_select_server()
* [PHPC-609] - Ensure client URI handling uses libmongoc public API
* [PHPC-610] - Client construction should use mongoc_write_concern_is_valid()
* [PHPC-611] - WriteResult::isAcknowledged() should use mongoc_write_concern_is_acknowledged()
* [PHPC-618] - Implement SDAM Monitoring spec
* [PHPC-629] - Upgrade libbson and libmongoc to 1.4.0
* [PHPC-630] - Update bson_visitor_t for unsupported type function pointer
* [PHPC-653] - Document WriteResult, WriteConcernError, and WriteError classes
* [PHPC-659] - Update bson_visitor_t for decimal 128 type function pointer
* [PHPC-662] - Use mongoc_bulk_operation_get_hint()
* [PHPC-663] - Use mongoc_bulk_operation_get_write_concern()
* [PHPC-664] - Use mongoc_write_concern_get_w()
* [PHPC-665] - Remove private libmongoc and libbson header includes
* [PHPC-680] - BulkWrite::count() should return number of operations instead of estimated round-trips
* [PHPC-682] - Do not use mongoc_bulk_operation_t private API in BulkWrite debug handler
* [PHPC-687] - Consolidate struct definitions for PHP 5 and 7
* [PHPC-688] - Do not use mongoc_cursor_t private API in Cursor debug handler
* [PHPC-689] - Query and command execution should use mongoc_cursor_set_hint()
* [PHPC-703] - Update configure scripts for upstream SSL changes
* [PHPC-704] - Do not set "mongodb.debug" based on Manager's $driverOptions["debug"]
* [PHPC-708] - Port http://php.net/manual/en/mongo.security.php to the new docs/driver
* [PHPC-718] - Define extension dependencies
* [PHPC-751] - Document MongoDB\BSON\Decimal128
* [PHPC-758] - Disable Decimal128 for bundled libbson and libmongoc 1.4.0
* [PHPC-761] - Remove BSON_NAMESPACE constant
* [PHPC-769] - Javascript serialization, export, and dump should always include scope field
* [PHPC-777] - Document MongoDB\Driver\ReadConcern::LINEARIZABLE
* [PHPC-779] - Switch serialization from O type to C type
* [PHPC-780] - Document persistent connection behavior
* [PHPC-783] - Use mongoc_collection_find_with_opts() for Query execution
* [PHPC-789] - Remove __wakeup from BSON/* classes
* [PHPC-791] - Upgrade libbson and libmongoc to 1.5.0
* [PHPC-796] - Use flexible opts for BulkWrite update and delete
* [PHPC-799] - Create notice for all third party libraries
* [PHPC-805] - Query "partial" option is now "allowPartialResults"
* [PHPC-806] - Document Query options for mongoc_collection_find_with_opts()
* [PHPC-807] - Document "collation" option for Query and BulkWrite update/delete
* [PHPC-824] - SDAM spec update : Update the topology from each handshake
* [PHPC-826] - Document that socket paths must be URL-encoded
* [PHPC-827] - Update Max Staleness implementation
* [PHPC-829] - BSON Regex flags must be alphabetically ordered
1.1.9 * PHPC-820: Upgrade libbson and libmongoc to 1.3.6
* PHPC-820: Upgrade libbson and libmongoc to 1.3.6
1.2.0alpha3 ** Bug
* [PHPC-794] - BulkWrite::update() silently ignores invalid arguments
** Improvement
* [PHPC-424] - Validate that read preference tag set is an array of documents
* [PHPC-705] - Do not unnecessarily wrap filters in $query
** New Feature
* [PHPC-498] - ReadPreference, ReadConcern, and WriteConcern should serialize to BSON
* [PHPC-734] - Support providing collation per operation
* [PHPC-752] - Allow users to set a limit on acceptable staleness
** Task
* [PHPC-783] - Use mongoc_collection_find_with_opts() for Query execution
* [PHPC-796] - Use flexible opts for BulkWrite update and delete
1.2.0alpha2 ** Bug
* [PHPC-762] - undefined symbol: mongoc_write_concern_is_acknowledged
** Improvement
* [PHPC-433] - Persist topology state between requests
* [PHPC-726] - Allow cross-platform serialization of Timestamp and UTCDateTime
* [PHPC-731] - Parse Timestamp argument as strings to accept large integers
* [PHPC-742] - Regex constructor should default flags arg to empty string
* [PHPC-744] - Improve error messages for invalid Decimal128 and ObjectID strings
** New Feature
* [PHPC-552] - Implement ObjectID::getTimestamp() method
* [PHPC-716] - Support new readConcern level "linearizable"
* [PHPC-757] - Implement The MongoDB Handshake Protocol
* [PHPC-786] - Support appname in URI array options
** Task
* [PHPC-605] - Rely on libmongoc's socket handling and SSL implementation
* [PHPC-629] - Upgrade libbson and libmongoc to 1.4.0
* [PHPC-704] - Do not set "mongodb.debug" based on Manager's $driverOptions["debug"]
* [PHPC-761] - Remove BSON_NAMESPACE constant
* [PHPC-769] - Javascript serialization, export, and dump should always include scope field
* [PHPC-779] - Switch serialization from O type to C type
* [PHPC-789] - Remove __wakeup from BSON/* classes
1.2.0alpha1 ** Bug
* [PHPC-316] - config.w32 should define MONGOC_ENABLE_SASL
* [PHPC-447] - Windows builds should generate libmongoc and libbson config and version files
* [PHPC-481] - Windows reports wrong mongoc and libbson versions
* [PHPC-530] - Document MongoDB\Driver\Server type constants
* [PHPC-554] - Rephrase unsupported/corrupt BSON messages
* [PHPC-673] - Cursor::isDead() returns true despite cursor being alive
* [PHPC-693] - Unacknowledged WriteResults have null counts
* [PHPC-728] - Wrong example on how to provide client certificate
* [PHPC-748] - CursorID is not properly expressed on 32-bit platforms
** Improvement
* [PHPC-486] - Add syntax highlighting to BSON persistence articles
* [PHPC-684] - Report bypassDocumentValidation in BulkWrite debug output
* [PHPC-721] - Javascript constructor should throw if code contains null bytes
* [PHPC-724] - Regex constructor should throw if pattern or flags contain null bytes
* [PHPC-739] - Rename "javascript" to "code" in Javascript BSON class
* [PHPC-741] - Use consistent exceptions for BSON initialization methods
* [PHPC-746] - Default Manager URI to "mongodb://127.0.0.1/"
* [PHPC-754] - Remove libmongoc-priv system dependency in config.m4
* [PHPC-755] - Remove include of private mongoc-trace.h
** New Feature
* [PHPC-460] - BSON classes should support PHP serialization and var_export()
* [PHPC-536] - UTCDateTime constructor should default to current time and accept DateTimeInterface
* [PHPC-619] - Implement Decimal 128 type spec
* [PHPC-729] - Implement __toString() method for Javascript and Binary
* [PHPC-730] - Implement getCode() and getScope() for Javascript
** Task
* [PHPC-600] - Manager::getServers() should use mongoc_client_get_server_descriptions()
* [PHPC-601] - Cursor::getServer() should not access mongoc_cursor_t.client
* [PHPC-602] - Create command cursors with mongoc_cursor_new_from_command_document()
* [PHPC-603] - Use mongoc_read_prefs_t getters instead of accessing struct fields directly
* [PHPC-604] - WriteConcern::getJournal() should use mongoc_write_concern_journal_is_set()
* [PHPC-606] - Use mongoc_server_description_t public API
* [PHPC-607] - Manager::selectServer() should use mongoc_client_select_server()
* [PHPC-609] - Ensure client URI handling uses libmongoc public API
* [PHPC-610] - Client construction should use mongoc_write_concern_is_valid()
* [PHPC-611] - WriteResult::isAcknowledged() should use mongoc_write_concern_is_acknowledged()
* [PHPC-630] - Update bson_visitor_t for unsupported type function pointer
* [PHPC-659] - Update bson_visitor_t for decimal 128 type function pointer
* [PHPC-662] - Use mongoc_bulk_operation_get_hint()
* [PHPC-663] - Use mongoc_bulk_operation_get_write_concern()
* [PHPC-664] - Use mongoc_write_concern_get_w()
* [PHPC-665] - Remove private libmongoc and libbson header includes
* [PHPC-680] - BulkWrite::count() should return number of operations instead of estimated round-trips
* [PHPC-682] - Do not use mongoc_bulk_operation_t private API in BulkWrite debug handler
* [PHPC-687] - Consolidate struct definitions for PHP 5 and 7
* [PHPC-688] - Do not use mongoc_cursor_t private API in Cursor debug handler
* [PHPC-689] - Query and command execution should use mongoc_cursor_set_hint()
* [PHPC-703] - Update configure scripts for upstream SSL changes
* [PHPC-708] - Port http://php.net/manual/en/mongo.security.php to the new docs/driver
* [PHPC-758] - Disable Decimal128 for bundled libbson and libmongoc 1.4.0
0.11023 2017-12-05
* Fix error handling for Test::PostgreSQL 1.20
0.11022 2017-12-04
* Add support for monotonically increasing SQLite autoincs (GH#47)
* Add support for CHECK constraint in SQLite producer (GH#57)
* Add support for CHECK constraint in POD producer (GH#63)
* Fix forgotten quoting in the MySQL DROP TABLE diff producer (GH#50)
* Fix Pg grammar parsing of UUID, time, timetz columns (RT#100196, GH#52)
* Add support for USING and WHERE on indexes in PostgreSQL producer
and parser (RT#63814, GH#52)
* Improve add_trigger consistency between producers (GH#48)
* Add trigger 'scope' attribute support to JSON, YAML and XML producers,
and XML and SQLite parsers (RT#119997)
* Declare dependencies in deterministic order (RT#102859)
* Multiple speedups of naive internal debugging mechanism (GH#54)
* Remove dependency on List::MoreUtils ( http://is.gd/lmu_cac_debacle )
* Fix parsing of strings with leading whitespace for MySQL, Oracle, PostgreSQL,
SQLServer and SQLite
* Fix parsing of MySQL column comments (RT#83380)
* Fix multi-line comments in YAML, JSON and PostgreSQL producers
* Fix identifier quoting in PostgreSQL diff producer
* Fix incorrect type conversion from various BigInt AutoIncrement to the
PostgreSQL-specific bigserial (GH#72)
* Fix missing semicolons between PostGIS statements
* Fix string and identifier quoting in PostGIS statements
* Fix intermittent test failures (RT#108460)
* Fix relying on exact serialisation for JSON/YAML tests (RT#121901)
Upgrade urgency CRITICAL: Several PSYNC2 bugs can corrupt the slave
data set after a restart and a successful PSYNC2 handshake.
- Fix the "PSYNC after restart" problem.
- LFU fixes improve the ability of Redis to correctly estimate the
popularity of keys.
- Security fix related to loading a corrupted Cluster state from a
corrupted file.
- Other bugfixes.
Release 2.5.2:
* code-cleaning in setup.py
Modules/
* PyBytes_ instead of PyString_ and added PyInt_FromLong compat macro
* moved code from version.c to ldapmodule.c
* removed obsolete back-ward compability constants from common.h
* build checks whether LDAP_API_VERSION is OpenLDAP 2.4.x
* _ldap.__author__ and _ldap.__license__ also set from ldap.pkginfo
* assume C extension API for Python 2.7+
Lib/
* removed all dependencies on modules string and types
* removed use of .has_key()
* removed class ldap.ldapobject.NonblockingLDAPObject
* new global constant ldap.LIBLDAP_API_INFO
* right after importing _ldap there is a call into libldap to initialize it
* method .decodeControlValue() of SSSResponseControl and VLVResponseControl
does not set class attribute result_code anymore
* always use bytes() for UUID() constructor in ldap.syncrepl
* module ldif now uses functions b64encode() and b64decode()
* fixed pickling and restoring of ReconnectLDAPObject
* more modules with PEP-8 compliance
* ldap.ldapobject split into module-package
Tests/
* scripts do not directly call SlapdTestCase.setUpClass() anymore
* added LDIF test with folded, base64-encoded attribute
* added more tests for sub-module ldap.dn
* added tests for ldap.syncrepl
2.64, 2017-11-20 several small bugfixes and enhancements
BUG FIX
In dbroweval, the next row option previously did not correctly set up _last_fieldname. It now does.
ENHANCEMENT
The csv_to_db converter now has an optional -F x option to set the field separator.
ENHANCEMENT
Finally dbcolsplittocols has a --header option, and a new -N option to give the list of resulting output columns.
INCOMPATIBLE CHANGE
Now dbcolstats and dbmultistats produce no output (but a schema) when given no input but a schema. Previously they gave a null row of output. The --output-on-no-input and --no-output-on-no-input options can control this behavior.
- Remove option to bundle the Snappy compression library, it caused issues
for programs linking to libmongoc
- Fix pkg-config and CMake config file flags for programs that statically
link to libmongoc when libmongoc is statically linked to zLib
- The configure flag "--with-zlib=no" was ignored
- Fix crash in authentication when username is NULL
=== Breaking changes
Aggregations::
- Change parsing of numeric `to` and `from` parameters in `date_range`
aggregation
Aliases::
- Wrong behavior deleting alias
Allocation::
- Remove `cluster.routing.allocation.snapshot.relocation_enabled`
setting
Analysis::
- Do not allow custom analyzers to have the same names as built-in
analyzers
- Removing query-string parameters in `_analyze` API
CAT API::
- Write -1 on unbounded queue in cat thread pool
CRUD::
- Disallow `VersionType.FORCE` for GetRequest
- Disallow `VersionType.FORCE` versioning for 6.x indices
- If the index does not exist, delete document will not auto create it
Cluster::
- Disallow : in cluster and index/alias names
- No longer allow cluster name in data path
Core::
- Simplify file store
- Make boolean conversion strict
- Remove the `default` store type.
- Remove store throttling.
Geo::
- Remove deprecated geo search features
- Reduce GeoDistance Insanity
Highlighting::
- Remove the postings highlighter and make unified the default
highlighter choice
Index APIs::
- Remove (deprecated) support for '+' in index expressions
- Delete index API to work only against concrete indices
- Open/Close index api to allow_no_indices by default
- Remove support for controversial `ignore_unavailable` and
`allow_no_indices` from indices exists api
Index Templates::
- Allows multiple patterns to be specified for index templates
Indexed Scripts/Templates::
- Scripting: Remove search template actions
Ingest::
- update ingest-user-agent regexes.yml
- remove ingest.new_date_format
Inner Hits::
- Return the _source of inner hit nested as is without wrapping it
into its full path context
Java API::
- Enforce Content-Type requirement on the rest layer and remove
deprecated methods
Java REST Client::
- Remove deprecated created and found from index, delete and bulk
Mapping::
- Reject out of range numbers for float, double and half_float
- Enforce at most one type.
- Disallow `include_in_all` for 6.0+ indices
- Disable _all by default, disallow configuring _all on 6.0+ indices
- Throw an exception on unrecognized "match_mapping_type"
Network::
- Remove unused Netty-related settings
- Remove blocking TCP clients and servers
- Remove `modules/transport_netty_3` in favor of `netty_4`
- Remove LocalTransport in favor of MockTcpTransport
Packaging::
- Configure heap dump path out of the box
- Remove support for ES_INCLUDE
- Setup: Change default heap to 1G
- Use config directory to find jvm.options
- Remove implicit 32-bit support
- Remove default path settings
- Remove path.conf setting
- Honor masking of systemd-sysctl.service
- Rename CONF_DIR to ES_PATH_CONF
- Remove customization of ES_USER and ES_GROUP
Percolator::
- Remove deprecated percolate and mpercolate apis
Plugin Analysis ICU::
- Upgrade icu4j for the ICU analysis plugin to 59.1
- Upgrade icu4j to latest version
Plugin Delete By Query::
- Require explicit query in _delete_by_query API
Plugin Discovery Azure Classic::
- Remove `discovery.type` BWC layer from the EC2/Azure/GCE plugins
Plugin Discovery EC2::
- Ec2 Discovery: Cleanup deprecated settings
- Discovery EC2: Remove region setting
- AWS Plugins: Remove signer type setting
Plugin Lang JS::
- Remove lang-python and lang-javascript
Plugin Mapper Attachment::
- Remove mapper attachments plugin
Plugin Repository Azure::
- Remove global `repositories.azure` settings
- Remove auto creation of container for azure repository
Plugin Repository GCS::
- GCS Repository: Remove specifying credential file on disk
Plugin Repository S3::
- S3 Repository: Cleanup deprecated settings
- S3 Repository: Remove region setting
- S3 Repository: Remove bucket auto create
- S3 Repository: Remove env var and sysprop credentials support
- Remove deprecated S3 settings
Plugins::
- Make plugin loading stricter
Query DSL::
- Remove deprecated `type` and `slop` field in `match` query
- Remove several parse field deprecations in query builders
- Remove deprecated parameters from `ids_query`
- Refactor QueryStringQuery for 6.0
- Change `split_on_whitespace` default to false
- Remove deprecated template query
- Throw exception in scroll requests using `from`
- Remove deprecated `minimum_number_should_match` in BoolQueryBuilder
- Remove support for empty queries
- Remove deprecated query names: in, geo_bbox, mlt, fuzzy_match and
match_fuzzy
- The `terms` query should always map to a Lucene `TermsQuery`.
- Be strict when parsing values searching for booleans
- Remove collect payloads parameter
REST::
- IndexClosedException to return 400 rather than 403
- Remove comma-separated feature parsing for GetIndicesAction
- Improve REST error handling when endpoint does not support HTTP
verb, add OPTIONS support
- Remove ldjson support and document ndjson for bulk/msearch
- Enable strict duplicate checks for all XContent types
- Enable strict duplicate checks for JSON content
- Remove lenient stats parsing
- Remove allow unquoted JSON
- Remove FORCE version_type
Scripting::
- remove lang url parameter from stored script requests
- Disallow lang to be used with Stored Scripts
- Remove Deprecated Script Settings
- Scripting: Remove native scripts
- Scripting: Remove file scripts
- Make dates be ReadableDateTimes in scripts
- Remove groovy scripting language
- Remove script access to term statistics
Search::
- Make `index` in TermsLookup mandatory
- Removes FieldStats API
- Remove deprecated fielddata_fields from search request
- Removes deprecated fielddata_fields
- ProfileResult and CollectorResult should print machine readable
timing information
- Remove indices query
- Remove ignored type parameter in search_shards api
Sequence IDs::
- Change certain replica failures not to fail the replica shard
Settings::
- Settings: Remove shared setting property
- Settings: Remove support for yaml and json config files
Shadow Replicas::
- Remove shadow replicas
Similarities::
- Similarity should accept dynamic settings when possible
=== Breaking Java changes
Aggregations::
- Remove the unused SignificantTerms.compareTerm() method
- Make SignificantTerms.Bucket an interface rather than an abstract
class
- Fix NPE when `values` is omitted on percentile_ranks agg
- Make Terms.Bucket an interface rather than an abstract class
- Compound order for histogram aggregations
Internal::
- Collapses package structure for some bucket aggs
Java API::
- Remove deprecated IdsQueryBuilder ctor
- Removing unneeded getTookInMillis method
- Java api: ActionRequestBuilder#execute to return a PlainActionFuture
Java High Level REST Client::
- Unify the result interfaces from get and search in Java client
- Allow RestHighLevelClient to use plugins
Java REST Client::
- Rename client artifacts
Network::
- Simplify TransportAddress
Plugin Delete By Query::
- Move DeleteByQuery and Reindex requests into core
Plugins::
- Drop name from TokenizerFactory
Query DSL::
- Remove QueryParseContext
- Remove QueryParseContext from parsing QueryBuilders
REST::
- Return index name and empty map for `/{index}/_alias` with no
aliases
=== Deprecations
Index APIs::
- Deprecated use of + in index expressions
Index Templates::
- Restore deprecation warning for invalid match_mapping_type values
Indexed Scripts/Templates::
- Scripting: Deprecate stored search template apis
Internal::
- Deprecate XContentType auto detection methods in XContentFactory
Percolator::
- Deprecate percolate query's document_type parameter.
Plugins::
- Plugins: Add backcompat for sha1 checksums
Scripting::
- Scripting: Change keys for inline/stored scripts to source/id
- Scripting: Deprecate native scripts
- Scripting: Deprecate index lookup
- Deprecate Fine Grain Settings for Scripts
- Scripting: Deprecate file script settings
- Scripting: Deprecate file scripts
Settings::
- Settings: Update settings deprecation from yml to yaml
- Deprecate settings in .yml and .json
Tribe Node::
- Deprecate tribe service
=== New features
Aggregations::
- SignificantText aggregation - like significant_terms, but for text
Analysis::
- Expose simplepattern and simplepatternsplit tokenizers
- Parse synonyms with the same analysis chain
Core::
- Enable index-time sorting
Internal::
- Automatically adjust search threadpool queue_size
Mapping::
- Add new ip_range field type
Parent/Child::
- Move parent_id query to the parent-join module
- Introduce ParentJoinFieldMapper, a field mapper that creates
parent/child relation within documents of the same index
Plugin Analysis ICU::
- Add ICUCollationFieldMapper
Search::
- Automatically early terminate search query based on index sorting
Sequence IDs::
- Add a scheduled translog retention check
- Initialize sequence numbers on a shrunken index
- Initialize primary term for shrunk indices
- Introduce translog size and age based retention policies
Stats::
- Adds nodes usage API to monitor usages of actions
Task Manager::
- Task Management
Upgrade API::
- TemplateUpgraders should be called during rolling restart
=== Enhancements
Aggregations::
- Add strict parsing of aggregation ranges
- Adds rewrite phase to aggregations
- Tweak AggregatorBase.addRequestCircuitBreakerBytes
- Add superset size to Significant Term REST response
- Add document count to Matrix Stats aggregation response
- Adds an implementation of LogLogBeta for the cardinality aggregation
- Support distance units in GeoHashGrid aggregation precision
- Reject multiple methods in `percentiles` aggregation
- Use `global_ordinals_hash` execution mode when sorting by sub
aggregations.
- Add a specialized deferring collector for terms aggregator
- Agg builder accessibility fixes
- Remove support for the include/pattern syntax.
- Promote longs to doubles when a terms agg mixes decimal and
non-decimal numbers
Allocation::
- Adjust status on bad allocation explain requests
- Promote replica on the highest version node
Analysis::
- [Analysis] Support normalizer in request param
- Enforce validation for PathHierarchy tokenizer
- [analysis-icu] Allow setting unicodeSetFilter
- Match- and MultiMatchQueryBuilder should only allow setting analyzer
on string values
Bulk::
- Simplify bulk request execution
CAT API::
- expand `/_cat/nodes` to return information about hard drive
CRUD::
- Added validation for upsert request
Circuit Breakers::
- ScriptService: Replace max compilation per minute setting with max
compilation rate
Cluster::
- Validate a joining node's version with version of existing cluster
nodes
- Switch indices read-only if a node runs out of disk space
- Add a cluster block that allows to delete indices that are read-only
- Separate publishing from applying cluster states
- Adds cluster state size to /_cluster/state response
Core::
- Allow `InputStreamStreamInput` array size validation where
applicable
- Refactor bootstrap check results and error messages
- Add BootstrapContext to expose settings and recovered state to
bootstrap checks
- Unit testable index creation task on MetaDataCreateIndexService
- Ignore .DS_Store files on macOS
- Add max file size bootstrap check
- Add compatibility versions to main action response
- Index ids in binary form.
- Explicitly reject duplicate data paths
- Use SPI in High Level Rest Client to load XContent parsers
- Upgrade to lucene-7.0.0-snapshot-a0aef2f
- Speed up PK lookups at index time.
- Use Java 9 FilePermission model
- Add friendlier message on bad keystore permissions
- Epoch millis and second formats accept float implicitly
- Remove connect SocketPermissions from core
- Add repository-url module and move URLRepository
- Remove accept SocketPermissions from core
- Move IfConfig.logIfNecessary call into bootstrap
- Remove artificial default processors limit
- Simplify write failure handling
- Improve bootstrap checks error messages
Discovery::
- Allow plugins to validate cluster-state on join
Engine::
- Add refresh stats tracking for realtime get
- Introducing a translog deletion policy
- Fill missing sequence IDs up to max sequence ID when recovering from
store
- Use sequence numbers to identify out of order delivery in replicas &
recovery
- Add replica ops with version conflict to translog
- Clarify global checkpoint recovery
- Move the IndexDeletionPolicy to be engine internal
Exceptions::
- IllegalStateException: Only duplicated jar instead of classpath
Highlighting::
- Picks offset source for the unified highlighter directly from the es
mapping
Index APIs::
- Let primary own its replication group
- Create index request should return the index name
Index Templates::
- Fix error message for a put index template request without
index_patterns
Ingest::
- Add Ingest-Processor specific Rest Endpoints & Add Grok endpoint
- Port support for commercial GeoIP2 databases from Logstash.
- add `exclude_keys` option to KeyValueProcessor
- Allow removing multiple fields in ingest processor
- Add target_field parameter to ingest processors
Inner Hits::
- Reuse inner hit query weight
Internal::
- TemplateUpgradeService should only run on the master
- Cleanup IndexFieldData visibility
- Bump the min compat version to 5.6.0
- "shard started" should show index and shard ID
- Break out clear scroll logic from TransportClearScrollAction
- Add helper methods to TransportActionProxy to identify proxy actions
and requests
- Add remote cluster infrastructure to fetch discovery nodes.
- Add the ability to set eager_global_ordinals in the new parent-join
field
- Disallow multiple parent-join fields per mapping
- Remove the need for _UNRELEASED suffix in versions
- Optimize the order of bytes in uuids for better compression.
- Prevent cluster internal `ClusterState.Custom` impls to leak to a
client
- Use holder pattern for lazy deprecation loggers
- Allow `ClusterState.Custom` to be created on initial cluster states
- Try to convince the JVM not to lose stacktraces
- Make document write requests immutable
- Add assertions enabled helper
Java API::
- Always Accumulate Transport Exceptions
Java High Level REST Client::
- [DOCS] restructure java clients docs pages
- Use SPI in High Level Rest Client to load XContent parsers
- Add support for clear scroll to high level REST client
- Add search scroll method to high level REST client
- Add search method to high level REST client
- Make RestHighLevelClient Closeable and simplify its creation
- Add info method to High Level Rest client
- Add support for named xcontent parsers to high level REST client
- Add BulkRequest support to High Level Rest client
- Add UpdateRequest support to High Level Rest client
- Add delete API to the High Level Rest Client
- Add Index API to High Level Rest Client
- Add get/exists method to RestHighLevelClient
- Add fromxcontent methods to delete response
- Add REST high level client gradle submodule and first simple method
- Add doc_count to ParsedMatrixStats
- Add fromXContent method to ClearScrollResponse
- ClearScrollRequest to implement ToXContentObject
- SearchScrollRequest to implement ToXContentObject
- Add aggs parsers for high level REST Client
Java REST Client::
- Shade external dependencies in the rest client jar
- RestClient uses system properties and system default SSLContext
- Wrap rest httpclient with doPrivileged blocks
Logging::
- Prevent excessive disk consumption by log files
- Use LRU set to reduce repeat deprecation messages
Mapping::
- More efficient encoding of range fields.
- Don't detect source's XContentType in DocumentParser.parseDocument()
- Better validation of `copy_to`.
- Optimize `terms` queries on `ip` addresses to use a
`PointInSetQuery` whenever possible.
- Loosen the restrictions on disabling _all in 6.x
- Date detection should not rely on a hardcoded set of characters.
- Identify documents by their `_id`.
Network::
- Add additional low-level logging handler
- Unwrap causes when maybe dying
- Move TransportStats accounting into TcpTransport
- Simplify connection closing and cleanups in TcpTransport
- Disable the Netty recycler in the client
- Remove Netty logging hack
- Isolate SocketPermissions to Netty
- Wrap netty accept/connect ops with doPrivileged
- Replace Socket, ServerSocket, and HttpServer usages in tests with
mocksocket versions
Packaging::
- Remove memlock suggestion from systemd service
- Set address space limit in systemd service file
- Version option should display if snapshot
- Ignore JVM options before checking Java version
- Also skip JAVA_TOOL_OPTIONS on Windows
- Introduce elasticsearch-env for Windows
- Introduce elasticsearch-env
- Stop exporting HOSTNAME from scripts
- Set number of processes in systemd unit file
Parent/Child::
- Remove ParentJoinFieldSubFetchPhase
- Support parent id being specified as number in the _source
Percolator::
- Store the QueryBuilder's Writable representation instead of its
XContent representation
- Add support for selecting percolator query candidate matches
containing wildcard / prefix queries
Plugin Discovery EC2::
- Read ec2 discovery address from aws instance tags
Plugin Lang Painless::
- Allow Custom Whitelists in Painless
- Update Painless to Allow Augmentation from Any Class
- Add Needs Methods to Painless Script Context Factories
- Support Script Context Stateful Factory in Painless
- Generate Painless Factory for Creating Script Instances
- Update Painless to Use New Script Contexts
- Optimize instance creation in LambdaBootstrap
- Make Painless Compiler Use an Instance Per Context
- Make PainlessScript An Interface
Plugin Repository GCS::
- GCS Repository: Add secure storage of credentials
Plugin Repository HDFS::
- Add permission checks before reading from HDFS stream
- Add doPrivilege blocks for socket connect ops in repository-hdfs
- Add Kerberos support for Repo HDFS plugin
Plugin Repository S3::
- S3 Repository: Add back repository level credentials
Plugins::
- Adjust SHA-512 supported format on plugin install
- Move tribe to a module
- Plugins can register pre-configured char filters
- Add purge option to remove plugin CLI
- Allow plugins to register pre-configured tokenizers
- Move ReindexAction class to core
- Make PreConfiguredTokenFilter harder to misuse
- Plugins: Remove leniency for missing plugins dir
- Add doPrivilege blocks for socket connect operations in plugins
Query DSL::
- Make slop optional when parsing `span_near` query
- Require a field when a `seed` is provided to the `random_score`
function.
- Add support for auto_generate_synonyms_phrase_query in match_query,
multi_match_query, query_string and simple_query_string
REST::
- Cat shards bytes
- Refactor PathTrie and RestController to use a single trie for all
methods
- Make ObjectParser support string to boolean conversion
Recovery::
- Introduce a History UUID as a requirement for ops based recovery
- Goodbye, Translog Views
- Disallow multiple concurrent recovery attempts for same target shard
- Live primary-replica resync (no rollback)
- Peer Recovery: remove maxUnsafeAutoIdTimestamp hand off
- Introduce sequence-number-based recovery
Scripting::
- Scripting: Rename SearchScript.needsScores to needs_score
- Scripting: Add optional context parameter to put stored script
requests
- Add New Security Script Settings
- Add StatefulFactoryType as optional intermediate factory in script
contexts
- Make contexts available to ScriptEngine construction
- Make ScriptEngine.compile generic on the script context
- Add instance and compiled classes to script contexts
Search::
- Add soft limit on allowed number of script fields in request
- Add a soft limit for the number of requested doc-value fields
- Rewrite search requests on the coordinating nodes
- Ensure query resources are fetched asynchronously during rewrite
- Introduce a new Rewriteable interface to streamline rewriting
- Reduce the scope of `QueryRewriteContext`
- Reduce the overhead of timeouts and low-level search cancellation.
- Reduce profiling overhead.
- Prevent `can_match` requests from sending to incompatible nodes
- Add a shard filter search phase to pre-filter shards based on query
rewriting
- Ensure we rewrite common queries to `match_none` if possible
- Limit the number of concurrent shard requests per search request
- Add cluster name validation to RemoteClusterConnection
- Speed up sorted scroll when the index sort matches the search sort
- Leverage scorerSupplier when applicable.
- Add Cross Cluster Search support for scroll searches
- Track EWMA[1] of task execution time in search threadpool executor
- Query range fields by doc values when they are expected to be more
efficient than points
- Search: Fairer balancing when routing searches by session ID
- Add parsing from xContent to Suggest
- Add parsing from xContent to ShardSearchFailure
- Eliminate array access in tight loops when profiling is enabled.
- Support Multiple Inner Hits on a Field Collapse Request
- Expand cross cluster search indices for search requests to the
concrete index or to it's aliases
Search Templates::
- Add max concurrent searches to multi template search
Sequence IDs::
- Roll translog generation on primary promotion
- Restoring from snapshot should force generation of a new history
uuid
- Add global checkpoint tracking on the primary
- Introduce global checkpoint background sync
- Move `UNASSIGNED_SEQ_NO` and `NO_OPS_PERFORMED` to SequenceNumbers`
- Move primary term from ReplicationRequest to ConcreteShardRequest
- Add reason to global checkpoint updates on replica
- Introduce primary/replica mode for GlobalCheckPointTracker
- Throw back replica local checkpoint on new primary
- Update global checkpoint when increasing primary term on replica
- Enable a long translog retention policy by default
- Introduce primary context
- Block older operations on primary term transition
- Block global checkpoint advances when recovering
- Add primary term to doc write response
- Preserve multiple translog generations
- Introduce translog generation rolling
- Replicate write failures
- Introduce sequence-number-aware translog
- Introduce translog no-op
- Tighten sequence numbers recovery
- Add BWC layer to seq no infra and enable BWC tests
- Add internal _primary_term doc values field, fix _seq_no indexing
- Add global checkpoint to translog checkpoints
- Sequence numbers commit data for Lucene uses Iterable interface
- Simplify GlobalCheckpointService and properly hook it for cluster
state updates
- Fill gaps on primary promotion
- Introduce clean transition on primary promotion
- Guarantee that translog generations are seqNo conflict free
- Inline global checkpoints
Settings::
- Add disk threshold settings validation
- Enable cross-setting validation
- Validate `transport.profiles.*` settings
- Cleanup network / transport related settings
- Emit settings deprecation logging at most once
- IndexMetaData: Introduce internal format index setting
- Persist created keystore on startup unless keystore is present
- Settings: Add keystore.seed auto generated secure setting
- Settings: Add keystore creation to add commands
Snapshot/Restore::
- Fixed references to Multi Index Syntax
- Improves snapshot logging and snapshot deletion error handling
- Enhances get snapshots API to allow retrieving repository index only
Stats::
- Update `IndexShard#refreshMetric` via a
`ReferenceManager.RefreshListener`
- Expose disk usage estimates in nodes stats
Store::
- Remote support for lucene versions without checksums
Suggesters::
- Remove deprecated _suggest endpoint
Task Manager::
- Add descriptions to bulk tasks
Translog::
- Translog file recovery should not rely on lucene commits
=== Bug fixes
Aggregations::
- Do not delegate a null scorer to LeafBucketCollectors
- Create weights lazily in filter and filters aggregation
- Fix IndexOutOfBoundsException in histograms for NaN doubles (#26787)
- Scripted_metric _agg parameter disappears if params are provided
- Fixes array out of bounds for value count agg
- Aggregations bug: Significant_text fails on arrays of text.
- Check bucket metric ages point to a multi bucket agg
- Terms aggregation should remap global ordinal buckets when a
sub-aggregator is used to sort the terms
- Correctly set doc_count when MovAvg "predicts" values on existing
buckets
- DateHistogram: Fix `extended_bounds` with `offset`
- Fix ArrayIndexOutOfBoundsException when no ranges are specified in
the query
Aliases::
- mget with an alias shouldn't ignore alias routing
- GET aliases should 404 if aliases are missing
Allocation::
- Fix DiskThresholdMonitor flood warning
- Allow wildcards for shard IP filtering
Analysis::
- Pre-configured shingle filter should disable graph analysis
- PatternAnalyzer should lowercase wildcard queries when `lowercase`
is true.
CAT API::
- Fix NPE for /_cat/indices when no primary shard
CRUD::
- Serialize and expose timeout of acknowledged requests in REST layer
- Fix silent loss of last command to _bulk and _msearch due to missing
newline
Cache::
- Reduce the default number of cached queries.
- fix bug of weight computation
Circuit Breakers::
- Checks the circuit breaker before allocating bytes for a new big
array
Cluster::
- Register setting `cluster.indices.tombstones.size`
Core::
- Correctly encode warning headers
- Fix cache compute if absent for expired entries
- Timed runnable should delegate to abstract runnable
- Stop invoking non-existent syscall
- MetaData Builder doesn't properly prevent an alias with the same
name as an index
- Release operation permit on thread-pool rejection
- Node should start up despite of a lingering `.es_temp_file`
- Fix cache expire after access
Dates::
- Fix typo in date format
Discovery::
- MasterNodeChangePredicate should use the node instance to detect
master change
Engine::
- Die with dignity while merging
- Engine - do not index operations with seq# lower than the local
checkpoint into lucene
Geo::
- Fix typo in GeoUtils#isValidLongitude
Highlighting::
- Fix percolator highlight sub fetch phase to not highlight query
twice
- FastVectorHighlighter should not cache the field query globally
- Higlighters: Fix MultiPhrasePrefixQuery rewriting
- Fix nested query highlighting
Index APIs::
- Shrink API should ignore templates
- Rollover max docs should only count primaries
- Validates updated settings on closed indices
Ingest::
- date processor should not fail if timestamp is specified as json
number
- date_index_name processor should not fail if timestamp is specified
as json number
- Sort Processor does not have proper behavior with targetField
- fix grok's pattern parsing to validate pattern names in expression
- Remove support for Visio and potm files
- Fix floating-point error when DateProcessor parses UNIX
- add option for _ingest.timestamp to use new ZonedDateTime (5.x
backport)
Inner Hits::
- Do not allow inner hits that fetch _source and have a non nested
object field as parent
- When fetching nested inner hits only access stored fields when
needed
- If size / offset are out of bounds just do a plain count
- Fix Source filtering in new field collapsing feature
Internal::
- Bump version to 6.0.1
- `IndexShard.routingEntry` should only be updated once all internal
state is ready
- Catch exceptions and inform handler in
RemoteClusterConnection#collectNodes
- Internal: Add versionless alias for rest client codebase in policy
files
- Upgrade Lucene to version 7.0.1
- Fix BytesReferenceStreamInput#skip with offset
- Fix race condition in RemoteClusterConnection node supplier
- Initialise empty lists in BaseTaskResponse constructor
- Extract a common base class for scroll executions
- Obey lock order if working with store to get metadata snapshots
- Fix Version based BWC and set correct minCompatVersion
- Fix `_field_caps` serialization in order to support cross cluster
search
- Avoid race when shutting down controller processes
- Fix handling of document failure exception in InternalEngine
- Ensure remote cluster is connected before fetching `_field_caps`
Java API::
- BulkProcessor flush runnable preserves the thread context from
creation time
Java High Level REST Client::
- Make RestHighLevelClient's Request class public
- Forbid direct usage of ContentType.create() methods
- Make ShardSearchTarget optional when parsing ShardSearchFailure
Java REST Client::
- Better message text for ResponseException
- rest-client-sniffer: configurable threadfactory
Logging::
- Allow not configure logging without config
Mapping::
- Allow copying from a field to another field that belongs to the same
nested object.
- Fixed bug that mapper_parsing_exception is thrown for numeric field
with ignore_malformed=true when inserting "NaN"
- Coerce decimal strings for whole number types by truncating the
decimal part
- Fix parsing of ip range queries.
- Disable date field mapping changing
- Correctly enable _all for older 5.x indices
- token_count datatype should handle null value
- keep _parent field while updating child type mapping
- ICUCollationKeywordFieldMapper use SortedSetDocValuesField
- Fix serialization of the `_all` field.
More Like This::
- Pass over _routing value with more_like_this items to be retrieved
NOT CLASSIFIED::
- DocumentMissingException during Logstash scripted upsert
- An assertion trips when master opens an index from before 5.x
Nested Docs::
- In case of a single type the _id field should be added to the nested
document instead of _uid field
- Inner hits source filtering not working
Network::
- Fixed ByteBuf leaking in
org.elasticsearch.http.netty4.Netty4HttpRequestHandler
- Check for closed connection while opening
- Ensure pending transport handlers are invoked for all channel
failures
- Notify onConnectionClosed rather than onNodeDisconnect to prune
transport handlers
- Release pipelined http responses on close
- Fix error message if an incompatible node connects
Packaging::
- Fix handling of Windows paths containing parentheses
- Exit Windows scripts promptly on failure
- Pass config path as a system property
- ES_HOME needs to be made absolute before attempt at traversal
- Fix elasticsearch-keystore handling of path.conf
- Stop disabling explicit GC
- Avoid failing install if system-sysctl is masked
- Get short path name for native controllers
- When stopping via systemd only kill the JVM, not its control group
- remove remaining references to scripts directory
- Handle parentheses in batch file path
- Detect modified keystore on package removal
- Create keystore on RPM and Debian package install
- Add safer empty variable checking for Windows
- Export HOSTNAME environment variable
- Fix daemonization command status test
- Set RuntimeDirectory in systemd service
Parent/Child::
- The default _parent field should not try to load global ordinals
Percolator::
- Also support query extraction for queries wrapped inside a
ESToParentBlockJoinQuery
- Fix range queries with date range based on current time in
percolator queries.
Plugin Analysis Kuromoji::
- Fix kuromoji default stoptags
Plugin Analysis Phonetic::
- Fix beidermorse phonetic token filter for unspecified `languageset`
Plugin Discovery File::
- Fix discovery-file plugin to use custom config path
Plugin Ingest Attachment::
- Add missing mime4j library
Plugin Lang Painless::
- Painless: allow doubles to be casted to longs.
Plugin Repository Azure::
- Azure snapshots can not be restored anymore
- Snapshot : azure module - accelerate the listing of files (used in
delete snapshot)
- Use Azure upload method instead of our own implementation
- Make calls to CloudBlobContainer#exists privileged
Plugin Repository GCS::
- Ensure that gcs client creation is privileged
Plugin Repository HDFS::
- Add Log4j to SLF4J binding for repository-hdfs
- Upgrading HDFS Repository Plugin to use HDFS 2.8.1 Client
Plugin Repository S3::
- Avoid SecurityException in repository-S3 on
DefaultS3OutputStream.flush()
- Wrap getCredentials() in a doPrivileged() block
Plugins::
- X-Pack plugin download fails on Windows desktop
- Fix plugin installation permissions
Query DSL::
- Fixed incomplete JSON body on count request making
org.elasticsearch.rest.action.RestActions#parseTopLevelQueryBuilder
go into endless loop
- SpanNearQueryBuilder should return the inner clause when a single
clause is provided
- Refactor field expansion for match, multi_match and query_string
query
- WrapperQueryBuilder should also rewrite the parsed query
REST::
- Rest test fixes
- Fix inconsistencies in the rest api specs for cat.snapshots
- Fix inconsistencies in the rest api specs for *_script
- exists template needs a template name
- Fix handling of invalid error trace parameter
- Fix handling of exceptions thrown on HEAD requests
- Fixed NPEs caused by requests without content.
- Fix get mappings HEAD requests
Recovery::
- Close translog view after primary-replica resync
Reindex API::
- Fix update_by_query's default size parameter
- Reindex: don't duplicate _source parameter
- Add qa module that tests reindex-from-remote against pre-5.0
versions of Elasticsearch
Scroll::
- Fix single shard scroll within a cluster with nodes in version `>=
5.3` and `<= 5.3`
Search::
- Fail query when a sort is provided in conjunction with rescorers
- Let search phases override max concurrent requests
- Avoid stack overflow on search phases
- Fix search_after with geo distance sorting
- Fix serialization errors when cross cluster search goes to a single
shard
- Early termination with index sorting should not set terminated_early
in the response
- Format doc values fields.
- Fix term(s) query for range field
- Caching a MinDocQuery can lead to wrong results.
- Fix random score generation when no seed is provided.
- Merge FunctionScoreQuery and FiltersFunctionScoreQuery
- Respect cluster alias in `_index` aggs and queries
- First increment shard stats before notifying and potentially sending
response
- Remove assertion about deviation when casting to a float.
- Prevent skipping shards if a suggest builder is present
- Ensure remote cluster alias is preserved in inner hits aggs
- Do not search locally if remote index pattern resolves to no indices
- Adds check for negative search request size
- Make sure range queries are correctly profiled.
- Fix RangeFieldMapper rangeQuery to properly handle relations
- Fix ExpandSearchPhase when response contains no hits
- Refactor simple_query_string to handle text part like multi_match
and query_string
- Fix `_exists_` in query_string on empty indices.
- Fix script field sort returning Double.MAX_VALUE for all documents
- Compute the took time of the query after the expand phase of field
collapsing
Sequence IDs::
- Fire global checkpoint sync under system context
- Fix pre-6.0 response to unknown replication actions
- Track local checkpoint on primary immediately
- Initialize max unsafe auto ID timestamp on shrink
- Use correct primary term for replicating NOOPs
- Handle already closed while filling gaps
- TranslogWriter.assertNoSeqNumberConflict failure
- Avoid losing ops in file-based recovery
- Handle primary failure handling replica response
Settings::
- Emit settings deprecation logging on empty update
- Fix filtering for ListSetting
- Fix settings serialization to not serialize secure settings or not
take the total size into account
- Keystore CLI should use the AddFileKeyStoreCommand for files
- Allow resetting settings that use an IP validator
- Updating an unrecognized setting should error out with that reason
- Settings: Fix setting groups to include secure settings
Similarities::
- Add boolean similarity to built in similarity types
Snapshot/Restore::
- Snapshot/Restore: better handle incorrect chunk_size settings in FS
repo
- Snapshot/Restore: Ensure that shard failure reasons are correctly
stored in CS
- Output all empty snapshot info fields if in verbose mode
- Remove redundant and broken MD5 checksum from repository-s3
- Consolidates the logic for cleaning up snapshots on master election
- Removes completed snapshot from cluster state on master change
- Keep snapshot restore state and routing table in sync
- Master failover during snapshotting could leave the snapshot
incomplete
- Fix inefficient (worst case exponential) loading of snapshot
repository
Stats::
- Fix RestGetAction name typo
- Keep cumulative elapsed scroll time in microseconds
- _nodes/stats should not fail due to concurrent
AlreadyClosedException
- Avoid double decrement on current query counter
- Adjust available and free bytes to be non-negative on huge FSes
Suggesters::
- Fix division by zero in phrase suggester that causes assertion to
fail
- Context suggester should filter doc values field
- Fix context suggester to read values from keyword type field
Templates::
- Tests: Fix FullClusterRestartIT.testSnapshotRestore test failing in
6.x
Translog::
- Fix Translog.Delete serialization for sequence numbers
Upgrade API::
- Upgrade API: fix excessive logging and unnecessary template updates
=== Regressions
Bulk::
- Only re-parse operation if a mapping update was needed
Highlighting::
- Fix Fast Vector Highlighter NPE on match phrase prefix
Search::
- Always use DisjunctionMaxQuery to build cross fields disjunction
Sequence IDs::
- Indexing performance degradation in 6.0.0-beta1
=== Upgrades
Core::
- Upgrade to Lucene 7.0.0
Logging::
- Upgrade to Log4j 2.9.1
Network::
- Upgrade to Netty 4.1.13.Final
Plugin Ingest Attachment::
- Update to Tika 1.14
Upgrade API::
- Improve stability and logging of TemplateUpgradeServiceIT tests
Features
- Send keyspace in QUERY, PREPARE, and BATCH messages
- Add IPv4Address/IPv6Address support for inet types
- WriteType.CDC and VIEW missing
- Warn on Cluster init if contact points are specified but LBP isn't
- Include hash of result set metadata in prepared stmt id
- Add NO_COMPACT startup option
- Add new exception type for CDC
Bug Fixes
- Both _set_final_exception/result called for the same ResponseFuture
- Use of DCAwareRoundRobinPolicy raises NoHostAvailable exception
- Not create two sessions by default in CQLEngine
- Bug when subclassing AyncoreConnection
- Error at cleanup when closing the asyncore connections
- Fix sites where sessions can change during iteration
- cqlengine: allow min_length=0 for Ascii and Text column types
- Rare exception when "sys.exit(0)" after query timeouts
- Dont set the session keyspace when preparing statements
- Use of DCAwareRoundRobinPolicy raises NoHostAvailable exception
Other
- Remove DeprecationWarning when using WhiteListRoundRobinPolicy
- Bump Cython dependency version to 0.27
Changes since 2.4.45:
Mandatory prerequisites:
- Python 2.7.x
- pyasn1 0.3.7+ and pyasn1_modules 0.1.5+
Modules/
* removed unused code schema.c
Lib/
* ldap.__version__, ldap.__author__ and ldap.__license__ now
imported from new sub-module ldap.pkginfo also to setup.py
* Added safety assertion when importing _ldap:
ldap.pkginfo.__version__ must match _ldap.__version__
* removed stand-alone module dsml
* slapdtest.SlapdObject.restart() just restarts slapd
without cleaning any data
* Compability changes for pyasn1 0.3.x or newer
(thanks to Ilya Etingof and Christian Heimes)
* The methods SSSResponseControl.decodeControlValue() and
VLVResponseControl.decodeControlValue() now follow the coding
convention to use camel-cased ASN.1 name as class attribute name.
The old class names are still set for back-ward compability
but should not be used in new code because they might be removed
in a later release.
* removed SSSRequestControl from ldap.controls.KNOWN_RESPONSE_CONTROLS
Tests/
* added explicit reconnect tests for ReconnectLDAPObject
2.4:
security fix in the rebind() method of the Connection object (thanks Daniel)
fix for Sasl credentials in Python 3 (thanks Busuwe)
fixed bug when checking for equality in MockBase
added validator parameter to Server object for custom validators
attribute values are now validated in add/compare/modify operations in the Connection object
Python types can now be used in add/compare/modify operations
compatible with the pyasn1 library from version 0.1.8 up to latest (0.3.3 for now) version
fixed compatibility with Twisted on Windows on Python 2.7 (thanks Pmisik)
fixed paged_search behaviour in Reader object
fixed regression in MockBase (thanks Markus)
fixed invalid filter sequence in MockBase (thanks SignedBit)
added compatibility with Cython (thanks Pedro)
fixed auto_encode check in validate_attribute_value for unknown attrs (thanks CFelder)
don’t encode response_value as extended_response_to_dict expects a decoded value (thanks Matthias)
compatible with the pyasn1 library from version 0.1.8 up to latest (0.3.7 for now) version
added LDAPObjectDereferenceError exception
LDAPObjectDereferenceError is raised when an object tries to dereference itself in the Abstraction Layer (thanks Daniele)
async module renamed to asynchronous for compatibility with Python 3.7 (thank Barry)
long integer are properly checked in mocking strategies (thanks gregn610)
NUMERIC_TYPES includes long for Python 2
The PostgreSQL Global Development Group has released an update to all supported versions of our database system, including 10.1, 9.6.6, 9.5.10, 9.4.15, 9.3.20, and 9.2.24. This release fixes three security issues. This release also fixes issues found in BRIN indexing, logical replication and other bugs reported over the past three months.
All users using the affected versions of PostgreSQL should update as soon as possible. If you use BRIN indexes or contrib/start-scripts, please see the release notes for additional post-upgrade steps.
Security Issues
Three security vulnerabilities have been fixed by this release:
CVE-2017-12172: Start scripts permit database administrator to modify root-owned files
CVE-2017-15098: Memory disclosure in JSON functions
CVE-2017-15099: INSERT ... ON CONFLICT DO UPDATE fails to enforce SELECT privileges
Bug Fixes and Improvements
This update also fixes a number of bugs reported in the last few months. Some of these issues affect only version 10, but many affect all supported versions:
Fix a race condition in BRIN indexing that could cause some rows to not be included in the indexing.
Fix crash when logical decoding is invoked from a PL language function.
Several fixes for logical replication.
Restored behavior for CTEs attached to INSERT/UPDATE/DELETE statements to pre-version 10.
Prevent low-probability crash in processing of nested trigger firings.
Do not evaluate an aggregate function's argument expressions when the conditions in the FILTER clause evaluate to FALSE. This complies with SQL-standard behavior.
Fix incorrect query results when multiple GROUPING SETS columns contain the same simple variable.
Fix memory leak over the lifespan of a query when evaluating a set-returning function from the target list in a SELECT.
Several fixes for parallel query execution, including fixing a crash in the parallel execution of certain queries that contain a certain type of bitmap scan.
Fix json_build_array(), json_build_object(), jsonb_build_array(), and jsonb_build_object() to handle explicit VARIADIC arguments correctly.
Prevent infinite float values from being casted to the numeric type.
Fix autovacuum's “work item” logic to prevent possible crashes and silent loss of work items.
Several fixes for VIEWs around adding columns to the end of a view.
Fix for hashability detection of range data types that are created by a user.
Improvements on using extended statistics on columns for the purposes of query planning.
Prevent idle_in_transaction_session_timeout from being ignored when a statement_timeout occurred earlier.
Fix low-probability loss of NOTIFY messages due more than 2 billion transactions processing before any queries are executed in the session.
Several file system interaction fixes.
Correctly restore the umask setting when file creation fails in COPY or lo_export().
Fix pg_dump to ensure that it emits GRANT commands in a valid order.
Fix pg_basebackup's matching of tablespace paths to canonicalize both paths before comparing to help improve Windows compatibility.
Fix libpq to not require user's home directory to exist when trying to read the "~/.pgpass" file.
Several fixes for ecpg.
couchdb 2.1.1
- CouchDB now supports compilation and running under Erlang/OTP 20.x
- The couch_peruser functionality is now really fixed
- The cookie domain for AuthSession cookies, used in a proxy
authentication configuration, can now be customized via the ini file
- It is now possible to modify shard maps for system databases
- Due to an Erlang bug (ERL-343), invalid paths can be returned if
volumes are mounted containing whitespace in their name (fixed)
- The current node's local interface can now be accessed at
/_node/_local/{endpoint} as well as at
/_node/<nodename>@<hostname>/{endpoint}.- The Dockerfile in the source
repository has been retired
- Fauxton now uses a version of React with a BSD license.
- CouchDB now no longer decompresses documents just to determine their
uncompressed size
- The design document cache (ddoc_cache) has been rewritten to improve
performance
- Mango now supports partial indexes
- Mango queries can now be paginated
- Mango _find accepts an execution_stats parameter
- Mango now requires that all of the fields in a candidate index must
exist in a query's selector
- Other minor improvements.
couchdb 2.1.0
- The Mango _find endpoint supports a new combination operator,
$allMatch.
- New scheduling replicator.
- Other minor improvements.
See changelog for the 2.1.x branch for more:
http://docs.couchdb.org/en/latest/whatsnew/2.1.html
## 2.1.0
* Support RubyInstaller2 for Windows. Fixes#365.
* Support the FREETDS_DIR environment variable. Fixes#371.
* Rename binstubs to tsql-ttds and defncopy-ttds
* Support separate timeout values per connection Fixes#348.
* Allow client proc to capture INFO messages. Fixes#352.
* Use official HTTP mirrors instead of FTP. Fixes#384.
=== 5.2.0 (2017-10-27)
* Fix type conversion for smallint unsigned and integer unsigned types on
jdbc/mysql (jeremyevans) (#1443)
* Add pg_extended_date_support extension, for handling infinite and BC
dates/timestamps (jeremyevans)
* Do not ignore existing @dataset instance variable when subclassing
Sequel::Model (bjmllr) (#1435)
=== 5.1.0 (2017-10-01)
* Make jdbc/h2 and jdbc/hsqldb adapters respect :foreign_key_constraint_name
option when adding new foreign key column (jeremyevans)
* Do not issue unnecessary query for macaddr type oid when loading the pg_inet
extension (jeltz) (#1423)
* Make alter_table add_foreign_key with a column symbol reversible when using
the :foreign_key_constraint_name option (jeremyevans) (#1422)
* Do not raise an error if calling Model.freeze on a frozen model
(jeremyevans) (#1421)
* Make Database#copy_into in the jdbc/postgresql adapter handle multi-byte
strings (ckoenig) (#1416)
* Remove deprecated Model use_after_commit_rollback class and instance methods
(jeremyevans)
* Remove deprecated Model.allowed_columns method in the base model support
(jeremyevans)
* Remove deprecated Model.plugin_module_defined? private method (jeremyevans)
* Remove deprecated support for Model#_before_validation private method
(jeremyevans)
Release 3.21.0:
Take advantage of the atomic-write capabilities in the F2FS filesystem when available, for greatly reduced transaction overhead. This currently requires the SQLITE_ENABLE_BATCH_ATOMIC_WRITE compile-time option.
Allow ATTACH and DETACH commands to work inside of a transaction.
Allow WITHOUT ROWID virtual tables to be writable if the PRIMARY KEY contains exactly one column.
The "fsync()" that occurs after the header is written in a WAL reset now uses the sync settings for checkpoints. This means it will use a "fullfsync" on macs if PRAGMA checkpoint_fullfsync set on.
The sqlite3_sourceid() function tries to detect if the source code has been modified from what is checked into version control and if there are modifications, the last four characters of the version hash are shown as "alt1" or "alt2". The objective is to detect accidental and/or careless edits. A forger can subvert this feature.
Improved de-quoting of column names for CREATE TABLE AS statements with an aggregate query on the right-hand side.
Fewer "stat()" system calls issued by the unix VFS.
Enhanced the LIKE optimization so that it works with an ESCAPE clause.
Enhanced PRAGMA integrity_check and PRAGMA quick_check to detect obscure row corruption that they were formerly missing. Also update both pragmas so that they return error text rather than SQLITE_CORRUPT when encountering corruption in records.
The query planner now prefers to implement FROM-clause subqueries using co-routines rather using the query flattener optimization. Support for the use of co-routines for subqueries may no longer be disabled.
Pass information about !=, IS, IS NOT, NOT NULL, and IS NULL constraints into the xBestIndex method of virtual tables.
Enhanced the CSV virtual table so that it accepts the last row of input if the final new-line character is missing.
Remove the rarely-used "scratch" memory allocator. Replace it with the SQLITE_CONFIG_SMALL_MALLOC configuration setting that gives SQLite a hint that large memory allocations should be avoided when possible.
Added the swarm virtual table to the existing union virtual table extension.
Added the sqlite_dbpage virtual table for providing direct access to pages of the database file. The source code is built into the amalgamation and is activated using the -DSQLITE_ENABLE_DBPAGE_VTAB compile-time option.
Add a new type of fts5vocab virtual table - "instance" - that provides direct access to an FTS5 full-text index at the lowest possible level.
Remove a call to rand_s() in the Windows VFS since it was causing problems in Firefox on some older laptops.
The src/shell.c source code to the command-line shell is no longer under version control. That file is now generated as part of the build process.
Miscellaneous microoptimizations reduce CPU usage by about 2.1%.
Bug fixes
Major enhancements in PostgreSQL 10 include:
Logical replication using publish/subscribe
Declarative table partitioning
Improved query parallelism
Significant general performance improvements
Stronger password authentication based on SCRAM-SHA-256
Improved monitoring and control
The above items are explained in more detail in the sections below.
Changes in MySQL 5.7.20:
Audit Log Notes
Event-matching filter rules for the audit_log plugin now support an abort element, which can be used to prevent qualifying events from executing. For more information, see Audit Log Filtering. This capability can be used, for example, to augment the capabilities of MySQL Enterprise Firewall, which blocks SQL statements on a per-user basis, by writing audit filtering rules that match statements and block them based on characteristics of the statements themselves.
Deprecation and Removal Notes
Previously, the --transaction-isolation and --transaction-read-only server startup options corresponded to the tx_isolation and tx_read_only system variables. For better name correspondence between startup option and system variable names, transaction_isolation and transaction_read_only have been created as aliases for tx_isolation and tx_read_only. The tx_isolation and tx_read_only variables are now deprecated and will be removed in MySQL 8.0. Applications should be adjusted to use transaction_isolation and transaction_read_only instead.
The query cache is now deprecated and is removed in MySQL 8.0. Deprecation includes these items:
* The FLUSH QUERY CACHE and RESET QUERY CACHE statements.
* The SQL_CACHE and SQL_NO_CACHE SELECT modifiers.
* These system variables: have_query_cache, ndb_cache_check_time, query_cache_limit, query_cache_min_res_unit, query_cache_size, query_cache_type, query_cache_wlock_invalidate.
* These status variables: Qcache_free_blocks, Qcache_free_memory, Qcache_hits, Qcache_inserts, Qcache_lowmem_prunes, Qcache_not_cached, Qcache_queries_in_cache, Qcache_total_blocks.
The mysql client by default strips comments in statements sent to the server, and this behavior is controlled using --skip-comments (strip comments), and --comments (preserve comments).
Comment stripping is now deprecated. This feature and the options to control it will be removed in a future MySQL release.
These syntax constructs for table and column references are now deprecated and will be removed in a future version of MySQL. Instances of these constructs should be changed to remove the leading period.
* .col_name
* .tbl_name
* .tbl_name.col_name
Security Notes
Certificates automatically generated by mysqld and mysql_ssl_rsa_setup now use X509 v3 rather than v1.
The keyring_okv plugin now supports password-protecting the key file used for secure connections. See Using the keyring_okv KMIP Plugin.
Bugs Fixed
Changes in MySQL 5.6.38:
Packaging Notes
---------------
mysqlcheck was missing in the MySQL Server Docker image, which prevented mysql_upgrade from running.
Bugs Fixed
----------
InnoDB: Replication lag occurred on slave instances during large update operations on tables with many partitions.
InnoDB: A failure occurred during an end range comparison.
InnoDB: Enabling the innodb_buffer_pool_load_now setting failed in readonly mode. The event that signals the buffer pool load thread was not initialized.
InnoDB: A long wait for a dictionary operation lock held by a full-text search synchronization operation caused a server exit.
Partitioning: Queries involving NULL were not always handled correctly on tables that were partitioned by LIST.
Replication: When replicating a partitioned table with an index, on a replication slave where HASH_SCAN was specified as part of the slave_rows_search_algorithms setting, the slave I/O thread sometimes stopped with an error HA_ERR_KEY_NOT_FOUND.
Replication: Replication clients no longer enable LOCAL capability for LOAD DATA statements, because they do not use LOAD DATA LOCAL statements.
Replication: In case of a failure while creating multiple slave applier worker threads, some threads would be left orphaned and their resources would not be collected. Thanks to Laurynas Biveinis for his contribution to fixing this bug.
MSI packages for Windows failed to detect when Microsoft Visual C++ 2010 Redistributable Package was installed.
yaSSL could incorrectly perform TLS cipher negotiation.
The server failed to check the maximum path length for partition names.
Identifiers containing a mixture of backslashes and backticks could be parsed incorrectly.
Source packages for Debian platforms contained prebuilt debug binaries, causing build failures on any architectures other than the one on which those binaries were built.
Uninstalling the daemon_memcached plugin caused a serious error.
Selecting from a view could yield different results with materialization enabled versus materialization disabled.
The Performance Schema failed to check the maximum host length for client connections.
A server error occurred when a full text search result exceeded the innodb_ft_result_cache_limit setting. The patch for this bug also backports a related patch.
If a stored function was considered a constant by the optimizer, calling it from a subquery in a NOT IN condition in the WHERE clause could cause a server exit.
A mysqldump memory leak was fixed.
If a session rolled back to a savepoint and then was killed, the statements up to the point of the savepoint could be committed.
For clients that used Connector/Python and authenticated using the sha256_password plugin, the server could handle connections incorrectly.
NAME_CONST() can return null if incorrect arguments are given. In some cases, this was not handled and could cause a server exit.
Changes in MySQL 5.5.58:
Packaging Notes
---------------
mysqlcheck was missing in the MySQL Server Docker image, which prevented mysql_upgrade from running.
Bugs Fixed
----------
Replication: Replication clients no longer enable LOCAL capability for LOAD DATA statements, because they do not use LOAD DATA LOCAL statements.
yaSSL could incorrectly perform TLS cipher negotiation.
The server failed to check the maximum path length for partition names.
Identifiers containing a mixture of backslashes and backticks could be parsed incorrectly.
NAME_CONST() can return null if incorrect arguments are given. In some cases, this was not handled and could cause a server exit.
v0.13.0
Backwards Incompatible Changes
------------------------------
Drop support for PostgreSQL 9.1
Remove the deprecated "binary" parameter from Connection.set_type_codec()
New Features
------------
Add support for PostgreSQL 10
Bug Fixes
---------
Document that single fetches can return None
Fix type introspection being very slow on large databases
Fix copy tests on PostgreSQL < 9.4
Fix DeprecationWarning in tests
Fix intermittent authentication failures against PostgreSQL 10 servers
Do not attempt to connect to Unix sockets on Windows when host is not set
Guard against incorrect use of resources associated with a connection
Warn when there are active listeners on a connection that is released
Add a test for cursors on a standby replica.
Clarify the argument/parameter count mismatch exception
Fix TypeError on get_attributes when result has no columns
protocol: Use try-finally explicitly every time we create a waiter
Call correct parent constructor in InterfaceWarning.__init__
Allow grabbing the version information programmatically.
Use the general statement cache for type introspection
Fix issues with inet type I/O
Handle inactive connection closes while stored in the pool
0.9.6
feature
[feature] [commands] The alembic history command will now make use of the revision environment env.py unconditionally if the revision_environment configuration flag is set to True. Previously, the environment would only be invoked if the history specification were against a database-stored revision token.
bug
[bug] [commands] Fixed a few Python3.6 deprecation warnings by replacing StopIteration with return, as well as using getfullargspec() instead of getargspec() under Python 3.
[bug] [commands] An addition to 441 fixed in 0.9.5, we forgot to also filter for the + sign in migration names which also breaks due to the relative migrations feature.
[bug] [autogenerate] Fixed bug expanding upon the fix for 85 which adds the correct module import to the “inner” type for an ARRAY type, the fix now accommodates for the generic sqlalchemy.types.ARRAY type added in SQLAlchemy 1.1, rendering the inner type correctly regardless of whether or not the Postgresql dialect is present.
[bug] [mysql] Fixed bug where server default comparison of CURRENT_TIMESTAMP would fail on MariaDB 10.2 due to a change in how the function is represented by the database during reflection.
[bug] [autogenerate] Fixed bug where comparison of Numeric types would produce a difference if the Python-side Numeric inadvertently specified a non-None “scale” with a “precision” of None, even though this Numeric type will pass over the “scale” argument when rendering. Pull request courtesy Ivan Mmelnychuk.
[bug] [batch] The name of the temporary table in batch mode is now generated off of the original table name itself, to avoid conflicts for the unusual case of multiple batch operations running against the same database schema at the same time.
[bug] [autogenerate] A ForeignKeyConstraint can now render correctly if the link_to_name flag is set, as it will not attempt to resolve the name from a “key” in this case. Additionally, the constraint will render as-is even if the remote column name isn’t present on the referenced remote table.
[bug] [runtime] [py3k] Reworked “sourceless” system to be fully capable of handling any combination of: Python2/3x, pep3149 or not, PYTHONOPTIMIZE or not, for locating and loading both env.py files as well as versioning files. This includes: locating files inside of __pycache__ as well as listing out version files that might be only in versions/__pycache__, deduplicating version files that may be in versions/__pycache__ and versions/ at the same time, correctly looking for .pyc or .pyo files based on if pep488 is present or not. The latest Python3x deprecation warnings involving importlib are also corrected.
=== Enhancements
Network::
* Add additional low-level logging handler
* Unwrap exception causes when checking if dying
=== Bug fixes
Aggregations::
* Fix IndexOutOfBoundsException in histograms for NaN doubles
Core::
* MetaData Builder doesn't properly prevent an alias with the same
* name as an index
Packaging::
* Fix default paths for Windows service
Plugin Repository Azure::
* Use Azure upload method instead of our own implementation
Search::
* Fix serialization errors when cross cluster search goes to a single
* shard
Author: Frediano Ziglio <freddy77@gmail.com>
Date: Sat Sep 30 22:25:16 2017 +0100
ctlib: Add CS_BIGTIME/CS_BIGDATETIME type declarations
Author: Frediano Ziglio <freddy77@gmail.com>
Date: Fri Sep 22 12:28:30 2017 +0100
ctlib: Support Microsoft DATE/TIME types
Author: Frediano Ziglio <freddy77@gmail.com>
Date: Thu Sep 21 18:23:06 2017 +0100
ctlib: Support missing Sybase types in _ct_get_client_type
Author: Frediano Ziglio <freddy77@gmail.com>
Date: Thu Sep 21 20:57:11 2017 +0100
ctlib: Fix wrong type for TIME and DATE from _ct_get_server_type
This caused data to be converted in the wrong way.
Author: Frediano Ziglio <freddy77@gmail.com>
Date: Wed Sep 20 11:20:37 2017 +0100
tds: Fix possible reading buffer overflow converting from char to float
Row column data are not NUL terminated so make sure we use
terminated strings.
This patch also improve checking format errors converting
float numbers using strtod instead of atof.
Author: Frediano Ziglio <freddy77@gmail.com>
Date: Sun Sep 17 17:34:16 2017 +0100
tds: Add missing declaration for Sybase type
Declarations are used for bulk copy and datacopy utility.
- Remove a syntax error in the configure script that affects some shells.
- The configure script respects --with-zlib=system and --with-snappy=system.
- The internal mongoc_server_description_t struct is properly reinitialized
after a network error.
- Fix the encoding of this NEWS file.
2.10.2
- Update travis-ci build scripts to use Postgres 9.6 and test against
Python 3.6.
- Added support for returning namedtuple objects when iterating over a
cursor.
- Added support for specifying the "object id" attribute used when
declaring a foreign key. By default, it is foreign-key-name_id, but
it can now be customized.
- Fixed small bug in the calculation of search scores when using the
SQLite C extension or the sqlite_ext module.
- Support literal column names with the dataset module.
2.10.1
- Removed AESEncryptedField.
Release 0.2.4:
Enhancements
* Add more keywords for MySQL table options (pr328, pr333, by phdru).
* Add more PL/pgSQL keywords (pr357, by Demetrio92).
* Improve parsing of floats (pr330, by atronah).
Bug Fixes
* Fix parsing of MySQL table names starting with digits (issue337).
* Fix detection of identifiers using comparisons (issue327).
* Fix parsing of UNION ALL after WHERE (issue349).
* Fix handling of semicolon in assignments (issue359, issue358).
PostGIS 2.4.0
2017/09/30
* New Features *
- #3822, Have postgis_full_version() also show and check version of
PostgreSQL the scripts were built against (Sandro Santilli)
- #2411, curves support in ST_Reverse (Sandro Santilli)
- #2951, ST_Centroid for geography (Danny Götte)
- #3788, Allow postgis_restore.pl to work on directory-style (-Fd) dumps
(Roger Crew)
- #3772, Direction agnostic ST_CurveToLine output (Sandro Santilli / KKGeo)
- #2464, ST_CurveToLine with MaxError tolerance (Sandro Santilli / KKGeo)
- #3599, Geobuf output support via ST_AsGeobuf (Björn Harrtell)
- #3661, Mapbox vector tile output support via ST_AsMVT (Björn Harrtell / CartoDB)
- #3689, Add orientation checking and forcing functions (Dan Baston)
- #3753, Gist penalty speed improvements for 2D and ND points
(Darafei Praliaskouski, Andrey Borodin)
- #3677, ST_FrechetDistance (Shinichi Sugiyama)
- Most aggregates (raster and geometry),
and all stable / immutable (raster and geometry) marked as parallel safe
- #2249, ST_MakeEmptyCoverage for raster (David Zwarg, ainomieli)
- #3709, Allow signed distance for ST_Project (Darafei Praliaskouski)
- #524, Covers support for polygon on polygon, line on line,
point on line for geography (Danny Götte)
* Enhancements and Fixes*
- Many corrections to docs and several translations almost complete.
Andreas Schild who provided many corrections to core docs.
PostGIS Japanese translation team first to reach completion of translation.
- Support for PostgreSQL 10
- Preliminary support for PostgreSQL 11
- #3645, Avoid loading logically deleted records from shapefiles
- #3747, Add zip4 and address_alphanumeric as attributes
to norm_addy tiger_geocoder type.
- #3748, address_standardizer lookup tables update
so pagc_normalize_address better standardizes abbreviations
- #3647, better handling of noding in ST_Node using GEOSNode
(Wouter Geraedts)
- #3684, Update to EPSG register v9
(Even Rouault)
- #3830, Fix initialization of incompatible type (>=9.6) address_standardizer
- #3662, Make shp2pgsql work in debug mode by sending debug to stderr
- #3405, Fixed memory leak in lwgeom_to_points
- #3832, Support wide integer fields as int8 in shp2pgsql
- #3841, Deterministic sorting support for empty geometries in btree geography
- #3844, Make = operator a strict equality test, and < > to rough "spatial sorting"
- #3855, ST_AsTWKB memory and speed improvements
* Breaking Changes *
- Dropped support for PostgreSQL 9.2.
- #3810, GEOS 3.4.0 or above minimum required to compile
- Most aggregates now marked as parallel safe,
which means most aggs have to be dropped / recreated.
If you have views that utilize PostGIS aggs,
you'll need to drop before upgrade and recreate after upgrade
- #3578, ST_NumInteriorRings(POLYGON EMPTY) now returns 0 instead of NULL
- _ST_DumpPoints removed, was no longer needed after PostGIS 2.1.0
when ST_DumpPoints got reimplemented in C
- B-Tree index operators < = > changed to provide better spatial locality on sorting
and have expected behavior on GROUP BY.
If you have btree index for geometry or geography, you need to REINDEX it, or review
if it was created by accident and needs to be replaced with GiST index.
If your code relies on old left-to-right box compare ordering,
update it to use << >> operators
PostGIS 2.4.0rc3
2017/09/27
* Fixes and Enhancements since PostGIS 2.4.0rc2 *
- #3781 st_contains cannot handle curvepolygon / compoundcurve
consisting of only straight lines
- #3866 server crashing from large values in ST_AsTWKB
- #3818 Allow triangles unclosed in M to be WKT parsed
- several packaging changes regarding checking trailing blanks
PostGIS 2.4.0rc2
2017/09/24
* Fixes and Enhancements since PostGIS 2.4.0rc1 *
- Numerous fixes to ST_AsMVT, ST_AsGeoBuf
- ST_AsTWKB speed and memory performance enhancments
- ST_RepeatedPoints speed improvements
- ST_ConcaveHull bug fix
See PostGIS 2.4.0 section for details of
new features and enhancements in this release.
PostGIS 2.4.0rc1
2017/09/13
Note possible breaking changes since 2.4.0 beta1 release are:
* Breaking Changes *
- B-Tree index operators < = > changed to provide better spatial locality on sorting
and have expected behavior on GROUP BY.
If you have btree index for geometry or geography, you need to REINDEX it, or review
if it was created by accident and needs to be replaced with GiST index.
If your code relies on old left-to-right box compare ordering,
update it to use << >> operators.
- ST_AsMVT aggregate now overloaded and arg order changed.
Check your code if you are already using this function.
- _ST_DumpPoints removed, was no longer needed after PostGIS 2.1.0
when ST_DumpPoints got reimplemented in C
shared-mime-info 1.9 (2017-18-09)
* Add x-systemd-unit and x-dbus-service MIME types
* Fix magic for application/x-java-keystore on little endian
* Add mime-type for STL 3D models and GCODE
* Add application/x-executable as a supertype of application/ecmascript
* Add shebang magic for gjs JavaScript files
* Add a mimetype for Khronos texture files
* Add a mime-type for Famicom Disk System images
* Add "font" top level type, and use IANA registered type for TTF,
OTF, WOFF, TTC and WOFF2
* Add OpenCL mime-type
* Add text/x-python3 content type
* Add Audible.com mime type
* Add application/x-atari-lynx-rom
* Add application/x-wonderswan-rom
* Add application/x-virtual-boy-rom
* Better JPEG 2000 MIME type support
* Add support for GIMP data files (.gbr, .gih, .pat)
* Add an alias for Adobe Illustrator formats
* Add *.mjs glob for Javascript
* Rename application/x-trig to application/trig
* Rename Panasonic RAW image mime-types to image/x-panasonic-rw*
* Change the preferred suffix for image/x-tga from icb to tga
* Correct "PostScript" capitalisation
* Add mimetype for AppImage Type 2
* Remove AppImage glob with different casing
Update DEPENDS and test dependencies.
-------------------------------------------
version 0.0200 at 2017-09-29 01:03:32 +0000
-------------------------------------------
Change: b0ceabb33df843b11871a21209e5fd4bf1831fb9
Author: Naveed Massjouni <naveed@vt.edu>
Date : 2017-09-28 21:02:24 +0000
v0.0200
Change: 86a1ec89187cdd64286444448e5a3cab788859b8
Author: Naveed Massjouni <naveedm9@gmail.com>
Date : 2017-03-02 10:25:46 +0000
Merge pull request #5 from PerlDancer/sawyer/feature/reentrant-schema
Make schema() possibly reentrant
Change: d319f5adbd6accadde265a294176b3454fc950a0
Author: Sawyer X <xsawyerx@cpan.org>
Date : 2017-02-16 00:52:33 +0000
Add test for feature
Change: 2e6d0056b2342debce14ecfd41f362e2ef9eff81
Author: Sawyer X <xsawyerx@cpan.org>
Date : 2017-02-16 00:52:33 +0000
Add support for schema configuration in schema() call:
What troubles me is that this module is not reentrant. You will
always get the same schema object and you can only configure it once.
Configuring it once is great, but having to argue with the code over
at which point to do it is annoying.
(Example: Issue #12 in Dancer2-Plugin-DBIC.)
This now allows the schema() function to also receive parameters to
use instead of the default configuration. It tries todo it in a
non-intrusive way for the code with minimal code changes and without
altering anything outside this function (like the global
configuration).
Change: 21a44eb576168081e0ec5793671b26b586347e2d
Author: Sawyer X <xsawyerx@cpan.org>
Date : 2017-02-16 00:52:33 +0000
Retrieve the options before fetching the schema:
The previous logic would try to look up the schema and return it, and
if it didn't exist, it would fetch the options and try to create one.
This makes sense.
However, this also means that if we want to create a schema without
rummaging in the cache, you will have to check whether to even check
the cache.
Instead, we simply retrieve the relevant information for creation
before deciding what to do. Then we could either create a new one
with this configuration or return one.
Change: b406d522942e8596affe45f47b679d44d22e1f5a
Author: Sawyer X <xsawyerx@cpan.org>
Date : 2017-02-16 00:52:33 +0000
Refactor: Move creation of schemas outside schema():
The schema() function is in charge of finding the right plugin, but
also creates them. Ths makes it difficult to have logic that allows
creating without saving or retrieval. We just split the creation into
its own function.
I also added comments to make it a bit clearer.
Change: bc90045822e7d3fc0f4e8f0d10a45044bcba9773
Author: Naveed Massjouni <naveedm9@gmail.com>
Date : 2017-02-13 10:04:52 +0000
Merge pull request #4 from PerlDancer/sawyer/fixes
Various fixes and cleanups
Change: bcee651ab7580e899ad906be872c4874f333d156
Author: Sawyer X <xsawyerx@cpan.org>
Date : 2017-02-13 10:56:10 +0000
Revert "Cleanup: Explicitly use DBIx::Class::Schema::Loader:"
This reverts commit 4f80a6f9ef3c994ffda9991d7fe7839307b6abbf.
Change: 9e527d272a25e4be0a64454d8b258211f171211e
Author: Sawyer X <xsawyerx@cpan.org>
Date : 2017-02-10 11:12:43 +0000
Do not add DBIx::Class::Schema::Loader as hard prereq:
Currently DBIx::Class::Schema::Loader is loaded optionally, but
reported as a hard dependency. (See previous commit.)
This makes it recommended, but optional.
Change: 4f80a6f9ef3c994ffda9991d7fe7839307b6abbf
Author: Sawyer X <xsawyerx@cpan.org>
Date : 2017-02-10 11:12:39 +0000
Cleanup: Explicitly use DBIx::Class::Schema::Loader:
In Dancer2-Plugin-DBIC, DBIx::Class::Schema::Loader is mentioned as a
requirement. It's a lazy optional one. It's also hard to spot because
it's being loaded as a string using Module::Load.
Instead, this makes it a bit clearer by using 'require' directly.
It would be better to make this an optional requirement instead of a
default one.
Change: 1b545771aec22a89989c284f950526270ae272b5
Author: Sawyer X <xsawyerx@cpan.org>
Date : 2017-02-10 10:58:09 +0000
Cleanup: Replace die() with croak():
croak() is used in some places but not everywhere, so might as well
report from the caller everywhere.
Change: c6f2031977572bcfd4352e131eb274cbc0be14d0
Author: Sawyer X <xsawyerx@cpan.org>
Date : 2017-02-10 10:56:38 +0000
Cleanup: Simply conditions code
Change: d9042c990068eb816b21396573704012d66c2ead
Author: Sawyer X <xsawyerx@cpan.org>
Date : 2017-02-10 10:56:20 +0000
Cleanup: Fix extra or missing semicolons
Change: 30166bce0c49ca7e979c9bbd82b582850805df7d
Author: Sawyer X <xsawyerx@cpan.org>
Date : 2017-02-10 10:56:20 +0000
Add provides metadata:
The following plugin will add the provides metadata to the
distribution, which is considered a best practice.
Change: 35e6040f94c561ab29811fe1db8164f03492d87f
Author: Sawyer X <xsawyerx@cpan.org>
Date : 2017-02-10 10:56:20 +0000
Provide META.json file in distribution:
The following plugin adds the META.json file. This is considered the
more modern META data format.
2.19 Bug Fixes
Fixed incorrect handling of various "new" datatypes (date,
time, bigint, bigdatetime).
Other Bug Fixes:
640 - Sybase::BLK fails due to system table ordering issues
consequence of row level locking on system tables in
15.0.2 and later.
2.18 Bug Fixes
Various BLK fixes.
Fixed Sybase::BCP and Sybase::BLK tests which failed against
12.5.3 servers (changes on the Server side).
Bugs Fixed:
577 - perl Makefile.PL fails if umask is 0.
2.17 Kerberos Network login
Support for CS_SEC_NETWORKAUTH and CS_SEC_SERVERPRINCIPAL
connection properties in Sybase::CTlib.
Support CS_SERVERADDR connection properties in Sybase::CTlib,
and also allow the $server parameter to ct_connect to be
specified as "host:port" (requires OpenClient 12.5.1 or later).
Some documentation changes/improvements in Sybase::CTlib.
Bug Fixes
546 umask checking doesn't work on Windows.
555 blk_rowxfer doesn't handle datatype conversion errors.
560 Long binary columns are truncated by ct_fetch.
542 Fetch binary in raw format.
538 DBlib doesn't export TRACE_xxx symbols.
1.0.4 Tue May 23 21:05:58 EDT 2017
- RT#111473: fix warning upon reaching end of XML
stream (Johann Rolschewski)
- remove extraneous diag from a test script (Florian Schlichting)
1.001039 2017-09-25 14:15:55+00:00 UTC
- remove trailing comma in tests that was breaking on most JSON parsers.
1.001038 2017-09-20 21:13:13+00:00 UTC
- stop sorting source names before dumping, this allows for some hackery when you need certain sources to dump first (see https://github.com/dbsrgits/DBIx-Class-Fixtures/pull/12 for details) (cngarrison++)
- doc patch for exclude attr (simbabque++)
1.001037 2017-09-20 20:42:03+00:00 UTC
- ignore virtual columns in dump_object (mmims++)
Version 3.7.0 Released September 24, 2017 (git tag 3.7.0)
- If no placeholders, use PQexec instead of PQexecParams
[Greg Sabino Mullane]
- Fix running tests with non-UTF8 server_encoding
[Dagfinn Ilmari Mannsåker]
(Github issue #26)
- Fix crash with missing client_encoding
[David Christensen, reported by Marko Tiikkaja]
(Github issue #29)
- Fix crash with missing server_version
[David Christensen]
- Fix leak in ->state methods
[Dagfinn Ilmari Mannsåker]
(Github issue #30)
- Add $sth->{pg_async_status} to determine async status of a statement handle.
Values can be 0 (no async), 1 (async), or -1 (cancelled)
[Greg Sabino Mullane, as requested by Dmytro Zagashev (ZDM)]
(CPAN ticket #116172)
== 5.6.2 Release Notes
=== Bug fixes
Aggregations::
- Do not delegate a null scorer to LeafBucketCollectors
Inner Hits::
- Do not allow inner hits that fetch _source and have a non nested
object field as parent
Internal::
- Catch exceptions and inform handler in
RemoteClusterConnection#collectNodes
Java API::
- BulkProcessor flush runnable preserves the thread context from
creation time
Java High Level REST Client::
- Make RestHighLevelClient's Request class public
Plugin Analysis Kuromoji::
- Fix kuromoji default stoptags
Plugin Repository HDFS::
- Fix permission errors when using Read Only HDFS Repository
Query DSL::
- Fixed incomplete JSON body on count request making
org.elasticsearch.rest.action.RestActions#parseTopLevelQueryBuilder
go into endless loop
Scripting::
- Add missing script contexts and types allowed settings
Upgrade API::
- Upgrade API: fix excessive logging and unnecessary template updates
=== Upgrades
Logging::
- Upgrade to Log4j 2.9.1
== 5.6.1 Release Notes
=== Bug fixes
Highlighting::
- Fix percolator highlight sub fetch phase to not highlight query twice
Mapping::
- Fix unmapped_type creation for indices created in 2.x
Similarities::
- Add boolean similarity to built in similarity types
=== Upgrades
Core::
- Upgrade to Lucene-6.6.1.
== 5.6.0 Release Notes
=== Breaking Java changes
Java High Level REST Client::
- Allow RestHighLevelClient to use plugins
Java REST Client::
- Rename client artifacts
=== Deprecations
Highlighting::
- Postings highlighter deprecation
Indexed Scripts/Templates::
- Scripting: Deprecate stored search template apis
Mapping::
- Add deprecation logging when _all is enabled
Query DSL::
- Deprecate omitting terms lookup index name in 5.6
Scripting::
- Scripting: Deprecate scripts.max_compilation_per_minute setting
- Scripting: Change keys for inline/stored scripts to source/id
Tribe Node::
- Deprecate tribe service
=== New features
Java High Level REST Client::
- Backport high level REST client
Parent/Child::
- Typeless parent child backport
- Move parent_id query to the parent-join module
- Introduce ParentJoinFieldMapper, a field mapper that creates
parent/child relation within documents of the same index
Upgrade API::
- TemplateUpgraders should be called during rolling restart
=== Enhancements
Allocation::
- Adjust status on bad allocation explain requests
- Promote replica on the highest version node
Analysis::
- [analysis-icu] Allow setting unicodeSetFilter
CAT API::
- expand `/_cat/nodes` to return information about hard drive
Cluster::
- Validate a joining node's version with version of existing cluster
nodes
Core::
- Add max file size bootstrap check
- Explicitly reject duplicate data paths
Highlighting::
- Picks offset source for the unified highlighter directly from the es
mapping
Index APIs::
- Create index request should return the index name
Ingest::
- Add Ingest-Processor specific Rest Endpoints & Add Grok endpoint
- Port support for commercial GeoIP2 databases from Logstash.
- Allow removing multiple fields in ingest processor
- Add target_field parameter to ingest processors
Internal::
- Use holder pattern for lazy deprecation loggers
- "shard started" should show index and shard ID
- Break out clear scroll logic from TransportClearScrollAction
- Add helper methods to TransportActionProxy to identify proxy actions
and requests
- Add remote cluster infrastructure to fetch discovery nodes.
- Disallow multiple parent-join fields per mapping
Java High Level REST Client::
- [DOCS] restructure java clients docs pages
- Use SPI in High Level Rest Client to load XContent parsers
Java REST Client::
- Shade external dependencies in the rest client jar
- RestClient uses system properties and system default SSLContext
Logging::
- Use LRU set to reduce repeat deprecation messages
Mapping::
- Optimize `terms` queries on `ip` addresses to use a `PointInSetQuery`
whenever possible.
Network::
- Simplify connection closing and cleanups in TcpTransport
Packaging::
- Remove memlock suggestion from systemd service
- Set address space limit in systemd service file
Parent/Child::
- Remove ParentJoinFieldSubFetchPhase
- Support parent id being specified as number in the _source
Query DSL::
- Make slop optional when parsing `span_near` query
Search::
- Reduce the overhead of timeouts and low-level search cancellation.
- Reduce profiling overhead.
- Backport `can_match` endpoint to 5.6 to allow 6.0 to use the
optimization in mixed version
- Add a shard filter search phase to pre-filter shards based on query
rewriting
- Ensure we rewrite common queries to `match_none` if possible
- Limit the number of concurrent shard requests per search request
- Add cluster name validation to RemoteClusterConnection
- Leverage scorerSupplier when applicable.
- Add Cross Cluster Search support for scroll searches
Sequence IDs::
- 5.x - Move primary term from ReplicationRequest to
ConcreteShardRequest
- Forward compatibility for primary context handoff on 6.x
Settings::
- Emit settings deprecation logging at most once
- IndexMetaData: Introduce internal format index setting
Snapshot/Restore::
- Improves snapshot logging and snapshot deletion error handling
Stats::
- Update `IndexShard#refreshMetric` via a
`ReferenceManager.RefreshListener`
=== Bug fixes
Aggregations::
- Fixes array out of bounds for value count agg
Aliases::
- mget with an alias shouldn't ignore alias routing
Allocation::
- Allow wildcards for shard IP filtering
Analysis::
- Pre-configured shingle filter should disable graph analysis
CRUD::
- Serialize and expose timeout of acknowledged requests in REST layer
(ES 5.6)
Cluster::
- Register setting `cluster.indices.tombstones.size`
Core::
- Release operation permit on thread-pool rejection
- Node should start up despite of a lingering `.es_temp_file`
Discovery::
- MasterNodeChangePredicate should use the node instance to detect
master change
Engine::
- Engine - Do not store operations that are not index into lucene in the
translog (5.x only)
Geo::
- Fix GeoPoint FieldStats ternary logic bug
Highlighting::
- Fix nested query highlighting
- FastVectorHighlighter should not cache the field query globally
Index APIs::
- Shrink API should ignore templates
- Rollover max docs should only count primaries
Ingest::
- Sort Processor does not have proper behavior with targetField
Inner Hits::
- Fix inner hits to work with queries wrapped in an indices query
- When fetching nested inner hits only access stored fields when needed
Internal::
- Fix BytesReferenceStreamInput#skip with offset
- Fix race condition in RemoteClusterConnection node supplier
- Initialise empty lists in BaseTaskResponse constructor
Java High Level REST Client::
- Register ip_range aggregation with the high level client
- add top hits as a parsed aggregation to the rest high level client
Logging::
- Lazy initialize deprecation logger in parser
- Allow not configure logging without config
- Declare XContent deprecation logger as static
Mapping::
- ICUCollationKeywordFieldMapper use SortedSetDocValuesField
- Fixed bug that mapper_parsing_exception is thrown for numeric field
with ignore_malformed=true when inserting "NaN"
- Coerce decimal strings for whole number types by truncating the
decimal part
- Fix parsing of ip range queries.
- Remove `fielddata:false` from mappings of non-analyzed strings.
- Disable date field mapping changing
- token_count datatype should handle null value
- keep _parent field while updating child type mapping
Nested Docs::
- In case of a single type the _id field should be added to the nested
document instead of _uid field
Network::
- Release pipelined http responses on close
- Ensure pending transport handlers are invoked for all channel failures
Packaging::
- setgid on /etc/elasticearch on package install
- Stop disabling explicit GC
- Avoid failing install if system-sysctl is masked
- Get short path name for native controllers
- When stopping via systemd only kill the JVM, not its control group
Parent/Child::
- The default _parent field should not try to load global ordinals
Plugin Lang Painless::
- Painless: allow doubles to be casted to longs.
Plugin Repository HDFS::
- Upgrading HDFS Repository Plugin to use HDFS 2.8.1 Client
Query DSL::
- Parse "*" in query_string_query as MatchAllDocsQuery
- SpanNearQueryBuilder should return the inner clause when a single
clause is provided
- WrapperQueryBuilder should also rewrite the parsed query
REST::
- Fix handling of exceptions thrown on HEAD requests
Search::
- Fix term(s) query for range field
- Caching a MinDocQuery can lead to wrong results.
- First increment shard stats before notifying and potentially sending
response
- Remove assertion about deviation when casting to a float.
- Prevent skipping shards if a suggest builder is present
- Ensure remote cluster alias is preserved in inner hits aggs
- Do not search locally if remote index pattern resolves to no indices
Settings::
- Fix settings serialization to not serialize secure settings or not
take the total size into account
- Keystore CLI should use the AddFileKeyStoreCommand for files
Snapshot/Restore::
- Snapshot/Restore: fix NPE while handling null failure reasons
- Snapshot/Restore: Ensure that shard failure reasons are correctly
stored in CS
- Output all empty snapshot info fields if in verbose mode
Stats::
- _nodes/stats should not fail due to concurrent AlreadyClosedException
Suggesters::
- Context suggester should filter doc values field
=== Upgrades
Network::
- Upgrade to Netty 4.1.13.Final
Upgrade API::
- Improve stability and logging of TemplateUpgradeServiceIT tests
== 5.5.3 Release Notes
=== Deprecations
Mapping::
- Add deprecation logging when _all is enabled
=== Bug fixes
Packaging::
- setgid on /etc/elasticearch on package install
- The zLib and Snappy compression libraries are bundled if not
available.
Wire protocol compression is enabled on Windows.
- mongoc_collection_find_and_modify_with_opts now respects a
"writeConcern" field in the "extra" BSON document in its
mongoc_find_and_modify_opts_t.
- The command functions mongoc_client_read_write_command_with_opts,
mongoc_database_read_write_command_with_opts, and
mongoc_collection_read_write_command_with_opts now ignore the
"read_prefs" parameter.
- mongoc_collection_create_index and
mongoc_collection_create_index_with_opts
are both now deprecated. Use mongoc_database_write_command_with_opts
instead; a guide to creating an index using that function has been
added.
- Use select, not WSAPoll, on Windows.
- Always mark a server "Unknown" after a network error (besides a
timeout).
- mongoc_client_pool_t sends platform metadata to the server; before,
only a single mongoc_client_t did.
- New stream method mongoc_stream_timed_out.
- Wire version checks introduced in 1.8.0 will prevent the driver from
connecting to a future MongoDB server version if its wire protocol is
incompatible.
- New CMake option ENABLE_MAINTAINER_FLAGS.
Significant bugs fixed:
1. A number of bugs were fixed in the area of PSYNC2 replication in
thecspecific area of restarting an instance with an RDB file having
the repliacation meta-data to continue without a full
resynchronization.
2. AOF flush on SHUTDOWN did not cared to really write the AOF buffers
(not in the kernel but in the Redis process memory) to disk before
exiting. Calling SHUTDOWN during traffic resulted into not every
operation to be persisted on disk.
3. The SLOWLOG could reference values inside string objects stored at
keys, creating a race condition during FLUSHALL ASYNC while the DB is
reclaimed in another thread.
Upstream has very complicated ifdefs that try to define UNIX
everywhere but windows, except that it fails to include NetBSD. Then,
it uses UNIX to avoid using the non-standard stricmp and instead use
the POSIX-conforming strcasecmp.
For pkgsrc, rip out an entire screenful of complexity and just define
UNIX if not defined. Resolves build on NetBSD 7, and probably other places.
Version 0.9:
* Add distinct_on on Select
* Allow to use Select as Column of Select query
* Support Select without from clause
Version 0.8:
* Add DISTINCT qualifier to aggregate expressions
* Allow to order on select queries
* Add NULL ordering
* Use UPPER to simulate missing ILIKE
* Add CURRENT_DATE function
* Fix DateTrunc function name
* Add no_boolean Flavor
* Add converter format2numeric
* Add rownum limit style
* Add no_as Flavor
Author: Frediano Ziglio <freddy77@gmail.com>
Date: Sat Sep 16 13:52:48 2017 +0100
ctlib: Do not mix 2 set of results
Variable results was used to store 2 states ending up
with possible wrong result from _ct_bind_data.
Author: Frediano Ziglio <freddy77@gmail.com>
Date: Sat Sep 16 12:51:49 2017 +0100
Avoid mixing different column information
Was possible that for multiple column recordset the binding
were reused between columns combining row binding with empty ones.
This could cause some wrong metadata information to be returned.
Author: Frediano Ziglio <freddy77@gmail.com>
Date: Wed Sep 13 15:48:03 2017 +0100
build: Fix wrong AC_LANG_SOURCE usage
This macro requires a single parameter.
Usage confused with AC_LANG_PROGRAM.
2.0.0
* Stop building FreeTDS as a part of the extension build.
1.3.0
* FreeTDS: Link libgcc statically for Windows. (#351) Fixes#349.
1.2.0
* Use OpenSSL v1.1.0e & FreeTDS v1.00.27 for Windows builds.
1.1.0 *
* Use rake-compiler-dock v0.6.0
* Handle SYBVARIANT types from SQL function. Fixes#317. Fixed#321.
* Fix `use_utf16` optoin for booleans. Fixes#314
* Add `-q` check for bin puts. Fixes#318
* Use FreeTDS 1.00.21.
* Appveyor tests only 2012, 2014 with one Ruby, 23-x64.
* CircleCI & TravisCI both test 2016.
1.0.5
* Windows Static Builds - Use FreeTDS 1.00.15, OpenSSL 1.0.2j.
* Appveyor tests 2012, 2014, 2016.
* Error messages greater than 1024 chars generates a buffer overflow. Fixes
#293.
* Ensures numeric options are treated numerically Fixes#303.
* New `:contained` login option. May deprecate `:azure`. Fixes#292.
* New `:use_utf16` login option. Toggle UCS-2 or UTF-16. Default true.
1.0.4
* Use FreeTDS 1.0 final
1.0.3
* Use FreeTDS 1.0rc5 for cross compile windows gems.
* Ensure we only work with latest FreeTDS v0.95.x or higher.
1.0.2
* Cross compile w/2.3.0 using rake-compiler-dock ~> 0.5.1. Fixes#268#270.
* Use FreeTDS 1.0rc4 for cross compile windows gems.
1.0.1
* Fix ruby exe's in non-platform gem.
1.0.0
* Tested with FreeTDS 1.0.
* Add emoji support by default using FreeTDS v1.0 in docs.
0.9.5 (release candidates only)
* Binstub wrappers for `tsql`. Fixes#227#251
* Add support for 2008 data types. Must use TDSVER 7.3 or higher. Fixes#244#251
- [date]
- [datetime2]
- [datetimeoffset]
- [time]
* Default FreeTDS to 0.95. Support 0.91 Alternate Fixes#233
- Allow our `tds_version` to mirror TDSVER env var. Ex '7.3' vs '73'.
- Change error handler for `SYBEICONVO` to hard return INT_CANCEL.
* Made sure Azure logins are user@short vs. long domain. Fixes#229
* Removed Ruby 1.9.3 from CI builds.
* CI now tests Azure too.
* Fixed compiler warnings on all platforms. Fixed#241
* FreeTDS - Remove support for bad iconv.
Summary of Changes in release 1.0
--------------------------------------------
User visible (not in a particular order):
- Removed "8.0" from protocol version string accepted. Please
update configuration files;
- Default protocol version is now auto. This could slow down
connection but make user experience less painful;
- Sybase encrypted login. Set encryption to get it;
- Support protocol version 7.4;
- Add intent support to specify we don't want to change data;
- Allow to attach database file during the login (MS SQL Server);
- Support for Sybase time/date/bigdate/bigdatetime;
- Pool is working again;
- ODBC BCP (not complete);
- Improved dbconvert and dbconvert_ps (more compatible);
- Fixed dbspid;
- Improved ODBC type information;
- Better certificate verification;
- AppVeyor is used for every build;
- Try all IPs from DNS. This allows SQL Cluster connection
to secondary servers.
Implementation:
- Removed Nmake support;
- Type conversions simplified;
- Better type handle code.
0.7.11
* Fixed Connection.close() failed when failed to send COM_CLOSE packet.
* Cursor.executemany() accepts query ends with semicolon.
* ssl parameters can be read from my.cnf.
2.0.7 Tue May 23 20:41:13 EDT 2017
[FIXES]
- RT#108123: clean up MANIFEST.SKIP
- GH#1: marcdump now prints warnings (Johann Rolschewski)
- remove a reference to SourceForge
- fix a reference to the per4lib mailing list
2.63, 2017-02-03 Re-add some features supposedly in 2.62 but not, and add
more --header options.
ENHANCEMENT
The option -j is now a synonym for --parallelism. (And several
documention bugs about this option are fixed.)
ENHANCEMENT
Additional support for "--header" in dbcolmerge, dbcol, dbrow, and
dbroweval.
BUG FIX
Version 2.62 was supposed to have this improvement, but did not
(and now does): dbfilepivot now allows the --possible-pivots
option, and if it is provided processes the data in one pass.
BUG FIX
Version 2.62 was supposed to have this improvement, but did not
(and now does): dbroweval logs are now quoted.
Alembic is a database migrations tool written by the author of
SQLAlchemy. A migrations tool can emit ALTER statements to a database
in order to change the structure of tables and other constructs,
provides a system whereby "migration scripts" may be constructed; each
script indicates a particular series of steps that can "upgrade" a
target database to a new version, and optionally a series of steps
that can "downgrade" similarly, doing the same steps in reverse, and
allows the scripts to execute in some sequential manner.
Packaged by Kamel Ibn Aziz Derouiche and updated by me.
Fixes in 1.65.1
Config:
* Version macro changes for CUDA.
* Update last known MSVC version.
* MSVC 14.11 supports structured bindings.
Context:
* Return a continuation from functions executed by resume_with.
Fiber:
* Return a continuation from functions executed by resume_with.
Smart Pointers:
* Fix Visual C++ version checks.
* Fix compilation for NVCC with host compiler clang.
Stacktrace:
* Update build testing file to detail with a MinGW issue.
* Change preprocessor file extensions to work with the installation system.
* Support FreeBSD and other OSs that do not define _GNU_SOURCE but have _Unwind_Backtrace function.
Thread:
* Fix bug in boost::condition_variable on Windows
Bug fixes only.
- Fixed bug in Session.merge() where an internal check for a target
object in the identity map could lead to an error.
- Fixed bug where an undefer_group() option would not be recognized.
- Fixed race condition in ORM identity map.
- Fixed bug in Session.merge() where objects in a collection that had
the primary key attribute set to None for a key that is typically
autoincrementing would be considered to be a database-persisted key
for part of the internal deduplication process.
- An InvalidRequestError is raised when a synonym() is used against an
attribute that is not against a MapperProperty.
- Altered the range specification for window functions to allow for
two of the same PRECEDING or FOLLOWING keywords in a range by
allowing for the left side of the range to be positive and for the
right to be negative.
Changes in Version 3.5.1
Version 3.5.1 fixes bugs reported since the release of 3.5.0:
* Work around socket.getsockopt issue with NetBSD.
* :meth:`pymongo.command_cursor.CommandCursor.close` now closes the cursor synchronously instead of deferring to a background thread.
* Fix documentation build warnings with Sphinx 1.6.x.
Issues Resolved
See the PyMongo 3.5.1 release notes in JIRA for the list of resolved issues in this release.
Lib/
* fixed passing all arguments from LDAPObject.sasl_non_interactive_bind_s()
to LDAPObject.sasl_interactive_bind_s()
Tests/
* added test for LDAPObject.sasl_external_bind_s()
Doc/
* added docs for SASL bind methods
* more references
* better sorting of LDAPObject methods
2.4.42:
Lib/
* added new SlapdObject methods _ln_schema_files() and
_create_sub_dirs()
* SlapdObject methods setup_rundir() and gen_config()
are now "public" methods
* removed pseudo test script from module ldap.cidict
Tests/
* added sub-module for testing class ldap.cidict.cidict
* avoid deprecated method alias unittest.TestCase.assertEquals
GitHub.
Changes include:
2.3.0
* Enable OCaml >= 4.02 compatibility
* Enable safe-string compatibility
* Backport fixes from 2.1.8
* Use OASIS to build the documentation
* Bug fixed: Ldap_protocol doesn't handle SASL correctly (RFC 4511 4.2.2)
(Patch by David Allsopp)
* Added paged result control
(Patch by Christian Wills)
* Fix: Add Str to the build dependencies
This release includes fixes that prevent a crash in pg_restore when using parallel mode. It also patches over a few other bugs reported since the last releases in August.
Additionally, in 9.4.14 only, there is a fix to an issue with walsenders preventing primary-server shutdown unless immediate shutdown mode is used.
Users should plan to update at the next convenient downtime.
The next bug fix release in the 2.2.x series is now available. This release includes the following
* slonik_build_env can now accept multiple -schema options on the command line
* Support for PG10. This involved changes to PG version detection
* Disallow createEvent and data changes in the same transaction.
* Fix some failover issues when doing a multi-node failover with a cascade node
* Bug 341 - suppress log trigger/deny when running in 'local' mode
* Fix issue when receiving DDL from non origin nodes
What's new in psycopg 2.7.3.1
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Dropped libresolv from wheel package to avoid incompatibility with
glibc 2.26 (wheels ticket #2)