=== Breaking changes
Settings::
- Remove support for default settings
=== Breaking Java changes
Aggregations::
- Move getProperty method out of MultiBucketsAggregation.Bucket
interface
- Remove getProperty method from Aggregations interface and impl
- Move getProperty method out of Aggregation interface
Java API::
- Fold InternalSearchHits and friends into their interfaces
=== Deprecations
Aggregations::
- Deprecate Stats#getCountAsString
Java API::
- Add BulkProcessor methods with XContentType parameter
Network::
- Deprecate Netty 3
Packaging::
- Add deprecation warnings for $ES_USER and $ES_GROUP
Plugin Delete By Query::
- Deprecate delete_by_query requests without an explicit query
Plugin Repository Azure::
- Deprecate global `repositories.azure` settings
Plugin Repository S3::
- Deprecate repositories.s3 settings
REST::
- Deprecate ldjson support and document ndjson for bulk/msearch
Stats::
- Deprecate `_field_stats` endpoint
=== New features
Analysis::
- Adds pattern keyword marker filter support
- Expose WordDelimiterGraphTokenFilter
Index APIs::
- Add FieldCapabilities (`_field_caps`) API
Search::
- Introduce incremental reduction of TopDocs
Similarities::
- Adds boolean similarity to Elasticsearch
=== Enhancements
Aggregations::
- Add BucketMetricValue interface
- Move aggs CommonFields and TYPED_KEYS_DELIMITER from
InternalAggregation to Aggregation
- Use ParseField for aggs CommonFields rather than String
- Share XContent rendering code in terms aggs
- Add unit tests for ParentToChildAggregator
- First step towards incremental reduction of query responses
Allocation::
- Trigger replica recovery restarts by master when primary relocation
completes
- Makes the same_shard host dynamically updatable
Analysis::
- Support Keyword type in Analyze API
Cluster::
- Prevent nodes from joining if newer indices exist in the cluster
Core::
- Detect remnants of path.data/default.path.data bug
- Await termination after shutting down executors
- Add early-access check
- Adapter action future should restore interrupts
- Disable bootstrap checks for single-node discovery
- Enable explicitly enforcing bootstrap checks
- Add equals/hashcode method to ReplicationResponse
Dates::
- Improve error handling for epoch format parser with time zone
(#22621)
Discovery::
- Introduce single-node discovery
- UnicastZenPing shouldn't ping the address of the local node
- MasterFaultDetection can start after the initial cluster state has
been processed
Highlighting::
- Add support for fragment_length in the unified highlighter
- Add BreakIteratorBoundaryScanner support
Index APIs::
- Wildcard cluster names for cross cluster search
Ingest::
- Lazy load the geoip databases
Internal::
- Add a dedicated TransportRemoteInfoAction for consistency
- Simplify sorted top docs merging in SearchPhaseController
- Synchronized CollapseTopFieldDocs with lucenes relatives
- Cleanup SearchPhaseController interface
- Do not create String instances in 'Strings' methods accepting
StringBuilder
Java API::
- Added types options to DeleteByQueryRequest
Java High Level REST Client::
- Convert suggestion response parsing to use NamedXContentRegistry
- UpdateRequest implements ToXContent
- Add javadoc for DocWriteResponse.Builders
- Expose WriteRequest.RefreshPolicy string representation
- Use `typed_keys` parameter to prefix suggester names by type in
search responses
- Add parsing methods to BulkItemResponse
Logging::
- Warn on not enough masters during election
Mapping::
- Improve error message for ipv6 on legacy ip fields
Nested Docs::
- Avoid adding unnecessary nested filters when ranges are used.
Network::
- Adjust default Netty receive predictor size to 64k
- Keep the pipeline handler queue small initially
- Set network receive predictor size to 32kb
- TransportService.connectToNode should validate remote node ID
Packaging::
- Introduce Java version check
- Cleanup some things after removal of joda-time hack
Percolator::
- Allowing range queries with now ranges inside percolator queries
- Add term extraction support for MultiPhraseQuery
Plugin Discovery EC2::
- Settings: Migrate ec2 discovery sensitive settings to elasticsearch
keystore
Plugin Lang Painless::
- Allow painless to load stored fields
- Start on custom whitelists for Painless
- Fix Painless's implementation of interfaces returning primitives
- Allow painless to implement more interfaces
Plugin Repository Azure::
- Add Backoff policy to azure repository
Plugin Repository S3::
- Removes the retry mechanism from the S3 blob store
- S3 Repository: Eagerly load static settings
Plugins::
- Modify permissions dialog for plugins
- Plugins: Add plugin cli specific exit codes
- Plugins: Output better error message when existing plugin is
incompatible
Query DSL::
- Make it possible to validate a query on all shards instead of a
single random shard
REST::
- Validate top-level keys when parsing mget requests
- Cluster stats should not render empty http/transport types
- Add parameter to prefix aggs name with type in search responses
Search::
- Set shard count limit to unlimited
- Streamline shard index availability in all SearchPhaseResults
- Search took time should use a relative clock
- Prevent negative `from` parameter in SearchSourceBuilder
- Remove unnecessary result sorting in SearchPhaseController
- Expose `batched_reduce_size` via `_search`
- Adding fromXContent to Suggest and Suggestion class
- Adding fromXContent to Suggestion.Entry and subclasses
- Add CollapseSearchPhase as a successor for the FetchSearchPhase
- Integrate IndexOrDocValuesQuery.
- Detach SearchPhases from AbstractSearchAsyncAction
- Fix GraphQuery expectation after Lucene upgrade to 6.5
- Nested queries should avoid adding unnecessary filters when
possible.
- Add xcontent parsing to completion suggestion option
- Add xcontent parsing to suggestion options
- Separate reduce (aggs, suggest and profile) from merging fetched
hits
Settings::
- Add secure file setting to keystore
- Add a setting which specifies a list of setting
- Add a property to mark setting as final
- Remove obsolete index setting `index.version.minimum_compatible`.
- Provide a method to retrieve a closeable char[] from a SecureString
- Update indices settings api to support CBOR and SMILE format
- Improve setting deprecation message
Snapshot/Restore::
- Change snapshot status error to use generic SnapshotException
Stats::
- Add cross-cluster search remote cluster info API
Task Manager::
- Allow task to be unregistered by ClusterStateApplier
- Limit IndexRequest toString() length
=== Bug fixes
Aggregations::
- Align behavior HDR percentiles iterator with percentile() method
- The `filter` and `significant_terms` aggregations should parse the
`filter` as a filter, not a query.
- Completion suggestion should also consider text if prefix/regex is
missing
- Fixes the per term error in the terms aggregation
- Fixes terms error count for multiple reduce phases
- Restore support for the `include/pattern` syntax.
Bulk::
- Reject empty IDs
CRUD::
- Fix backport executing ops as single item bulk
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
Core::
- Check for default.path.data included in path.data
- Improve performance of extracting warning value
- Reject duplicate settings on the command line
- Restrict build info loading to ES jar, not any jar
Discovery::
- ZenDiscovery - only validate min_master_nodes values if local node
is master
Index APIs::
- Fixes restore of a shrunken index when initial recovery node is gone
- Honor update request timeout
Ingest::
- Improve missing ingest processor error
- update _ingest.timestamp to use new ZonedDateTime
Inner Hits::
- Replace NestedChildrenQuery with ParentChildrenBlockJoinQuery
- Changed DisMaxQueryBuilder to extract inner hits from leaf queries
Internal::
- Add infrastructure to mark contexts as system contexts
- Always restore the ThreadContext for operations delayed due to a
block
Java High Level REST Client::
- Correctly parse BulkItemResponse.Failure's status
Java REST Client::
- Make buffer limit configurable in HeapBufferedConsumerFactory
- RestClient asynchronous execution should not throw exceptions
Mapping::
- Preserve response headers when creating an index
- Improves disabled fielddata error message
- Switch include_in_all in multifield to warning
- Fix MapperService StackOverflowError
- Fix NPE with scaled floats stats when field is not indexed
Network::
- Fix possible hang in local transport when nodes get concurrently
disconnected
- Respect promises on pipelined responses
- Ensure that releasing listener is called
Packaging::
- Fall back to non-atomic move when removing plugins
Percolator::
- Fix memory leak when percolator uses bitset or field data cache
Plugin Ingest Attachment::
- Remove support for Visio and potm files
Plugin Lang Painless::
- Fix painless's regex lexer and error messages
- Replace Painless's Cast with casting strategies
- Fix Bad Casts In Painless
Plugin Repository Azure::
- Azure blob store's readBlob() method first checks if the blob exists
Plugin Repository S3::
- Handle BlobPath's trailing separator case. Add test cases to
BlobPathTests.java
Plugins::
- Fix delete of plugin directory on remove plugin
- Use a marker file when removing a plugin
Query DSL::
- FuzzyQueryBuilder should error when parsing array of values
REST::
- [API] change wait_for_completion default according to docs
- Deprecate request_cache for clear-cache
- 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
- Align REST specs for HEAD requests
- Correct warning header to be compliant
- Fix get HEAD requests
- Fix search scroll request with a plain text body
- Handle bad HTTP requests
- Fix get source HEAD requests
- Properly encode location header
- Fix template HEAD requests
- Fix index HEAD requests
- Fix alias HEAD requests
Recovery::
- Provide target allocation id as part of start recovery request
Reindex API::
- Fix throttled reindex_from_remote
- Fix reindex with a remote source on a version before 2.0.0
- Make reindex wait for cleanup before responding
Scripting::
- Remove unnecessary Groovy deprecation logging
- Convert script/template objects to json format internally
- Script: Fix value of `ctx._now` to be current epoch time in
milliseconds
Search::
- Cross Cluster Search: propagate original indices per cluster
- Query string default field
- Speed up parsing of large `terms` queries.
- IndicesQueryCache should delegate the scorerSupplier method.
- Fork LRUQueryCache from Lucene to work around LUCENE-7749
- Disable graph analysis at query time for shingle and cjk filters
producing tokens of different size
- Fix cross-cluster remote node gateway attributes
- Use a fixed seed for computing term hashCode in TermsSliceQuery
- Honor max concurrent searches in multi-search
- Avoid stack overflow in multi-search
- Fix query_string_query to transform "foo:*" in an exists query on
the field name
- Factor out filling of TopDocs in SearchPhaseController
- Replace blocking calls in ExpandCollapseSearchResponseListener by
asynchronous requests
Search Templates::
- No longer add illegal content type option to stored search templates
Settings::
- Do not set path.data in environment if not set
- Correct handling of default and array settings
- Fix merge scheduler config settings
- Settings: Fix keystore cli prompting for yes/no to handle console
returning null
Similarities::
- Fix similarity upgrade when "default" similarity is overridden
Snapshot/Restore::
- Fixes maintaining the shards a snapshot is waiting on
- Fixes snapshot status on failed snapshots
- Fixes snapshot deletion handling on in-progress snapshot failure
- Prioritize listing index-N blobs over index.latest in reading
snapshots
Stats::
- Avoid overflow when computing total FS stats
- Handle existence of cgroup version 2 hierarchy
- Handle long overflow when adding paths' totals
- Fix control group pattern
- Fix total disk bytes returning negative value
=== Regressions
Bulk::
- Fix _bulk response when it can't create an index
=== Upgrades
Aggregations::
- Upgrade HDRHistogram to 2.1.9
Core::
- Upgrade to Lucene 6.5.0
- Upgrade from JNA 4.2.2 to JNA 4.4.0
- Upgrade to lucene-6.5.0-snapshot-d00c5ca
- Upgrade to lucene-6.5.0-snapshot-f919485.
Logging::
- Upgrade to Log4j 2.8.2
Network::
- Upgrade to Netty 4.1.9
- Upgrade to Netty 4.1.8
Plugin Repository Azure::
- Update to Azure Storage 5.0.0
- Remove the playhouse.fields.AESEncryptedField over security concerns
described in ticket #1264.
- Correctly resolve explicit table dependencies when creating tables, refs
- Implement not equals comparison for CompositeKey.
leading and trailing spaces in server name don’t raise exception anymore - DitContentRule is properly read from the schema - added validator for Active Directory timestamp - Mock strategies raise an exception if a non-bytes value is added to the schema when no offline schema is provided (str and int are automatically converted) - added custom_validators property to Mock strategies - modifying objectClass with bytes values doesn’t raise an exception anymore (but it may fail anyway because of server constraints) - ensure that config sequence parameters are properly set - allow case insensitive attribute and class names in config parameters - added server.schema.is_valid() to check if the schema is available - empty schema properties are set to empty dict() instead of None - schema definitions with traling and leading spaces are now properly parsed and don’t raise an LDAPSchemaError exception anymore - fixed error when flaky servers (OpenLDAP) don’t return the correct response with StartTls
abstraction layer query converts int values to string (thanks dgadmin)
CaseInsensitiveDictWithAlias doesn’t raise an exception anymore if alias is set multiple times to the same key
friendly names in AttrDef are properly managed when performing commits in Writer cursors
no more errors when server returns an empty schema (thanks Glen)
range attributes in entries are properly recognized when auto_range is False
fixed random errors in auto_range searches (thanks James)
fixed checking of malformed schema
added configuration parameter IGNORE_MALFORMED_SCHEMA to not raise exception for servers that don’t follow the LDAP RFCs (defaults to False)
test config moved to test/config.py
testcase_id generated randomly for each test
added ATTRIBUTES_EXCLUDED_FROM_OBJECT_DEF parmeter to exclude some attribute from automatic populate of ObjectDef in Abstract Layer (helpful for AD)
added IGNORED_MANDATORY_ATTRIBUTES_IN_OBJECT_DEF parmeter to exclude some attribute from mandatory attribute list in ObjectDef in Abstract Layer (helpful for AD)
fixed error when using implicit assigning in WritableEntry
added LDAPInvalidValueError Exception
in Python 3 byte filter are converted to unicode before parsing
RESPONSE_DN_ENCODING parameter renamed to ADDITIONAL_ENCODINGS
to_unicode(value, encoding=None, additional_encodings=False) now checks for additional encoodings in ADDITIONAL_ENCODINGS list if additional_encoding is set to True
Reusable strategy uses not lazy Restartable connections
Lib/slapdtest.py
* SlapdObject now evaluates env var SLAPD for optionally pointing
to OpenLDAP's slapd executable (e.g. with OpenLDAP LTB builds)
* added LDAPI support in slaptest.SlapdObject which is internally used
in methods ldapadd() and ldapwhoami()
* added method slaptest.SlapdObject.ldapmodify()
* fixed enabling logger in slaptest
* directory name now contains port to be able to run several SlapdObject
instances side-by-side (e.g. with replication)
* added authz-regexp mapping to rootdn for user running the test
* internally use SASL/EXTERNAL via LDAPI to bind
* SlapdObject.server_id used as serverID in slapd.conf for MMR
* Removed method SlapdObject.started() because SlapdTestCase.setUpClass()
will be used to add initial entries
Tests/
* ReconnectLDAPObject is also tested by sub-classing test class
3.4.2
- PreProcessing is failling with "got invalid document size"
- mongo-replay crashes during playback
- nil pointer derereference when error occurs
3.4.1
- Stats collection has large playback performance impact
- Add option to set capture buffer size to avoid packet loss
- Playback file contains full reply payload
- mongoreplay: out of bounds error in "shortenreply" during record
- Add test for restoring a collection with a default collation
- nil pointer dereference in mongoreplay when error on new playback
file creation
3.2.10
- Don't create intents for system.profile.metadata.json files
- tools do not respect readPreference=secondary when connecting to a
mongos
- Mongodump SSL and GSSAPI authentication
- No numeric version in -version output
- Backport to v3.2
- Issue only one ApplyOps cmd per oplog entry
3.2.9
- Make -version spit out a bit more information.
3.2.8
- Mongostat with discover can find the same node twice in a sharded
cluster
- mongostat -discover does not alias localhost to the target hostname
- mongoimport returns exit code 0 even when error prevents records
from being inserted
- Wrong error message while using mongoimport
- add a "-assertExists" option to mongoexport
- Use v3.2.7 for qa tests
- mongoimport types jstest fails on functions
-------------------------------------------------------------------
(From https://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-56.html)
Changes in MySQL 5.5.56 (2017-05-02, General availability)
Binary packages for MySQL 5.5.56 are identical to those for MySQL
5.5.55, except for the version number. The change in 5.5.56 for Bug
#25942414 is applicable only to those who build from source.
Security Notes
For the WITH_SSL CMake option, no is no longer a permitted value or
the default value. The default is now bundled. Consequently, MySQL now
is always built with SSL support. (Bug #25942414)
-------------------------------------------------------------------
(pkgsrc changes)
- Removed ssl option both from PKG_{SUPPORTED,SUGGESTED}_OPTIONS.
This may give error if ssl is explicitly designated, but I believe
that is the (kind of) upstream intension.
(or left ssl in SUPPORTED and ignore it ?)
------------------------------------
1.06 Fri Apr 5 2013 Todd Rinaldo
Bump to production release now tests all pass on cpan testers
1.05_01 Thu Mar 28 2013 Todd Rinaldo
Fix for RT 58813 - Fix for File based DBDs
Fix for RT 84125 - Fix for mysqlPP
(pkgsrc changes)
- drop two patches, those were really provided by upstream after previous version
- Add do-test: target, for doing without any environment. Hope this will give PASS
-------------------------------------------
1.412 2017-04-06
* Release 1.411_001 without further changes as 1.412
1.411_001 2017-03-30
[Bug fixes]
* Fix http://www.perlmonks.org/?node_id=1167381 (NumericEval: fix
typo on error handling) (thanks to Yanick Champoux, James R. Leu)
* fix repo url and t/02execute.t (Reini Urban, Mohammad S Anwar)
* fix test failing with blead-perl (Jens Rehsack)
[Improvements]
* Refactor constraints processing (Ovidiu Gheorghies)
* Support parsing of complex JOIN clause (containing OR and ()'s) (James R. Leu)
* handle backtick quoting (Ben Hengst)
------------------------------------------
0.29 Sun Jan 15 15:44:09 2017 +0100
RT #119853 Fix spelling mistakes in the POD.
Thanks to gregor herrmann, Debian Perl Group.
0.28 Tue Jan 10 20:03:04 2017 +0100
Updated due to misuse of HTML::Lint 2.26.
PickleShare - a small shelve like datastore with concurrency support
Like shelve, a PickleShareDB object acts like a normal dictionary
Unlike shelve, many processes can access the database simultaneously
Changing a value in database is immediately visible to other processes
accessing the same database
=== Breaking changes
Settings::
- Remove support for default settings
=== Enhancements
Core::
- Detect remnants of path.data/default.path.data bug
Network::
- Adjust default Netty receive predictor size to 64k
REST::
- Cluster stats should not render empty http/transport types
=== Bug fixes
Aggregations::
- The `filter` and `significant_terms` aggregations should parse the
`filter` as a filter, not a query.
- Restore support for the `include/pattern` syntax.
Bulk::
- Reject empty IDs
Core::
- Improve performance of extracting warning value
- Restrict build info loading to ES jar, not any jar
Discovery::
- ZenDiscovery - only validate min_master_nodes values if local node
is master
Index APIs::
- Honor update request timeout
Inner Hits::
- Replace `NestedChildrenQuery` with `ParentChildrenBlockJoinQuery`
Internal::
- Add infrastructure to mark contexts as system contexts
Java REST Client::
- Make buffer limit configurable in HeapBufferedConsumerFactory
Mapping::
- Preserve response headers when creating an index
- Fix NPE with scaled floats stats when field is not indexed
Network::
- Fix possible hang in local transport when nodes get concurrently
disconnected
Plugin Repository Azure::
- Azure blob store's readBlob() method first checks if the blob exists
Reindex API::
- Fix reindex with a remote source on a version before 2.0.0
Search::
- Disable graph analysis at query time for shingle and cjk filters
producing tokens of different size
- Fix cross-cluster remote node gateway attributes
- Use a fixed seed for computing term hashCode in TermsSliceQuery
Settings::
- Do not set path.data in environment if not set
- Correct handling of default and array settings
Stats::
- Handle existence of cgroup version 2 hierarchy
=== Upgrades
Internal::
- upgrade to Lucene 6.4.2
=== 4.45.0 (2017-04-01)
* Correctly handle datasets with offsets but no limits used in compound datasets on MSSQL <2012 (jeremyevans)
* Correctly handle false values in the split_values plugin (bananarne) (#1333)
* Deprecate Dataset#dup/clone and Model.dup/clone (jeremyevans)
* Deprecate the schema and scissors plugins (jeremyevans)
* Deprecate Model.{lazy_attributes,nested_attributes,composition,serialization}_module accessors (jeremyevans)
* Deprecate Database#database_name on MySQL (jeremyevans)
* Deprecate Database#use on MySQL (jeremyevans)
* Make pg_hstore extension no longer update PG_NAMED_TYPES (jeremyevans)
* Deprecate Sequel::PG_NAMED_TYPES (jeremyevans)
* Add columns_updated plugin for making updated columns hash available in after_update and after_save hooks (jeremyevans)
* Deprecate accessing @columns_updated directly in model after_update and after_save hooks (jeremyevans)
* Deprecate Database#{add,remove}_servers when not using a sharded connection pool (jeremyevans)
* Deprecate Database#each_server (jeremyevans)
* Make Model#_valid? private method accept only an options hash (jeremyevans)
* Deprecate returning false from model before hooks to cancel the action, use Model#cancel_action (jeremyevans)
* Handle Model#cancel_action correctly in before hooks when Model#valid? is called (jeremyevans)
* Deprecate Sequel::BeforeHookFailed (jeremyevans)
* Deprecate passing multiple arguments as filter arguments when not using a conditions specifier (jeremyevans)
* Deprecate passing Procs as filter arguments, require they be passed as blocks (jeremyevans)
* Deprecate Sequel::Error::* exception class aliases (jeremyevans)
* Deprecate prepared_statements_associations and prepared_statements_with_pk plugins (jeremyevans)
* Deprecate Sequel::Unbinder, Sequel::UnbindDuplicate, and Dataset#unbind (jeremyevans)
* Deprecating calling Sequel::Qualifier with two arguments (jeremyevans)
* Add validation_contexts plugin for supporting custom contexts when validating (jeremyevans)
* Deprecate Sequel::Database.single_threaded singleton accessor (jeremyevans)
* Deprecate treating unrecognized prepared statement type as :select (jeremyevans)
* Deprecate Sequel.identifier_{in,out}put_method= and .quote_identifiers= singleton setters (jeremyevans)
* Deprecate Sequel::Database.identifier_{in,out}put_method and .quote_identifiers singleton accessors (jeremyevans)
* Deprecate loading the identifier_mangling by default, require it be loaded explicitly if needed (jeremyevans)
* Make Database#dump_{table_schema,schema_migration} in schema_dumper extension support :schema option (dadario) (#1328)
* Make Dataset#delete respect an existing limit on Microsoft SQL Server (jeremyevans)
* Add Dataset#skip_limit_check to mark a dataset as skipping the limit/offset check for updates and deletes (jeremyevans)
* Deprecate calling Dataset#{update/delete/truncate} on datasets with limits or offsets unless the database supports it (jeremyevans)
* Add deprecation message for using association_pks setter method with :delay_pks=>true association option (jeremyevans)
* Add deprecation message for using association_pks setter method without :delay_pks association option (jeremyevans)
* Deprecate having duplicate column names in subclass tables when using the class_table_inheritance plugin (jeremyevans)
* Deprecate do (DataObjects), swift, and jdbc/as400 adapters (jeremyevans)
* Deprecate support for Cubrid, Firebird, Informix, and Progress databases (jeremyevans)
* The :proxy_argument option passed to association_proxies plugin block is now an empty hash if no arguments are passed to the association method (jeremyevans)
* Deprecate passing non-hash arguments to association methods (jeremyevans)
* Deprecate passing multiple arguments to association methods (jeremyevans)
* Deprecate model transaction hook methods (jeremyevans)
* Drop support for pg <0.8.0 in the postgres adapter (jeremyevans)
* Deprecate passing a block to Database#from (jeremyevans)
* Deprecate Sequel::Model::ANONYMOUS_MODEL_CLASSES{,_MUTEX} (jeremyevans)
* Deprecate Sequel.cache_anonymous_models and Sequel.cache_anonymous_models= (jeremyevans)
* Automatically use from_self when using a dataset as part of a compound if it has an offset but no limit (jeremyevans)
* Drop order on existing datasets when using Dataset#union/intersect/except on Microsoft SQL Server unless a limit or offset is used (jeremyevans)
* Deprecate dataset mutation (jeremyevans)
* Handle dumping of autoincrementing 64-bit integer primary key columns correctly when using :same_db option in the schema dumper (jeremyevans) (#1324)
* Add Model.dataset_module_class accessor, allowing plugins to support custom behavior in dataset_module blocks (jeremyevans)
* Make ORDER BY come after UNION/INTERSECT/EXCEPT on Microsoft SQL Server and SQLAnywhere (jeremyevans)
* Make Database#indexes on MySQL handle qualified identifiers (jeremyevans) (#1316)
* Add oracle support to the odbc adapter (samuel02) (#1315)
## 2.9.2
- Fixed significant bug in the `savepoint` commit/rollback implementation.
- Added support for postgresql `INTERVAL` columns.
- Fixed bug where missing `sqlite3` library was causing other, unrelated
libraries to throw errors when attempting to import.
- Added a `case_sensitive` parameter to the SQLite `REGEXP` function
implementation. The default is `False`, to preserve backwards-compatibility.
- Fixed bug that caused tables not to be created when using the `dataset`
extension.
- Modified `drop_table` to raise an exception if the user attempts to drop
tables with `CASCADE` when the database backend does not support it.
- Fixed Python3 issue in the `AESEncryptedField`.
- Modified the behavior of string-typed fields to treat the addition operator
as concatenation
## 2.9.1
- Fixed#1218, where the use of `playhouse.flask_utils` was requiring the
`sqlite3` module to be installed.
- Fixed#1219 regarding the SQL generation for composite key sub-selects,
joins, etc.
## 2.9.0
In this release there are two notable changes:
- The ``Model.create_or_get()`` method was removed.
- The SQLite closure table extension gained support for many-to-many
relationships thanks to a nice PR by @necoro.
## 2.8.8
This release contains a single important bugfix for a regression in specifying
the type of lock to use when opening a SQLite transaction.
## 2.8.7
This release contains numerous cleanups.
### Bugs fixed
- #1087 - Fixed a misuse of the iteration protocol in the `sqliteq` extension.
- #1096 - Fix representation of recursive foreign key relations when using the
`model_to_dict` helper.
- #1126 - Allow `pskel` to be installed into `bin` directory.
- #1105 - Added a `Tuple()` type to Peewee to enable expressing arbitrary
tuple expressions in SQL.
- #1133 - Fixed bug in the conversion of objects to `Decimal` instances in the
`DecimalField`.
- Fixed an issue renaming a unique foreign key in MySQL.
- Remove the join predicate from CROSS JOINs.
- #1148 - Ensure indexes are created when a column is added using a schema
migration.
- #1165 - Fix bug where the primary key was being overwritten in queries using
the closure-table extension.
### New stuff
- Added properties to the `SqliteExtDatabase` to expose common `PRAGMA`
settings.
- Clarified documentation on calling `commit()` or `rollback()` from within the
scope of an atomic block.
- Allow table creation dependencies to be specified using new `depends_on` meta
option.
- Allow specification of the lock type used in SQLite transactions.
- Added support for `CROSS JOIN` expressions in select queries.
- Docs on how to implement optimistic locking
- Documented optional dependencies.
- Generic support for specifying select queries as locking the selected rows
`FOR X`, e.g. `FOR UPDATE` or `FOR SHARE`.
- Support for specifying the frame-of-reference in window queries, e.g.
specifying `UNBOUNDED PRECEDING`, etc.
### Backwards-incompatible changes
- As of 9e76c99, an `OperationalError` is raised if the user calls `connect()`
on an already-open Database object. Previously, the existing connection would
remain open and a new connection would overwrite it, making it impossible to
close the previous connection. If you find this is causing breakage in your
application, you can switch the `connect()` call to `get_conn()` which will
only open a connection if necessary. The error **is** indicative of a real
issue, though, so audit your code for places where you may be opening a
connection without closing it (module-scope operations, e.g.).
Notable changes since 3.2:
- Improve ways to write change migrations, making the old up & down
methods no longer necessary.
- Adds PostgreSQL array type support. Any datatype can be used to
create an array column, with full migration and schema dumper
support.
- Add Relation#load to explicitly load the record and return self.
- Model.all now returns an ActiveRecord::Relation, rather than an
array of records. Use Relation#to_a if you really want an array. In
some specific cases, this may cause breakage when upgrading.
- Added ActiveRecord::Migration.check_pending! that raises an error if
migrations are pending.
- Added custom coders support for ActiveRecord::Store.
- mysql and mysql2 connections will set SQL_MODE=STRICT_ALL_TABLES by
default to avoid silent data loss. This can be disabled by
specifying strict: false in your database.yml.
- Remove IdentityMap.
- Remove automatic execution of EXPLAIN queries. The option
active_record.auto_explain_threshold_in_seconds is no longer used
and should be removed.
- Adds ActiveRecord::NullRelation and ActiveRecord::Relation#none
implementing the null object pattern for the Relation class.
- Added create_join_table migration helper to create HABTM join
tables.
- Allows PostgreSQL hstore records to be created.
- Default scopes are no longer overridden by chained conditions.
- Added ActiveRecord::Base.to_param for convenient "pretty" URLs
derived from a model's attribute or method.
- Added ActiveRecord::Base.no_touching, which allows ignoring touch on
models.
- Unify boolean type casting for MysqlAdapter and
Mysql2Adapter. type_cast will return 1 for true and 0 for false.
- .unscope now removes conditions specified in default_scope.
- Added ActiveRecord::QueryMethods#rewhere which will overwrite an
existing, named where condition.
- Extended ActiveRecord::Base#cache_key to take an optional list of
timestamp attributes of which the highest will be used.
- Added ActiveRecord::Base#enum for declaring enum attributes where
the values map to integers in the database, but can be queried by
name.
- Type cast json values on write, so that the value is consistent with
reading from the database.
- Type cast hstore values on write, so that the value is consistent
with reading from the database.
- Make next_migration_number accessible for third party generators.
- Calling update_attributes will now throw an ArgumentError whenever
it gets a nil argument. More specifically, it will throw an error if
the argument that it gets passed does not respond to to
stringify_keys.
- CollectionAssociation#first/#last (e.g. has_many) use a LIMITed
query to fetch results rather than loading the entire collection.
- inspect on Active Record model classes does not initiate a new
connection. This means that calling inspect, when the database is
missing, will no longer raise an exception.
- Removed column restrictions for count, let the database raise if the
SQL is invalid.
- Rails now automatically detects inverse associations. If you do not
set the :inverse_of option on the association, then Active Record
will guess the inverse association based on heuristics.
- Handle aliased attributes in ActiveRecord::Relation. When using
symbol keys, ActiveRecord will now translate aliased attribute names
to the actual column name used in the database.
- The ERB in fixture files is no longer evaluated in the context of
the main object. Helper methods used by multiple fixtures should be
defined on modules included in
ActiveRecord::FixtureSet.context_class.
- Don't create or drop the test database if RAILS_ENV is specified
explicitly.
- Relation no longer has mutator methods like #map! and
#delete_if. Convert to an Array by calling #to_a before using these
methods.
- find_in_batches, find_each, Result#each and Enumerable#index_by now
return an Enumerator that can calculate its size.
- scope, enum and Associations now raise on "dangerous" name
conflicts.
- second through fifth methods act like the first finder.
- Make touch fire the after_commit and after_rollback callbacks.
- Enable partial indexes for sqlite >= 3.8.0.
- Make change_column_null revertible.
- Added a flag to disable schema dump after migration. This is set to
false by default in the production environment for new applications.
- SchemaDumper uses force: :cascade on create_table. This makes it
possible to reload a schema when foreign keys are in place.
- Added a :required option to singular associations, which defines a
presence validation on the association.
- ActiveRecord::Dirty now detects in-place changes to mutable
values. Serialized attributes on Active Record models are no longer
saved when unchanged. This also works with other types such as
string columns and json columns on PostgreSQL.
- Introduced the db:purge Rake task to empty the database for the
current environment.
- Introduced ActiveRecord::Base#validate! that raises
ActiveRecord::RecordInvalid if the record is invalid.
- Introduced validate as an alias for valid?.
- touch now accepts multiple attributes to be touched at once.
- The PostgreSQL adapter now supports the jsonb datatype in PostgreSQL
9.4+.
- The PostgreSQL and SQLite adapters no longer add a default limit of
255 characters on string columns.
- Added support for the citext column type in the PostgreSQL adapter.
- Added support for user-created range types in the PostgreSQL
adapter.
- sqlite3:///some/path now resolves to the absolute system path
/some/path. For relative paths, use sqlite3:some/path
instead. (Previously, sqlite3:///some/path resolved to the relative
path some/path. This behavior was deprecated on Rails 4.1).
- Added support for fractional seconds for MySQL 5.6 and above.
- Added ActiveRecord::Base#pretty_print to pretty print models.
- ActiveRecord::Base#reload now behaves the same as m =
Model.find(m.id), meaning that it no longer retains the extra
attributes from custom SELECTs.
- ActiveRecord::Base#reflections now returns a hash with string keys
instead of symbol keys.
- The references method in migrations now supports a type option for
specifying the type of the foreign key (e.g. :uuid).
Version 3.6.0 Released April 17, 2017 (git tag 3.6.0)
- Make sure we do not inadvertently modify the string passed to prepare() when
doing the new backslash escape manipulation.
[Greg Sabino Mullane]
(CPAN ticket #114000)
- Fix bug where $DBD::Pg::DBDPG_DEFAULT not picked up as a magic
string first time it is used in a script.
[Greg Sabino Mullane]
(CPAN ticket #112309)
- Fix UTF8 flag handling in pg_(get|put)copydata
[Dagfinn Ilmari Mannsåker]
- Fix UTF8 double-encoding with pg_enable_utf8 = 0
[Serge Pushkin]
(CPAN ticket #103137)
- Fix bug in quote_name which would fail to quote in some circumstances
(Github Issue #22)
- Allow clean parsing of new Postgres X.Y version format
[Erik Rijkers er at xs4all.nl]
- Add pg_canonical_ids() and pg_canonical_names(), which returns information
about each column in the result set.
[Warstone warstone at list.ru]
(CPAN ticket #106858)
- Map SQL_NUMERIC to PG_NUMERIC (instead of PG_FLOAT8)
[Alice Maz alice at alizemaz.com]
(CPAN ticket #120358)
- Force real, float, and double precision into SvNVs
[Greg Sabino Mullane]
(CPAN ticket #113683 and other places)
- Support for number of rows greater than an "int". Requires support for same
from a future version of libpq before it will work completely.
[Greg Sabino Mullane]
(CPAN ticket #102444)
- Fix skipped test counts in Win32 builds
[Andy Grundman]
- Allow tests to work against Postgres 8.4 by tweaking client_encoding calls.
[Pavel Raiskup praiskup at redhat.com]
(CPAN ticket #116179)
- Silence warnings in t/02attribs.t and t/04misc.t
[Dagfinn Ilmari Mannsåker]
- Support binary COPY format
[Dagfinn Ilmari Mannsåker]
- Ensure tests do not use $ENV{PGSERVICE} or $ENV{PGDATABASE}
[Erik Rijkers]
- Switched canonical repo to git://github.com/bucardo/dbdpg.git
3.9.0
Features
- cqlengine: remove elements by key from a map
Bug Fixes
- improve error handling when connecting to non-existent keyspace
- Sockets associated with sessions not getting cleaned up on
session.shutdown()
- rare flake on
integration.standard.test_cluster.ClusterTests.test_clone_shared_lbp
- MontonicTimestampGenerator.__init__ ignores class defaults
- race where callback or errback for request may not be called
- cqlengine: model.update() should not update columns with a default
value that hasn't changed
- cqlengine: field value manager's explicit flag is True when queried
back from cassandra
Other
- Connection not closed in example_mapper
- Remove mention of pre-2.0 C* versions from OSS 3.0+ docs
3.8.1
Bug Fixes
- implement __le__/__ge__/__ne__ on some custom types
- Fix bug in eventlet and gevent reactors that could cause hangs
- Fix DecimalType regression
------------------------------------------------------------
The ChangeLog since 5.1.72 is too huge, so the beginning some
lines are listed here:
------------------------------------------------------------
timestamp: Fri 2013-11-01 16:39:19 +0100
message:
Bug#17617945 BUFFER OVERFLOW IN GET_MERGE_MANY_BUFFS_COST WITH SMALL SORT_BUFFER_SIZE
get_cost_calc_buff_size() could return wrong value for the size of imerge_cost_buff.
------------------------------------------------------------
timestamp: Thu 2013-10-31 22:53:56 +0000
message:
BUG#17662398: REMOVE DUPLICATE TEST CASES
Remove duplicate test cases.
------------------------------------------------------------
timestamp: Thu 2013-10-31 23:02:44 +0530
message:
Bug #12917164 DROP USER CAN'T DROP USERS WITH LEGACY
UPPER CASE HOST NAME ANYMORE
Description:
It is not possible to drop users with host names with upper case
letters in them. i.e DROP USER 'root'@'Tmp_Host_Name'; is failing
with error.
Analysis: Since the fix 11748570 we came up with lower case hostnames
as standard. But in the current bug the hostname is created by
mysql_install_db script is still having upper case hostnames.
So, if we have the hostname with upper case letters like(Tmp_Host_Name)
then we will have as it is stored in the mysql.user table.
In this case if use "'DROP USER 'root'@'Tmp_Host_Name';" it gives
error because we do compare with the lower case of hostname since the
11748570 fix.
Fix: We need to convert the hostname to lower case before storing into
the mysql.user table when we run the mysql_install_db script.
------------------------------------------------------------
* 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.