* Windows builds now use the default runtime libraries (builds use the /MD flag).
* CMake support was added for compiling with Developer Studio 12.6.
* MySQL failed to compile if -DENABLE_DEBUG_SYNC=OFF AND -DWITH_DEBUG=ON were both given. The ENABLE_DEBUG_SYNC option has been removed and enabling WITH_DEBUG enables Debug Sync.
* The --temp-pool server option is deprecated and will be removed in MySQL 8.0.
* Support for DTrace is deprecated and is removed in MySQL 8.0.
* Changes in RPM package structure require a larger set of packages to be removed to install MySQL Server cleanly.
* To avoid potential race conditions, Debian packages now use the GNU install utility rather than a combination of mkdir, touch, and chown.
* The my-default.cnf.sh file (used to produce a default my-default.cnf or my-default.ini file) is no longer included in source distributions and my-default.cnf and my-default.ini are no longer included in or installed by distribution packages.
* Reminder: MySQL 5.7 requires the Microsoft Visual C++ 2013 Redistributable Package to run on Windows platforms. Users should make sure the package has been installed on the system before starting the server. The package is available at the Microsoft Download Center.
* PROCEDURE ANALYSE() syntax is now deprecated and is removed in MySQL 8.0.
* The use of \N as a synonym for NULL in SQL statements is deprecated and is removed in MySQL 8.0. Use NULL instead.
* The linked OpenSSL library for the MySQL Commercial Server has been updated to version 1.0.2k.
* Windows builds now use the default runtime libraries (builds use the /MD flag).
* CMake support was added for compiling with Developer Studio 12.6.
MySQL failed to compile if -DENABLE_DEBUG_SYNC=OFF AND -DWITH_DEBUG=ON were both given. The ENABLE_DEBUG_SYNC option has been removed and enabling WITH_DEBUG enables Debug Sync.
* Changes in RPM package structure require a larger set of packages to be removed to install MySQL Server cleanly.
* To avoid potential race conditions, Debian packages now use the GNU install utility rather than a combination of mkdir, touch, and chown.
* CMake-generated packaging for Debian/Ubuntu packages was refactored for improved maintainability. The change includes updated logic for correctly replacing native distribution packaging in Debian and Ubuntu.
* Reminder: MySQL 5.6 requires the Microsoft Visual C++ 2010 Redistributable Package to run on Windows platforms. Users should make sure the package has been installed on the system before starting the server. The package is available at the Microsoft Download Center.
* The linked OpenSSL library for the MySQL Commercial Server has been updated to version 1.0.2k. For a description of issues fixed in this version, see http://www.openssl.org/news/vulnerabilities.html.
* The mysql_options() C API function now supports a MYSQL_OPT_SSL_MODE option.
---------------------------------------------------
Picks securiy part from
https://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-55.html
-----
Security Notes
The mysql_options() C API function now supports a
MYSQL_OPT_SSL_MODE option. The only permitted option value is
SSL_MODE_REQUIRED, to require a secure connection to the server. It
causes mysql_real_connect() to fail if an encrypted connection cannot
be obtained, without falling back to an unencrypted connection. Thus,
mysql_real_connect() returns an error if the server does not support
SSL or the client is not configured to use SSL. The client/server
exchange terminates immediately after the initial server packet has
been received if the server indicates that it does not support SSL.
To require an encrypted connection in MySQL 5.5, the standard MySQL
client programs call mysql_options() to set MYSQL_OPT_SSL_MODE if the
--ssl-mode=REQUIRED command-line option was specified. Third-party
applications that must be able to require encrypted connections can
use the same technique. For details, see mysql_ssl_set().
The minor C API version number was not incremented for this
change. Application programs compiled for MySQL 5.5 that require
MYSQL_OPT_SSL_MODE may fail to operate properly if the dynamic loader
provides an older client library without MYSQL_OPT_SSL_MODE. Such
applications must be written to handle this possibility by checking
whether the mysql_options() call succeeds or fails. (Bug #25575605)
Upstream changes:
1.84 - 2017-04-03
- Restore 'dynamic_config => 0' missed in the Distar port
1.83 - 2017-04-03
- Support for DELETE ... RETURNING (GH#9)
- Port to Distar
revision 1.82 2017-03-20
-------------------------
- Add explicit dependency on Sub::Quote (GH#8)
- Fix syntax errors in ORDER BY docs (GH#7)
revision 1.81_01 2017-02-28
----------------------------
- Fix order clauses with bind parameters in ->where
- Fix ->insert($table, \@values) with >26 values (RT#112684)
- Teach ::Tree that ILIKE (PostgreSQL) and REGEXP (MySQL) are binary ops
- Support for UPDATE ... RETURNING
- Documentation improvements for ORDER BY
Upstream changes:
1.1.4 6 October 2016 17:26:00
- make sure Makefile.PL is included in the dist
1.1.3 6 October 2016 10:56:00
- Refactor slightly to enable useful subclassing (RT#102223, Tim Bunce)
A continuing stream of small regressions is leading us to have to put out releases every few days at the moment. This release includes a fix to a regression that was caused by a fix to a regression :), specifically the sqlalchemy.ext.mutable fix put out in 1.1.8. It also fixes a different regression in the typing system introduced in 1.1.5, and also has a regular bug fix for another issue regarding "connectionless" execution.
2009.07.21: I hereby place the cdb package (in particular, cdb-
0.75.tar.gz, with MD5 checksum 81fed54d0bde51b147dd6c20cdb92d51) into
the public domain. The package is no longer copyrighted.
Added the PRAGMA optimize command
The SQLite version identifier returned by the sqlite_source_id() SQL function and the sqlite3_sourceid() C API and found in the SQLITE_SOURCE_ID macro is now a 64-digit SHA3-256 hash instead of a 40-digit SHA1 hash.
Added the json_patch() SQL function to the JSON1 extension.
Enhance the LIKE optimization so that it works for arbitrary expressions on the left-hand side as long as the LIKE pattern on the right-hand side does not begin with a digit or minus sign.
Added the sqlite3_set_last_insert_rowid() interface and use the new interface in the FTS3, FTS4, and FTS5 extensions to ensure that the sqlite3_last_insert_rowid() interface always returns reasonable values.
Enhance PRAGMA integrity_check and PRAGMA quick_check so that they verify CHECK constraints.
Enhance the query plans for joins to detect empty tables early and halt without doing unnecessary work.
Enhance the sqlite3_mprintf() family of interfaces and the printf SQL function to put comma separators at the thousands marks for integers, if the "," format modifier is used in between the "%" and the "d" (example: "%,d").
Added the -DSQLITE_MAX_MEMORY=N compile-time option.
Added the .sha3sum dot-command and the .selftest dot-command to the command-line shell
Begin enforcing SQLITE_LIMIT_VDBE_OP. This can be used, for example, to prevent excessively large prepared statements in systems that accept SQL queries from untrusted users.
Various performance improvements.
Bug Fixes:
----------
Ensure that indexed expressions with collating sequences are handled correctly. Fix for ticket eb703ba7b50c1a5.
Fix a bug in the 'start of ...' modifiers for the date and time functions. Ticket 6097cb92745327a1
Fix a potential segfault in complex recursive triggers, resulting from a bug in the OP_Once opcode introduced as part of a performance optimization in version 3.15.0. Ticket 06796225f59c057c
In the RBU extension, add extra sync operations to avoid the possibility of corruption following a power failure.
The sqlite3_trace_v2() output for nested SQL statements should always begin with a "--" comment marker.
* /dbfsak/VERSION, /dbfsak/dbf.c, /dbfsak/dbf.h, /dbfsak/dbfsak.c:
More precisely specify variable sizes, since DBF files were
originally 8-bit, then 16-bit, then 32-bit. Current code being
worked on 64 bit platform.
=== Breaking changes
Query DSL::
- Fix name of `enabled_position_increments`
Search::
- Remove DFS_QUERY_AND_FETCH as a search type
=== Breaking Java changes
CRUD::
- Make index and delete operation execute as single bulk item
(backport of #21964)
Internal::
- Replace SearchExtRegistry with namedObject
- Replace Suggesters with namedObject
Network::
- Remove HttpServer and HttpServerAdapter in favor of a simple
dispatch method
Plugins::
- Deguice rest handlers
Search::
- Remove QUERY_AND_FETCH search type
=== Deprecations
Core::
- Deprecate lenient booleans
Geo::
- Geo distance range deprecation
Java API::
- Add BulkProcessor methods with XContentType parameter
Mapping::
- Deprecate the include_in_all mapping parameter
Network::
- Deprecate Netty 3
- Deprecate Netty 3
Plugin Repository Azure::
- Deprecate auto creation of container for azure repository
Plugin Repository S3::
- S3 Repository: Deprecate specifying region
- S3 Repository: Deprecate auto creation of s3 bucket for repository
- Deprecate specifying credentials through env vars, sys props, and
remove profile files
REST::
- Deprecate ldjson support and document ndjson for bulk/msearch
- Optionally require a valid content type for all rest requests with
content
Scripting::
- Change Namespace for Stored Script to Only Use Id
=== New features
Aggregations::
- Initial version of an adjacency matrix using the Filters aggregation
CRUD::
- Allow an index to be partitioned with custom routing
Highlighting::
- Integrate UnifiedHighlighter
Search::
- Add federated cross cluster search capabilities
- Add field collapsing for search request
Settings::
- Add infrastructure for elasticsearch keystore
=== Enhancements
Allocation::
- Include stale replica shard info when explaining an unassigned
primary
Analysis::
- Analyze API Position Length Support
CRUD::
- Make index and delete operation execute as a single bulk item
Circuit Breakers::
- Add used memory amount to CircuitBreakingException message (#22521)
Cluster::
- Connect to new nodes concurrently
Core::
- Simplify write failure handling (backport of #19105)
- Simplify ElasticsearchException rendering as a XContent
- Remove setLocalNode from ClusterService and TransportService
Engine::
- Replace EngineClosedException with AlreadyClosedExcpetion
Index APIs::
- Indexing: Add shard id to indexing operation listener
- Better error when can't auto create index
Ingest::
- Lazy load the geoip databases
Internal::
- Improve connection closing in `RemoteClusterConnection`
- Remove some more usages of ParseFieldMatcher
- Introduce ToXContentObject interface
Java API::
- prevent NPE when trying to uncompress a null BytesReference
Java High Level REST Client::
- Add parsing from xContent to MainResponse
- Parse elasticsearch exception's root causes
- Add parsing method to BytesRestResponse's error
- Add parsing method for
ElasticsearchException.generateThrowableXContent()
- Add fromxcontent methods to delete response
- Add parsing methods for UpdateResponse
- Add parsing from xContent to InternalSearchHit and
InternalSearchHits
- Add fromxcontent methods to index response
Java REST Client::
- move ignore parameter support from yaml test client to low level
rest client
- Support Preemptive Authentication with RestClient
Logging::
- Expose logs base path
Mapping::
- Improve error message for ipv6 on legacy ip fields
Network::
- Keep the pipeline handler queue small initially
Packaging::
- Introduce Java version check
Plugin Discovery EC2::
- Read ec2 discovery address from aws instance tags
Plugin Lang Painless::
- Generate reference links for painless API
- Painless: Add augmentation to String for base 64
Plugin Repository S3::
- S3 repository: Add named configurations
Plugins::
- Add the ability to define search response listeners in search plugin
Query DSL::
- QueryString and SimpleQueryString Graph Support
- Additional Graph Support in Match Query
- RangeQuery WITHIN case now normalises query
Reindex API::
- Increase visibility of doExecute so it can be used directly
- Improve error message when reindex-from-remote gets bad json
Scripting::
- Expose multi-valued dates to scripts and document painless's date
functions
Search::
- Add a setting to disable remote cluster connections on a node
- First step towards separating individual search phases
- Add parsing from xContent to SearchProfileShardResults and nested
classes
- ProfileResult and CollectorResult should print machine readable
timing information
Settings::
- Improve setting deprecation message
- Add secure settings validation on startup
- Allow comma delimited array settings to have a space after each
entry
- Allow affix settings to be dynamic / updatable
- Allow affix settings to delegate to actual settings
- Make s3 repository sensitive settings use secure settings
Snapshot/Restore::
- Duplicate snapshot name throws InvalidSnapshotNameException
- Use general cluster state batching mechanism for snapshot state
updates
Stats::
- Add geo_point to FieldStats
=== Bug fixes
CRUD::
- Fix backport executing ops as single item bulk
Cache::
- Invalidate cached query results if query timed out
Cluster::
- Don't set local node on cluster state used for node join validation
- Allow a cluster state applier to create an observer and wait for a
better state
- Cluster allocation explain to never return empty response body
Exceptions::
- Stop returning "es." internal exception headers as http response
headers
Ingest::
- Improve missing ingest processor error
- fix date-processor to a new default year for every new pipeline
execution
Internal::
- Always restore the ThreadContext for operations delayed due to a
block
- Fix handling of document failure exception in InternalEngine
(backport #22718)
Java REST Client::
- RestClient asynchronous execution should not throw exceptions
Mapping::
- Switch include_in_all in multifield to warning
- Fix MapperService StackOverflowError
- Range types causing `GetFieldMappingsIndexRequest` to fail due to
`NullPointerException` in `RangeFieldMapper.doXContentBody` when
`include_defaults=true` is on the query string
- Disallow introducing illegal object mappings (double '..')
Network::
- Respect promises on pipelined responses
- Ensure that releasing listener is called
Packaging::
- Fall back to non-atomic move when removing plugins
Parent/Child::
- Add null check in case of orphan child document
Plugin Ingest Attachment::
- Remove support for Visio and potm files
- Add missing mime4j library
Plugin Lang Painless::
- Fix Bad Casts In Painless
- Don't allow casting from void to def in painless
- Fix def invoked qualified method refs
Plugins::
- Add check for null pluginName in remove command
Query DSL::
- Fix parsing for `max_determinized_states`
REST::
- [API] change wait_for_completion default according to docs
- HTTP transport stashes the ThreadContext instead of the
RestController
- Ensure we try to autodetect content type for handlers that support
plain text
- Fix date format in warning headers
- Correct warning header to be compliant
- Fix search scroll request with a plain text body
- Handle bad HTTP requests
- Properly encode location header
Reindex API::
- Reindex: do not log when can't clear old scroll
- Fix reindex-from-remote from <2.0
Scripting::
- Remove unnecessary Groovy deprecation logging
- Script: Fix value of `ctx._now` to be current epoch time in
milliseconds
Search::
- Honor max concurrent searches in multi-search
- Avoid stack overflow in multi-search
- Replace blocking calls in ExpandCollapseSearchResponseListener by
asynchronous requests
- Ensure fixed serialization order of InnerHitBuilder
Settings::
- Fix merge scheduler config settings
- Settings: Fix keystore cli prompting for yes/no to handle console
returning null
- Expose `search.highlight.term_vector_multi_value` as a node level
setting
- NPE when no setting name passed to elasticsearch-keystore
Similarities::
- Fix similarity upgrade when "default" similarity is overridden
Stats::
- Avoid overflow when computing total FS stats
- Handle long overflow when adding paths' totals
- Fix control group pattern
- Fix total disk bytes returning negative value
Task Manager::
- Fix hanging cancelling task with no children
- Fix broken TaskInfo.toString()
=== Regressions
Core::
- Source filtering: only accept array items if the previous include
pattern matches
=== Upgrades
Internal::
- Upgrade to Lucene 6.4.1.
What's new in psycopg 2.7.1
^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Ignore `!None` arguments passed to `~psycopg2.connect()` and
`~psycopg2.extensions.make_dsn()` (🎫`#517`).
- OpenSSL upgraded from major version 0.9.8 to 1.0.2 in the Linux wheel
packages (🎫`#518`).
- Fixed build with libpq versions < 9.3 (🎫`#520`).
* gdbm_fetch, gdbm_firstkey, and gdbm_nextkey behavior
If the requested key was not found, these functions return datum with
dptr pointing to NULL and set gdbm_errno to GDBM_ITEM_NOT_FOUND (in
prior releases, gdbm_errno was set to GDBM_NO_ERROR),
If an error occurred, dptr is set to NULL, and gdbm_errno to
the error code.
In any case gdbm_errno is guaranteed to have meaningful value upon
return.
* Error handling
In previous versions of GDBM, fatal errors (such as write error while
storing the key/data pair or bucket) caused immediate termination of
the program via call to exit(3). This is no longer the case.
Starting from this version, if a fatal error occurrs while modifying
the database file, that database is marked as needing recovery and
gdbm_errno is set to GDBM_NEED_RECOVERY. Calls to any GDBM functions,
except gdbm_recover, will then return immediately with the same error
code.
The function gdbm_recover examines the database file and fixes
eventual inconsistencies. Upon successful return it clears the error
state and makes the database operational again.
For backward compatibility, the fatal_func argument to gdbm_open is
retained and its functionality is not changed. If it is not NULL, the
new error handling procedures are disabled, the function it points to
will be called upon fatal errors. When it returns, exit(1) will be
called.
* Per-database error codes
In addition to gdbm_error global variable, the most recent error state
is saved in the GDBM_FILE structure. This facilitates error handling
when operating multiple GDBM databases simultaneously.
Packaged for wip by Mike M. Volokhov and myself.
LevelDB is a fast key-value storage library written at Google that
provides an ordered mapping from string keys to string values.
phpredis 3.1.1
* Additional test updates for 32 bit systems (@remicollet)
* ARM rounding issue in tests (@remicollet)
* Use new zend_list_close instead of zend_list_delete when reconnecting.
* Refactoring of redis_boolean_response_impl and redis_sock_write
(@yatsukhnenko)
phpredis 3.1.1
This release contains mostly fixes for issues introduced when merging
the php 5 and 7 codebase into a single branch.
* Fixed a segfault in igbinary serialization (@yatsukhnenko)
* Restore 2.2.8/3.0.0 functionality to distinguish between an error
and simply empty session data. (@remicollet)
* Fix double to string conversion function (@yatsukhnenko)
* Use PHP_FE_END definition when available (@remicollet)
* Fixed various 'static function declared but not used' warnings
* Fixes to various calls which were typecasting pointers to the
wrong size. (@remicollet)
* Added php session unit test (@yatsukhnenko)
* Added explicit module dependancy for igbinary (@remicollet)
* Added phpinfo serialization information (@remicollet)
phpredis 3.1.1RC2
* Additional test updates for 32 bit systems (@remicollet)
* ARM rounding issue in tests (@remicollet)
* Use new zend_list_close instead of zend_list_delete when reconnecting.
* Refactoring of redis_boolean_response_impl and redis_sock_write
(@yatsukhnenko)
phpredis 3.1.1.RC1
This release contains mostly fixes for issues introduced when merging the php
5 and 7 codebase into a single branch.
* Fixed a segfault in igbinary serialization (@yatsukhnenko)
* Restore 2.2.8/3.0.0 functionality to distinguish between an error
and simply empty session data. (@remicollet)
* Fix double to string conversion function (@yatsukhnenko)
* Use PHP_FE_END definition when available (@remicollet)
* Fixed various 'static function declared but not used' warnings
* Fixes to various calls which were typecasting pointers to the
wrong size. (@remicollet)
* Added php session unit test (@yatsukhnenko)
* Added explicit module dependancy for igbinary (@remicollet)
* Added phpinfo serialization information (@remicollet)
phpredis 3.1.0
In this version of phpredis codebase was unified to work with all versions of
php \o/ Also many bug fixes and some improvements has been made.
--- Improvements ---
* Support the client to Redis Cluster just having one master (andyli) [892e5646]
* Allow both long and strings that are longs for zrangebyscore offset/limit
(Michael Grunder) [bdcdd2aa]
* Process NX|XX, CH and INCR options in zAdd command (Pavlo Yatsukhnenko)
[71c9f7c8]
--- Fixes ---
* Fix incrby/decrby for large integers (Michael Grunder) [3a12758a]
* Use static declarations for spl_ce_RuntimeException decl (Jeremy Mikola)
[a9857d69]
* Fixed method call problem causes session handler to display two times
(ZiHang Gao) [24f86c49]
* psetex method returns '+OK' on success, not true (sitri@ndxbn) [afcd8445]
* Fix integer overflow for long (>32bit) increments in hIncrBy (iyesin)
[58e1d799]
* Move zend_object handler to the end (Michael Grunder) [34107966]
* Using setOption on redis array causes immediate connection (Pavlo
Yatsukhnenko) [f1a85b38]
phpredis 2.2.8
The main improvement in this version of phpredis is support for Redis
Cluster. This version of phpredis is intended for versions of php older
than 7.
In addition there have been many bug fixes and improvements to non cluster
related commands, which are listed below.
I've attempted to include everyone who contribued to the project in each fix
description and have included names or github user ids.
Thanks to everyone for submitting bug reports and pull requests. A special
thanks to Remi Collet for helping with any and all packaging related issues
\o/
--- Improvements ---
* Added randomization to our seed nodes to balance which instance is used
to map the keyspace (Vitaliy Stepanyuk) [32eb1c5f]
* Added support for IPv6 addresses
--- Fixes ---
* PHP liveness checking workaround (Shafreeck Sea) [c18d58b9]
* Various documentation and code formatting and style fixes (ares333,
sanpili, Bryan Nelson, linfangrong, Romero Malaquias, Viktor Sz?pe)
* Fix scan reply processing to use long instead of int to avoid overflow
(mixiaojiong).
* Fix potential segfault in Redis Cluster session storage (Sergei Lomakov)
[cc15aae]
* Fixed memory leak in discard function [17b1f427]
* Sanity check for igbinary unserialization (Maurus Cuelenaere) [3266b222,
5528297a]
* Fix segfault occuring from unclosed socket connection for Redis Cluster
(CatKang) [04196aee]
* Case insensitive zRangeByScore options
* Fixed dreaded size_t vs long long compiler warning
=== 4.44.0 (2017-03-01)
* Add where_all, where_each, where_single_value model dataset methods, optimized for frozen datasets (jeremyevans)
* Add eager method to dataset_module (jeremyevans)
* Add implicit_subquery extension, for implicitly using a subquery for datasets using raw SQL when calling dataset methods that modify SQL (jeremyevans)
* Make Dataset#from_self keep the columns from the current dataset if present (jeremyevans)
* Add implicit_subquery extension, implicitly using subqueries for dataset methods if the current dataset uses raw SQL (jeremyevans)
* Make SQL::ValueList#inspect show that it is a value list (jeremyevans)
* Make LiteralString#inspect show that it is a literal string (jeremyevans)
* Make Model::Associations::AssociationReflection#inspect show reflection class and guess at association definition line (jeremyevans)
* Make SQLTime#inspect show it is an SQLTime instance, and only the time component (jeremyevans)
* Make SQL::Blob#inspect show that it is a blob, the number of bytes, and some or all of the content (jeremyevans)
* Make plugins not modify the constant namespace for the model class that uses them (jeremyevans)
* Do not modify encoding of SQL::Blob instances in force_encoding plugin (jeremyevans)
* Add Model.freeze_descendents to subclasses plugin, for easier finalizing associations/freezing of descendent classes (jeremyevans)
* Add Model.finalize_associations method for finalizing associations, speeding up some association reflections methods almost 10x (jeremyevans)
* Implement Model.freeze such that it can be used in production (jeremyevans)
* Recognize another disconnect error in the jdbc/as400 adapter (perlun) (#1300)
* Correctly handle conversion of false values when typecasting PostgreSQL arrays (mistoo) (#1299)
* Raise error if the postgres adapter attempts to load an incompatible version of sequel_pg (mahlonsmith) (#1298)
* Fix jdbc adapter so basic_type_convertor_map is not shared between instances, work with Database#freeze (jeremyevans)
=== 4.43.0 (2017-02-01)
* Make jdbc/postgresql adapter work if pg_hstore extension is loaded first (jeremyevans) (#1296)
* Make prepared_statements_associations plugin work correctly on some instance specific associations (jeremyevans)
* Make prepared_statements plugin not use prepared statements in cases where it is probably slower (jeremyevans)
* Optimize Model#refresh similar to Model.with_pk (jeremyevans)
* Make Database#extension not attempt to load the same extension more than once (jeremyevans)
* Implement Database#freeze such that it can be used in production (jeremyevans)
* Freeze enum_labels in the pg_enum extension (jeremyevans)
* Handle Database#type_supported? thread-safely on PostgreSQL (jeremyevans)
* Handle primary_key_sequences thread-safely on Oracle (jeremyevans)
* Handle sharding better when using mysql2 native prepared statements (jeremyevans)
* Use thread-safe incrementor for mock adapter autoid handling (jeremyevans)
* Make Model#freeze not freeze associations hash until after validating the model instance (jeremyevans)
* Make prepared_statements_associations plugin work correctly when model object explicitly specifies server to use when also using sharding plugin (jeremyevans)
* Make prepared_statements_with_pk plugin work correctly when dataset explicitly specifies server to use (jeremyevans)
* Make prepared_statements plugin work correctly when model object explicitly specifies server to use (jeremyevans)
* Make dataset_module inherited to subclasses when using the single_table_inheritance plugin (jeremyevans) (#1284)
* Support use of SQLite result codes in the jdbc-sqlite adapter, if the jdbc sqlite driver supports them (flash-gordon, jeremyevans) (#1283)
* Make timestamp migrator handle key length limitations when using MySQL with InnoDB engine and utf8mb4 charset default (jeremyevans) (#1282)
== v0.20.0 [2017-03-10] Michael Granger <ged@FaerieMUD.org>
Enhancements:
- Update error codes to PostgreSQL-9.6
- Update Windows binary gems to Ruby-2.4, PostgreSQL 9.6.1 and
OpenSSL 1.0.2j.
- Add support for RubyInstaller2 to Windows binary gems.
Bugfixes:
- Use secure JSON methods for JSON (de)serialisation. #248
- Fix Result#inspect on a cleared result.
- Fix test case that failed on Ruby-2.4. #255
Documentation fixes:
- Talk about Integer instead of Fixnum.
- Fix method signature of Coder#encode.
What's new in psycopg 2.7
-------------------------
New features:
- Added `~psycopg2.sql` module to generate SQL dynamically (🎫`#308`).
- Added :ref:`replication-support` (🎫`#322`). Main authors are
Oleksandr Shulgin and Craig Ringer, who deserve a huge thank you.
- Added `~psycopg2.extensions.parse_dsn()` and
`~psycopg2.extensions.make_dsn()` functions (🎟️`#321, #363`).
`~psycopg2.connect()` now can take both *dsn* and keyword arguments, merging
them together.
- Added `~psycopg2.__libpq_version__` and
`~psycopg2.extensions.libpq_version()` to inspect the version of the
``libpq`` library the module was compiled/loaded with
(🎟️`#35, #323`).
- The attributes `~connection.notices` and `~connection.notifies` can be
customized replacing them with any object exposing an `!append()` method
(🎫`#326`).
- Adapt network types to `ipaddress` objects when available. When not
enabled, convert arrays of network types to lists by default. The old `!Inet`
adapter is deprecated (🎟️`#317, #343, #387`).
- Added `~psycopg2.extensions.quote_ident()` function (🎫`#359`).
- Added `~connection.get_dsn_parameters()` connection method (🎫`#364`).
- `~cursor.callproc()` now accepts a dictionary of parameters (🎫`#381`).
- Give precedence to `!__conform__()` over superclasses to choose an object
adapter (🎫`#456`).
- Using Python C API decoding functions and codecs caching for faster
unicode encoding/decoding (🎫`#473`).
- `~cursor.executemany()` slowness addressed by
`~psycopg2.extras.execute_batch()` and `~psycopg2.extras.execute_values()`
(🎫`#491`).
- Added ``async_`` as an alias for ``async`` to support Python 3.7 where
``async`` will become a keyword (🎫`#495`).
- Unless in autocommit, do not use :sql:`default_transaction_*` settings to
control the session characteristics as it may create problems with external
connection pools such as pgbouncer; use :sql:`BEGIN` options instead
(🎫`#503`).
- `~connection.isolation_level` is now writable and entirely separated from
`~connection.autocommit`; added `~connection.readonly`,
`~connection.deferrable` writable attributes.
Bug fixes:
- Fixed error caused by missing decoding `~psycopg2.extras.LoggingConnection`
(🎫`#483`).
- Fixed integer overflow in :sql:`interval` seconds (🎫`#512`).
Other changes:
- Dropped support for Python 2.5 and 3.1.
- Dropped support for client library older than PostgreSQL 9.1 (but older
server versions are still supported).
- `~connection.isolation_level` doesn't read from the database but will return
`~psycopg2.extensions.ISOLATION_LEVEL_DEFAULT` if no value was set on the
connection.
- Empty arrays no more converted into lists if they don't have a type attached
(🎫`#506`)
5.2.2
- The request circuit breaker, which track the size of in-flight
requests, was not decrementing its counter when the connection was
closed by the client before the response could be returned. This could
result in no further requests being accepted until the node has been
restarted. All users should upgrade to take advantage of this bug fix.
- The cgroup functionality (for reading OS stats for containers) had a
bug in the regex for parsing /proc/self/cgroup which prevented nodes
with multiple hierarchies from starting up.
- Requests which have been delayed by a shard lock might be executed
later on a different thread which lacks the request context, resulting
in the requests being incorrectly rejected as unauthorised.
- Removal of an undocumented syntax for include/exclude parameters in
the terms aggregation broke certain aggregations in Kibana.
5.2.1
- When stored fields are configured with best_compression, we rely on
JVM garbage collection to reclaim Deflater/Inflater instances. However
these classes use little JVM memory but may use significant native
memory, so if may happen that the OS runs out of native memory before
the JVM collects these unreachable Deflater/Inflater instances.
- Certain queries can hold a reference to the IndexReader that was used
to build them. When these queries are cached, this reference causes
Lucene to hold onto segments long after they should have been deleted.
Features
- Quote index names in metadata CQL generation (PYTHON-616)
- On column deserialization failure, keep error message consistent
between python and cython (PYTHON-631)
- TokenAwarePolicy always sends requests to the same replica for a given
key (PYTHON-643)
- Added cql types to result set (PYTHON-648)
- Add __len__ to BatchStatement (PYTHON-650)
- Duration Type for Cassandra (PYTHON-655)
- Send flags with PREPARE message in v5 (PYTHON-684)
Bug Fixes
- Potential Timing issue if application exits prior to session pool
initialization (PYTHON-636)
- "Host X.X.X.X has been marked down" without any exceptions
(PYTHON-640)
- NoHostAvailable or OperationTimedOut when using execute_concurrent
with a generator that inserts into more than one table (PYTHON-642)
- ResponseFuture creates Timers and don't cancel them even when result
is received which leads to memory leaks (PYTHON-644)
- Driver cannot connect to Cassandra version > 3 (PYTHON-646)
- Unable to import model using UserType without setuping connection
since 3.7 (PYTHON-649)
- Don't prepare queries on ignored hosts on_up (PYTHON-669)
- Sockets associated with sessions not getting cleaned up on
session.shutdown() (PYTHON-673)
- Make client timestamps strictly monotonic (PYTHON-676)
- cassandra.cqlengine.connection.register_connection broken when
hosts=None (PYTHON-692)
Other
- Create a cqlengine doc section explaining None semantics (PYTHON-623)
- Resolve warnings in documentation generation (PYTHON-645)
- Cython dependency (PYTHON-686)
- Drop Support for Python 2.6 (PYTHON-690)
5.2.0 (2017-02-12)
- The client now automatically sends Content-Type http header set
to application/json. If you are explicitly passing in other
encoding than json you need to set the header manually.
5.1.0 (2017-01-11)
- Fixed sniffing
=== Breaking changes
Core::
- Add system call filter bootstrap check
=== Breaking Java changes
Allocation::
- Cluster Explain API uses the allocation process to explain shard
allocation decisions
Cluster::
- Remove PROTO-based custom cluster state components
Ingest::
- Change type of ingest doc meta-data field 'TIMESTAMP' to `Date`
Internal::
- Consolidate the last easy parser construction
- Introduce XContentParser#namedObject
Plugins::
- Plugins: Replace Rest filters with RestHandler wrapper
Query DSL::
- Resolve index names in indices_boost
Search::
- Cluster search shards improvements: expose ShardId, adjust visibility
of some members
=== Deprecations
Java API::
- Deprecate and remove "minimumNumberShouldMatch" in BoolQueryBuilder
Shadow Replicas::
- Add a deprecation notice to shadow replicas
=== New features
Analysis::
- Synonym Graph Support (LUCENE-6664)
Ingest::
- introduce KV Processor in Ingest Node
Mapping::
- Add the ability to set a normalizer on keyword fields.
- Add RangeFieldMapper for numeric and date range types
=== Enhancements
Aggregations::
- `value_type` is useful regardless of scripting.
- Support for partitioning set of terms
Allocation::
- Adds setting level to allocation decider explanations
- Improves allocation decider decision explanation messages
- Prepares allocator decision objects for use with the allocation
explain API
Analysis::
- Expose FlattenGraphTokenFilter
CRUD::
- Use correct block levels for TRA subclasses
Cluster::
- Keep NodeConnectionsService in sync with current nodes in the cluster
state
- Add a generic way of checking version before serializing custom
cluster object
- Add validation for supported index version on node join, restore,
upgrade & open index
- Let ClusterStateObserver only hold onto state that's needed for change
detection
- Remove mutable status field from cluster state
Core::
- Rename bootstrap.seccomp to bootstrap.system_call_filter
- Cleanup random stats serialization code
- Avoid corruption when deserializing booleans
- Reduce memory pressure when sending large terms queries.
Discovery::
- Simplify Unicast Zen Ping
- Prefer joining node with conflicting transport address when becoming
master
Ingest::
- add `ignore_missing` flag to ingest plugins
- Added ability to remove pipelines via wildcards (#22149)
- Enables the ability to inject serialized json fields into root of
document
- compile ScriptProcessor inline scripts when creating ingest pipelines
Internal::
- Remove some more usages of ParseFieldMatcher
- Remove some more usages of ParseFieldMatcher
- Remove some ParseFieldMatcher usages
- Add infrastructure to manage network connections outside of
Transport/TransportService
- Replace strict parsing mode with response headers assertions
- Start using `ObjectParser` for aggs.
- Don't output null source node in RecoveryFailedException
- ClusterService should expose "applied" cluster states (i.e., remove
ClusterStateStatus)
Java High Level REST Client::
- Add fromxcontent methods to index response
- Add fromXContent() methods for ReplicationResponse
- Add parsing method for ElasticsearchException
- Add fromXContent method to GetResponse
Java REST Client::
- Warn log deprecation warnings received from server
Logging::
- Log deleting indices at info level
- Log failure to connect to node at info instead of debug
Mapping::
- Atomic mapping updates across types
- Only update DocumentMapper if field type changes
- Better error message when `_parent` isn't an object
Network::
- Disable the Netty recycler
- Tell Netty not to be unsafe in transport client
- Introduce a low level protocol handshake
- Detach handshake from connect to node
- Reduce number of connections per node depending on the nodes role
- Add a connect timeout to the ConnectionProfile to allow per node
connect timeouts
- Grant Netty permission to read system somaxconn
- Remove connectToNodeLight and replace it with a connection profile
Packaging::
- Improve the out-of-the-box experience
Plugin Discovery EC2::
- Add support for ca-central-1 region to EC2 and S3 plugins
- Support for eu-west-2 (London) cloud-aws plugin
- Add us-east-2 AWS region
- Add setting to set read timeout for EC2 discovery and S3 repository
plugins
Plugin Ingest GeoIp::
- Cache results of geoip lookups
Plugin Lang Painless::
- Improve painless's ScriptException generation
Plugins::
- Pass ThreadContext to transport interceptors to allow header
modification
- Provide helpful error message if a plugin exists
- Add shutdown hook for closing CLI commands
- Allow plugins to install bootstrap checks
Query DSL::
- Un-deprecate fuzzy query
- support numeric bounds with decimal parts for long/integer/short/byte
datatypes
Reindex API::
- Reindex: Better error message for pipeline in wrong place
- Timeout improvements for rest client and reindex
Scripting::
- Wrap VerifyError in ScriptException
- Log ScriptException's xcontent if file script compilation fails
Search::
- Move SearchTransportService and SearchPhaseController creation outside
of TransportSearchAction constructor
- Don't carry ShardRouting around when not needed in
AbstractSearchAsyncAction
- ShardSearchRequest to take ShardId constructor argument rather than
the whole ShardRouting
- Use index uuid as key in the alias filter map rather than the index
name
Settings::
- Speed up filter and prefix settings operations
Snapshot/Restore::
- Fixes retrieval of the latest snapshot index blob
- Synchronize snapshot deletions on the cluster state
Stats::
- Include unindexed field in FieldStats response
Task Manager::
- Improve the error message if task and node isn't found
- Add descriptions to create snapshot and restore snapshot tasks.
- Add proper descriptions to reindex, update-by-query and
delete-by-query tasks.
=== Bug fixes
Aggregations::
- Fix scaled_float numeric type in aggregations
- Allow terms aggregations on pure boolean scripts.
- Fix numeric terms aggregations with includes/excludes and
minDocCount=0
- Fix `missing` on aggs on `boolean` fields.
- IP range masks exclude the maximum address of the range.
- Fix `other_bucket` on the `filters` agg to be enabled if a key is set.
Allocation::
- Cannot force allocate primary to a node where the shard already exists
- Promote shadow replica to primary when initializing primary fails
- Trim in-sync allocations set only when it grows
Analysis::
- AsciiFoldingFilter's multi-term component should never preserve the
original token.
- Pre-built analysis factories do not implement MultiTermAware
correctly.
CRUD::
- Reject external versioning and explicit version numbers on create
Cluster::
- IndicesService handles all exceptions during index deletion
Core::
- Streamline foreign stored context restore and allow to perserve
response headers
- Support negative numbers in readVLong
Discovery::
- Close InputStream when receiving cluster state in
PublishClusterStateAction
- Do not reply to pings from another cluster
Engine::
- Close and flush refresh listeners on shard close
Exceptions::
- Fixing shard recovery error message to report the number of docs
correctly for each node
Highlighting::
- Fix FiltersFunctionScoreQuery highlighting
Index APIs::
- Ensure shrunk indices carry over version information from its source
Ingest::
- fix index out of bounds error in KV Processor
- Fixes GrokProcessor's ignorance of named-captures with same name.
Inner Hits::
- Inner hits and ignore unmapped
Internal::
- Index creation and setting update may not return deprecation logging
Java API::
- Don't output empty ext object in SearchSourceBuilder#toXContent
Java REST Client::
- Don't use null charset in RequestLogger
Mapping::
- The `_all` default mapper is not completely configured.
- Fix MapperService.allEnabled().
- Dynamic `date` fields should use the `format` that was used to detect
it is a date.
- Sub-fields should not accept `include_in_all` parameter
- Mappings: Fix get mapping when no indexes exist to not fail in
response generation
Nested Docs::
- Fix bug in query builder rewrite that ignores the ignore_unmapped
option
Network::
- Pass `forceExecution` flag to transport interceptor
- Ensure new connections won't be opened if transport is closed or
closing
- Prevent open channel leaks if handshake times out or is interrupted
- Execute low level handshake in #openConnection
- Properly configure Netty 3 ClientBootstrap when using custom
connection profile
- Handle connection close / reset events gracefully during handshake
- Do not lose host information when pinging
- DiscoveryNode and TransportAddress should preserve host information
Packaging::
- Another fix for handling of paths on Windows
- Fix handling of spaces in Windows paths
- Add option to skip kernel parameters on install
Percolator::
- Fix NPE in percolator's 'now' range check for percolator queries with
range queries
Plugin Analysis Stempel::
- Fix thread safety of Stempel's token filter factory
Plugin Lang Painless::
- Whitelist some ScriptDocValues in painless
- Update Painless Loop Counter to be Higher
- Fix some issues with painless's strings
- Test fix for def equals in Painless
- Fix a VerifyError bug in Painless
Plugin Mapper Attachment::
- NPE is raised when defining a non existing type within attachments
type
Plugin Repository Azure::
- Fixes default chunk size for Azure repositories
- readonly on azure repository must be taken into account
Query DSL::
- Fix script score function that combines `_score` and weight
REST::
- Adds percent-encoding for Location headers
Recovery::
- Fix primary relocation for shadow replicas
- Don't close store under CancellableThreads
- Use a fresh recovery id when retrying recoveries
- Allow flush/force_merge/upgrade on shard marked as relocated
Reindex API::
- Fix reindex from remote clearing scroll
- Fix source filtering in reindex-from-remote
- Remove content type detection from reindex-from-remote
- Don't close rest client from its callback
- Keep context during reindex's retries
Scripting::
- Expose `ip` fields as strings in scripts.
Search::
- Improve concurrency of ShardCoreKeyMap.
- Make `-0` compare less than `+0` consistently.
- Fix boost_mode propagation when the function score query builder is
rewritten
- FiltersAggregationBuilder: rewriting filter queries, the same way as
in FilterAggregationBuilder
- Fix cross_fields type on multi_match query with synonyms
Search Templates::
- SearchTemplateRequest to implement CompositeIndicesRequest
Settings::
- Handle spaces in `action.auto_create_index` gracefully
- Fix settings diff generation for affix and group settings
Snapshot/Restore::
- Gracefully handles pre 2.x compressed snapshots
- URLRepository should throw NoSuchFileException to correctly adhere to
readBlob contract
- Fixes shard level snapshot metadata loading when index-N file is
missing
Stats::
- Implement stats for geo_point and geo_shape field
- Use reader for doc stats
- Avoid NPE in NodeService#stats if HTTP is disabled
- Add support for "include_segment_file_sizes" in indices stats REST
handler
Term Vectors::
- Fix `_termvectors` with preference to not hit NPE
- Return correct term statistics when a field is not found in a shard
=== Regressions
Core::
- Source filtering: only accept array items if the previous include
pattern matches
Logging::
- Restores the original default format of search slow log
Search::
- Handle specialized term queries in MappedFieldType.extractTerm(Query)
=== Upgrades
Core::
- Upgrade to Lucene 6.4.0
- Update Jackson to 2.8.6
- Upgrade to lucene-6.4.0-snapshot-084f7a0.
- Upgrade to lucene-6.4.0-snapshot-ec38570
================================================================================
Redis 3.2.8 Released Sun Feb 12 16:11:18 CET 2017
================================================================================
Two important bug fixes, the first of one is critical:
1. Apparently Jemalloc 4.4.0 may contain a deadlock under particular
conditions. See https://github.com/antirez/redis/issues/3799.
We reverted back to the previously used Jemalloc versions and plan
to upgrade Jemalloc again after having more info about the
cause of the bug.
2. MIGRATE could crash the server after a socket error. See for reference:
https://github.com/antirez/redis/issues/3796.
================================================================================
Redis 3.2.7 Released Tue Jan 31 16:21:41 CET 2017
================================================================================
Main bugs fixes and improvements in this release:
1. MIGRATE could incorrectly move keys between Redis Cluster nodes by turning
keys with an expire set into persisting keys. This bug was introduced with
the multiple-keys migration recently. It is now fixed. Only applies to
Redis Cluster users that use the resharding features of Redis Cluster.
2. As Redis 4.0 beta and the unstable branch already did (for some months at
this point), Redis 3.2.7 also aliases the Host: and POST commands to QUIT
avoiding to process the remaining pipeline if there are pending commands.
This is a security protection against a "Cross Scripting" attack, that
usually involves trying to feed Redis with HTTP in order to execute commands.
Example: a developer is running a local copy of Redis for development
purposes. She also runs a web browser in the same computer. The web browser
could send an HTTP request to http://127.0.0.1:6379 in order to access the
Redis instance, since a specially crafted HTTP requesta may also be partially
valid Redis protocol. However if POST and Host: break the connection, this
problem should be avoided. IMPORTANT: It is important to realize that it
is not impossible that another way will be found to talk with a localhost
Redis using a Cross Protocol attack not involving sending POST or Host: so
this is only a layer of protection but not a definitive fix for this class
of issues.
3. A ziplist bug that could cause data corruption, could crash the server and
MAY ALSO HAVE SECURITY IMPLICATIONS was fixed. The bug looks complex to
exploit, but attacks always get worse, never better (cit). The bug is very
very hard to catch in practice, it required manual analysis of the ziplist
code in order to be found. However it is also possible that rarely it
happened in the wild. Upgrading is required if you use LINSERT and other
in-the-middle list manipulation commands.
4. We upgraded to Jemalloc 4.4.0 since the version we used to ship with Redis
was an early 4.0 release of Jemalloc. This version may have several
improvements including the ability to better reclaim/use the memory of
system.
* Approximately 25% better performance from the R-Tree extension.
* Uses compiler built-ins (ex: __builtin_bswap32() or _byteswap_ulong()) for byteswapping when available.
* Uses the sqlite3_blob key/value access object instead of SQL for pulling content out of R-Tree nodes
* Other miscellaneous enhancements such as loop unrolling.
* Add the SQLITE_DEFAULT_LOOKASIDE compile-time option.
* Increase the default lookaside size from 512,125 to 1200,100 as this provides better performance while only adding 56KB of extra memory per connection. Memory-sensitive applications can restore the old default at compile-time, start-time, or run-time.
* Use compiler built-ins __builtin_sub_overflow(), __builtin_add_overflow(), and __builtin_mul_overflow() when available. (All compiler built-ins can be omitted with the SQLITE_DISABLE_INTRINSIC compile-time option.)
* Added the SQLITE_ENABLE_NULL_TRIM compile-time option, which can result in significantly smaller database files for some applications, at the risk of being incompatible with older versions of SQLite.
* Change SQLITE_DEFAULT_PCACHE_INITSZ from 100 to 20, for improved performance.
* Added the SQLITE_UINT64_TYPE compile-time option as an analog to SQLITE_INT64_TYPE.
* Perform some UPDATE operations in a single pass instead of in two passes.
* Enhance the session extension to support WITHOUT ROWID tables.
* Fixed performance problems and potential stack overflows when creating views from multi-row VALUES clauses with hundreds of thousands of rows.
* Added the sha1.c extension.
* In the command-line shell, enhance the ".mode" command so that it restores the default column and row separators for modes "line", "list", "column", and "tcl".
* Enhance the SQLITE_DIRECT_OVERFLOW_READ option so that it works in WAL mode as long as the pages being read are not in the WAL file.
* Enhance the LEMON parser generator so that it can store the parser object as a stack variable rather than allocating space from the heap and make use of that enhancement in the amalgamation.
* Other performance improvements. Uses about 6.5% fewer CPU cycles.
Bug Fixes:
* Throw an error if the ON clause of a LEFT JOIN references tables to the right of the ON clause. This is the same behavior as PostgreSQL. Formerly, SQLite silently converted the LEFT JOIN into an INNER JOIN.
* Use the correct affinity for columns of automatic indexes.
* Ensure that the sqlite3_blob_reopen() interface can correctly handle short rows.