[add] ElasticsearchRecord::Relation#pit_delete which executes a delete query in a 'point_in_time' scope.
[add] ActiveRecord::ConnectionAdapters::Elasticsearch::TableStatements#backup_table to create a backup (snapshot) of the entire table (index)
[add] ActiveRecord::ConnectionAdapters::Elasticsearch::TableStatements#restore_table to restore a entire table (index)
[add] ActiveRecord::ConnectionAdapters::Elasticsearch::TableStatements#reindex_table to copy documents from source to destination
[ref] ElasticsearchRecord::Base.delegate_id_attribute now supports instance writer
[ref] ElasticsearchRecord::Relation#pit_results adds ids_only-parameter to now support a simple return of the records-ids...
[fix] Relation #last-method will raise an transport exception if cluster setting 'indices.id_field_data.enabled' is disabled (now checks for access_id_fielddata?)
[fix] ElasticsearchRecord-connection settings does not support username key
[fix] ElasticsearchRecord-connection settings does not support port key
[fix] _id-Attribute is erroneously defined as 'virtual' attribute - but is required for insert statements.
[fix] unsupported SAVEPOINT transactions throws exceptions (especially in tests)
[fix] ElasticsearchRecord::ModelApi#bulk does not recognize '_id' / :_id attribute
[fix] ElasticsearchRecord::ModelApi#bulk does not correctly build the data-hash for update-operation (missing 'doc'-node)
[fix] creating a new record does not recognize a manually provided _id-attribute
[fix] creating a new record with active delegate_id_attribute-flag does not update the records _id.
[1.5.3] - 2023-07-14
[fix] ElasticsearchRecord::Relation#where! on nested, provided :none key
[ref] minor code tweaks and comment updates
[1.5.2] - 2023-07-12
[fix] ElasticsearchRecord::Relation#limit setter method limit_value= to work with delegate_query_nil_limit?
[1.5.1] - 2023-07-11
[fix] ElasticsearchRecord::ModelApi 'drop!' & 'truncate!' methods to support correct parameter 'confirm'
[ref] improved yard documentation
[1.5.0] - 2023-07-10
[add] additional ElasticsearchRecord::ModelApi methods drop! & truncate!, which have to be called with a confirm:true parameter
[add] ElasticsearchRecord::Base.delegate_query_nil_limit to automatically delegate a relations limit(nil)-call to the max_result_window(set to 10.000 as default)
[add] ActiveRecord::ConnectionAdapters::Elasticsearch::SchemaStatements#access_shard_doc? which checks, if the PIT-shard_doc order is available
[add] support for _shard_doc as a default order for ElasticsearchRecord::Relation#pit_results
[ref] ElasticsearchRecord::Base.relay_id_attribute to a more coherent name: delegate_id_attribute
[ref] ElasticsearchRecord::Relation#ordered_relation to optimize already ordered relations
[ref] gemspecs to support different versions of Elasticsearch
[ref] improved README
[fix] ElasticsearchRecord::Relation#pit_results infinite loop (caused by missing order)
[fix] ElasticsearchRecord::Relation#pit_results results generation without 'uniq' check of the array
[1.4.0] - 2023-01-27
[add] ElasticsearchRecord::ModelApi for fast & easy access the elasticsearch index - callable through .api (e.g. ElasticUser.api.mappings)
[ref] ElasticsearchRecord::Instrumentation::LogSubscriber to truncate the query-string (default: 1000)
[ref] ActiveRecord::ConnectionAdapters::ElasticsearchAdapter#log with extra attribute (log: true) to prevent logging (e.g. on custom api calls)
[fix] ElasticsearchRecord::Result#bucket to prevent resolving additional meta key (key_as_string)
[1.3.1] - 2023-01-18
[fix] #none! method to correctly invalidate the query (String(s) in where-queries like '1=0' will raise now)
[fix] missing 'ChangeSettingDefinition' & 'RemoveSettingDefinition' @ ActiveRecord::ConnectionAdapters::Elasticsearch::UpdateTableDefinition::COMPOSITE_DEFINITIONS to composite in a single query
[fix] #unblock_table-method in 'connection' to now remove blocks instead of setting to 'false'
[1.3.0] - 2023-01-17
[add] 'metas: {}' param for CreateTableDefinition to provide individual meta information without providing them through 'mappings'
[add] 'change_'- & 'remove_'-methods for mapping, setting & alias for CreateTableDefinition
[add] ActiveRecord::ConnectionAdapters::Elasticsearch::TableMappingDefinition#meta for easier access
[add] UpdateTableDefinition#remove_mapping to always raise an ArgumentError (now created @ CreateTableDefinition through change_table(x, recreate: true) )
[add] _env_table_name-syntax to ActiveRecord::ConnectionAdapters::Elasticsearch::SchemaDumper#table for prefixed & suffixed tables in connections
[add] #cluster_health, #refresh_table, #refresh_tables & #rename_table methods to 'connection'
[add] #change_table 'recreate: false' parameter to switch between a 'change' or 'recreate' of an index
[add] #refresh method to relations to explicit set the refresh value of the generated query
[ref] CloneTableDefinition to adapt settings (number_of_shards & number_of_replicas) from source table by default
[ref] CreateTableDefinition#transform_mappings! also support simple 'key->attributes' assignment of custom provided mappings
[ref] 'delete_'-methods into more common 'remove_' for UpdateTableDefinition
[ref] UpdateTableDefinition#change_mapping to always raise an ArgumentError (now moved to CreateTableDefinition through change_table(x, recreate: true) )
[ref] #change_table missing '&block'
[ref] 'delete_'-methods into more common 'remove_' to 'connection'
[ref] ':__claim__'-operator to ':__query__' within Arel::Collectors::ElasticsearchQuery
[ref] update & delete queries to preset a 'refresh: true' as default (can be overwritten through 'relation.refresh(false)' )
[rem] #clone_table unusable '&block'
[rem] #compute_table_name-method - must be explicit provided with #_env_table_name(name)
[fix] #where! & #build_where_clause methods to also build a valid 'where_clause' in nested 'where' & 'or'
[1.2.4] - 2022-12-15
[fix] missing #visit_Arel_Nodes_In method in Arel::Visitors::ElasticsearchQuery to build array conditions
[fix] resolving buckets from relation ElasticsearchRecord::Result#buckets not recognizing sub-buckets
[1.2.3] - 2022-12-12
[fix] change_table 'if_exists: true' returns at the wrong state
[1.2.2] - 2022-12-12
[add] :if_exists option for change_table
[fix] executing _compute_table_name irregular on some schema methods and some not - not only executes on create_table and change_table
[ref] private _compute_table_name method to public compute_table_name
[ref] drop _compute_table_name on methods: open_table, close_table, truncate_table, drop_table, block_table, unblock_table & clone_table
[1.2.1] - 2022-12-12
[add] ActiveRecord::ConnectionAdapters::Elasticsearch::SchemaStatements#access_id_fielddata? which checks the clusters setting 'indices.id_field_data.enabled' to determinate if a general sorting on the +_id+-field is possible or not.
[add] ElasticsearchRecord::Relation#ordered_relation which overwrites the original method to check against the #access_id_fielddata? method
[fix] default order by '_id' causes an exception if clusters 'indices.id_field_data.enabled' is disabled
[fix] subfield where-condition where('field.subfield', 'value') was transformed into a nested 'join-table' hash
[fix] yardoc docs & generation
[1.2.0] - 2022-12-02
[add] ElasticsearchRecord::SchemaMigration to fix connection-related differences (like table_name_prefix, table_name_suffix)
[add] connection (config-related) 'table_name_prefix' & 'table_name_suffix' - now will be forwarded to all related models & schema-tables