0.50 2014-08-17 ******************************** BREAKING BACKWARDS COMPATIBILITY ******************************** This is the first version of Elastic::Model with support for Elasticsearch 1.x and above. It uses Search::Elasticsearch instead of Search::Elasticsearch::Compat. See Elastic::Manual::Delta for info about the compatibility mode which allows connecting to 0.90.x and 1.x nodes using the same code. Added: * support for aggregations in 1.x * on_success added to Bulk Removed: * omit_norms * omit_term_freq_and_positions Deprecated field attributes: * field-level boost * index_name * path * precision_step 0.29_2 2014-07-01 Also accept 0_90 clients 0.29_1 2014-06-01 Migrated to Search::Elasticsearch and made it run on Elasticsearch 1.x. No doc updates yet, no new features exposed yet. Breaking changes: * omit_norms and omit_term_freq_positions no longer supported * ignore_missing should be replaced by ignore => 404 * get mapping responses have changed 0.28 2013-03-06 Elastic::Model now requires Search::Elasticsearch::Compat See http://github.com/elasticsearch/elasticsearch-perl/issues/20 Updated links to the elasticsearch.org website. 0.27 2013-10-24 Elastic::Model now requires Elasticsearch::Compat instead of ElasticSearch. 0.26 2013-05-08 Upgraded ElasticSearch.pm to v0.65 Calls to non-existent indices/aliases throws a 404 in v0.90 0.25 2013-02-26 Made Test::Strict an author only test 0.24 2013-01-04 BUG FIX - has_changed was failing when comparing attributes that contained references. - Fixed tests for SearchBuilder that were failing with the new hash changes in perl 5.17 ENHANCEMENT - update_mapping and delete_mapping now accept optional \%args which get passed on to ElasticSearch.pm 0.23 2012-11-23 Doc corrections 0.22 2012-11-22 ENHANCEMENT - Add specific mapping for Maybe[Bool] which treats undef values as NULL / missing, while Bool fields still treat undef as false. 0.21 2012-11-17 BUG FIX - Model metaclass attributes were being initialized from the same hashrefs, meaning that data (eg types in a namespace) were shared between independent models. Thanks to AMIRI for reporting 0.20 2012-11-16 BREAKING CHANGE - has_changed() and old_values() was implemented with triggers on every doc class attribute. This was buggy because 1) it wasn't applied to attributes from roles 2) it didn't check arrays/hashes correctly 3) it was slow We now handle all of the above correctly, by comparing canonical versions of the deflated object with the data loaded from ES. has_changed() was called by save() to prevent saving if the object hadn't actually changed. We no longer do this - if you call save(), your object will be saved. If you want to run this check yourself, you can do: $doc->save if $doc->has_changed; old_value() has been removed because it requires old_values() to build a comparison of all attributes that have changed, so it is more efficient to just call old_values() once, eg: $old = $doc->old_values; if (exists $old->{foo}) {...} if (exists $old->{bar}) {...} ENHANCEMENT - added apply_field_settings() to Elastic::Doc to make it easier to configure attributes applied from roles, when you may not have edit access to the role itself. 0.19 2012-11-15 ENHANCEMENT - Inflators and deflators are now inlined whenever possible, resulting in a big performance boost 0.18 2012-11-14 ENHANCEMENT - Optimized UID and stub object creation - big performance improvement when retrieving docs from elasticsearch 0.17 2012-11-09 ENHANCMENT - handle empty queryb/fiterb/post_filterb clauses gracefully 0.16 2012-11-06 BREAKING CHANGE: - removed the to_cache() method that was added in v0.15 ENHANCEMENT: - added integration with a CHI-compatible cache for bounded searches 0.15 2012-11-02 BUG FIX: - the default values for wrapper/multi_wrapper in Iterator were not being returned as code refs ENHANCEMENT: - added to_cache() to Elastic::Model::Results to return a cacheable data structure which can later be reinflated to the full result set 0.14 2012-11-01 BREAKING CHANGE: - upgraded minimum ES version to 0.19.11 to take advantage of the new match queries ENHANCEMENT: - Added Elastic::Model::Bulk for bulk indexing of documents. 0.13 2012-10-10 BUG FIXES: - UIDs from search results were missing the routing value - use Elastic::Doc on 'extend'ed classes didn't work as expected - Minimum version of Moose set to 2.06 0.12 2012-09-22 ENHANCEMENT: - Added support for retrieving partial objects (thanks to DIEGOK for suggesting) - Improved documentation (thanks to TIMB) 0.11 2012-08-18 ENHANCEMENT: - Variable::Magic v 0.51 allows us to remove the magic after inflating a stub object - thanks to VPIT for the new version 0.10 2012-08-15 BUG FIX: - Declare a minimum version for ElasticSearch::SearchBuilder 0.09 2012-08-14 ENHANCEMENT: - Added terms_indexed_for_field() to Elastic::Model::Role::Doc to aid debugging. - Added id() and type() convenience methods on Elastic::Model::Role::Doc which call the equivalent method on the doc's UID BUG FIX: - Changed the mapping for UIDs to use the full path name, not 'just_name'. * REQUIRES REINDEXING * This fixes a major bug where all Doc class attributes in an object were being indexed in the same fields, so it was impossible to distinguish a search for (mother => $user) from (father => $user). Unfortunately, this means it is no longer possible to search for just any UID using queryb($uid), as it now needs the full path name for the attribute, eg queryb( 'user.partner' => $user ). Consequently, I've also had to change the Index->repoint_uids to search in all possible UID attributes. 0.08 2012-08-09 ENHANCEMENT: - added a transform() parameter to reindex() to allow the user to change the data structure while reindexing BUG FIX: - don't try to destroy scopes during global shutdown - reindex() was loading all docs into memory, rather than processing them in blocks 0.07 2012-08-02 ENHANCEMENT: - Added Elastic::Model::SearchBuilder to automatically serialize queries/filters like ->filterb( user => $user_doc ) or ->filterb( $uid ) 0.06 2012-08-02 BUG: - The unique key was using the attribute name, rather than the unique key name. 0.05 2012-08-01 ENHANCMENTS: - Added support for unique_keys via ElasticSearchX::UniqueKey - Added a Keyword type to be used for not_analyzed string fields - Handle stub doc inflation using Variable::Magic instead of wrapping _inline_instance_* in Moose BUG FIXES: - Lazy attributes weren't being built properly during deflation 0.04 2012-07-25 overwrite() should work for new docs as well as docs loaded from ES on_conflict() called with $doc->create doesn't get a version number, so just load the existing doc 0.03 2012-07-08 Skip parts of the test suite which require a live cluster to run 0.02 2012-07-07 Removed the 'trial' flag. First public release. 0.01 2012-07-07 First release