chewy 5.1.0 → 7.2.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/CODEOWNERS +1 -0
- data/.github/ISSUE_TEMPLATE/bug_report.md +39 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
- data/.github/PULL_REQUEST_TEMPLATE.md +16 -0
- data/.github/workflows/ruby.yml +73 -0
- data/.rubocop.yml +13 -8
- data/.rubocop_todo.yml +110 -22
- data/CHANGELOG.md +449 -347
- data/CODE_OF_CONDUCT.md +14 -0
- data/CONTRIBUTING.md +63 -0
- data/Gemfile +3 -7
- data/Guardfile +3 -1
- data/LICENSE.txt +1 -1
- data/README.md +423 -311
- data/chewy.gemspec +8 -10
- data/gemfiles/rails.5.2.activerecord.gemfile +9 -14
- data/gemfiles/rails.6.0.activerecord.gemfile +11 -0
- data/gemfiles/rails.6.1.activerecord.gemfile +13 -0
- data/gemfiles/rails.7.0.activerecord.gemfile +13 -0
- data/lib/chewy/config.rb +42 -60
- data/lib/chewy/errors.rb +4 -10
- data/lib/chewy/fields/base.rb +80 -20
- data/lib/chewy/fields/root.rb +7 -17
- data/lib/chewy/index/actions.rb +62 -35
- data/lib/chewy/{type → index}/adapter/active_record.rb +18 -4
- data/lib/chewy/{type → index}/adapter/base.rb +2 -3
- data/lib/chewy/{type → index}/adapter/object.rb +28 -32
- data/lib/chewy/{type → index}/adapter/orm.rb +26 -24
- data/lib/chewy/index/aliases.rb +14 -5
- data/lib/chewy/{type → index}/crutch.rb +5 -5
- data/lib/chewy/index/import/bulk_builder.rb +311 -0
- data/lib/chewy/{type → index}/import/bulk_request.rb +6 -7
- data/lib/chewy/{type → index}/import/journal_builder.rb +11 -12
- data/lib/chewy/{type → index}/import/routine.rb +17 -16
- data/lib/chewy/{type → index}/import.rb +51 -33
- data/lib/chewy/{type → index}/mapping.rb +32 -37
- data/lib/chewy/index/observe/active_record_methods.rb +87 -0
- data/lib/chewy/index/observe/callback.rb +34 -0
- data/lib/chewy/index/observe.rb +17 -0
- data/lib/chewy/index/specification.rb +1 -0
- data/lib/chewy/{type → index}/syncer.rb +61 -62
- data/lib/chewy/{type → index}/witchcraft.rb +15 -9
- data/lib/chewy/{type → index}/wrapper.rb +13 -3
- data/lib/chewy/index.rb +46 -96
- data/lib/chewy/journal.rb +25 -14
- data/lib/chewy/minitest/helpers.rb +86 -13
- data/lib/chewy/minitest/search_index_receiver.rb +22 -26
- data/lib/chewy/multi_search.rb +62 -0
- data/lib/chewy/railtie.rb +6 -20
- data/lib/chewy/rake_helper.rb +136 -108
- data/lib/chewy/rspec/build_query.rb +12 -0
- data/lib/chewy/rspec/helpers.rb +55 -0
- data/lib/chewy/rspec/update_index.rb +55 -44
- data/lib/chewy/rspec.rb +2 -0
- data/lib/chewy/runtime.rb +1 -1
- data/lib/chewy/search/loader.rb +19 -41
- data/lib/chewy/search/parameters/collapse.rb +16 -0
- data/lib/chewy/search/parameters/concerns/query_storage.rb +2 -2
- data/lib/chewy/search/parameters/ignore_unavailable.rb +27 -0
- data/lib/chewy/search/parameters/indices.rb +12 -57
- data/lib/chewy/search/parameters/none.rb +1 -3
- data/lib/chewy/search/parameters/order.rb +6 -19
- data/lib/chewy/search/parameters/source.rb +5 -1
- data/lib/chewy/search/parameters/track_total_hits.rb +16 -0
- data/lib/chewy/search/parameters.rb +7 -4
- data/lib/chewy/search/query_proxy.rb +9 -2
- data/lib/chewy/search/request.rb +180 -154
- data/lib/chewy/search/response.rb +5 -5
- data/lib/chewy/search/scoping.rb +7 -8
- data/lib/chewy/search/scrolling.rb +16 -13
- data/lib/chewy/search.rb +7 -22
- data/lib/chewy/stash.rb +19 -30
- data/lib/chewy/strategy/active_job.rb +2 -2
- data/lib/chewy/strategy/atomic_no_refresh.rb +18 -0
- data/lib/chewy/strategy/base.rb +10 -0
- data/lib/chewy/strategy/lazy_sidekiq.rb +64 -0
- data/lib/chewy/strategy/sidekiq.rb +3 -2
- data/lib/chewy/strategy.rb +5 -19
- data/lib/chewy/version.rb +1 -1
- data/lib/chewy.rb +36 -80
- data/lib/generators/chewy/install_generator.rb +1 -1
- data/lib/tasks/chewy.rake +26 -32
- data/migration_guide.md +56 -0
- data/spec/chewy/config_spec.rb +15 -61
- data/spec/chewy/fields/base_spec.rb +432 -145
- data/spec/chewy/fields/root_spec.rb +20 -28
- data/spec/chewy/fields/time_fields_spec.rb +5 -5
- data/spec/chewy/index/actions_spec.rb +388 -55
- data/spec/chewy/{type → index}/adapter/active_record_spec.rb +110 -44
- data/spec/chewy/{type → index}/adapter/object_spec.rb +21 -6
- data/spec/chewy/index/aliases_spec.rb +3 -3
- data/spec/chewy/index/import/bulk_builder_spec.rb +494 -0
- data/spec/chewy/{type → index}/import/bulk_request_spec.rb +5 -12
- data/spec/chewy/{type → index}/import/journal_builder_spec.rb +14 -22
- data/spec/chewy/{type → index}/import/routine_spec.rb +19 -19
- data/spec/chewy/{type → index}/import_spec.rb +149 -96
- data/spec/chewy/index/mapping_spec.rb +135 -0
- data/spec/chewy/index/observe/active_record_methods_spec.rb +68 -0
- data/spec/chewy/index/observe/callback_spec.rb +139 -0
- data/spec/chewy/index/observe_spec.rb +143 -0
- data/spec/chewy/index/settings_spec.rb +3 -1
- data/spec/chewy/index/specification_spec.rb +20 -30
- data/spec/chewy/{type → index}/syncer_spec.rb +14 -19
- data/spec/chewy/{type → index}/witchcraft_spec.rb +34 -21
- data/spec/chewy/index/wrapper_spec.rb +100 -0
- data/spec/chewy/index_spec.rb +69 -137
- data/spec/chewy/journal_spec.rb +46 -91
- data/spec/chewy/minitest/helpers_spec.rb +122 -14
- data/spec/chewy/minitest/search_index_receiver_spec.rb +24 -26
- data/spec/chewy/multi_search_spec.rb +84 -0
- data/spec/chewy/rake_helper_spec.rb +293 -101
- data/spec/chewy/rspec/build_query_spec.rb +34 -0
- data/spec/chewy/rspec/helpers_spec.rb +61 -0
- data/spec/chewy/rspec/update_index_spec.rb +106 -102
- data/spec/chewy/runtime_spec.rb +2 -2
- data/spec/chewy/search/loader_spec.rb +19 -53
- data/spec/chewy/search/pagination/kaminari_examples.rb +3 -5
- data/spec/chewy/search/pagination/kaminari_spec.rb +1 -1
- data/spec/chewy/search/parameters/collapse_spec.rb +5 -0
- data/spec/chewy/search/parameters/ignore_unavailable_spec.rb +67 -0
- data/spec/chewy/search/parameters/indices_spec.rb +26 -118
- data/spec/chewy/search/parameters/none_spec.rb +1 -1
- data/spec/chewy/search/parameters/order_spec.rb +18 -11
- data/spec/chewy/search/parameters/query_storage_examples.rb +67 -21
- data/spec/chewy/search/parameters/search_after_spec.rb +4 -1
- data/spec/chewy/search/parameters/source_spec.rb +8 -2
- data/spec/chewy/search/parameters/track_total_hits_spec.rb +5 -0
- data/spec/chewy/search/parameters_spec.rb +23 -7
- data/spec/chewy/search/query_proxy_spec.rb +68 -17
- data/spec/chewy/search/request_spec.rb +344 -149
- data/spec/chewy/search/response_spec.rb +35 -25
- data/spec/chewy/search/scrolling_spec.rb +28 -26
- data/spec/chewy/search_spec.rb +69 -59
- data/spec/chewy/stash_spec.rb +16 -26
- data/spec/chewy/strategy/active_job_spec.rb +23 -10
- data/spec/chewy/strategy/atomic_no_refresh_spec.rb +60 -0
- data/spec/chewy/strategy/atomic_spec.rb +9 -10
- data/spec/chewy/strategy/lazy_sidekiq_spec.rb +214 -0
- data/spec/chewy/strategy/sidekiq_spec.rb +14 -10
- data/spec/chewy/strategy_spec.rb +19 -15
- data/spec/chewy_spec.rb +17 -110
- data/spec/spec_helper.rb +6 -29
- data/spec/support/active_record.rb +43 -5
- metadata +102 -198
- data/.travis.yml +0 -45
- data/Appraisals +0 -81
- data/LEGACY_DSL.md +0 -497
- data/gemfiles/rails.4.0.activerecord.gemfile +0 -15
- data/gemfiles/rails.4.1.activerecord.gemfile +0 -15
- data/gemfiles/rails.4.2.activerecord.gemfile +0 -16
- data/gemfiles/rails.4.2.mongoid.5.2.gemfile +0 -16
- data/gemfiles/rails.5.0.activerecord.gemfile +0 -16
- data/gemfiles/rails.5.0.mongoid.6.1.gemfile +0 -16
- data/gemfiles/rails.5.1.activerecord.gemfile +0 -16
- data/gemfiles/rails.5.1.mongoid.6.3.gemfile +0 -16
- data/gemfiles/sequel.4.45.gemfile +0 -11
- data/lib/chewy/backports/deep_dup.rb +0 -46
- data/lib/chewy/backports/duplicable.rb +0 -91
- data/lib/chewy/query/compose.rb +0 -68
- data/lib/chewy/query/criteria.rb +0 -191
- data/lib/chewy/query/filters.rb +0 -244
- data/lib/chewy/query/loading.rb +0 -110
- data/lib/chewy/query/nodes/and.rb +0 -25
- data/lib/chewy/query/nodes/base.rb +0 -17
- data/lib/chewy/query/nodes/bool.rb +0 -34
- data/lib/chewy/query/nodes/equal.rb +0 -34
- data/lib/chewy/query/nodes/exists.rb +0 -20
- data/lib/chewy/query/nodes/expr.rb +0 -28
- data/lib/chewy/query/nodes/field.rb +0 -110
- data/lib/chewy/query/nodes/has_child.rb +0 -15
- data/lib/chewy/query/nodes/has_parent.rb +0 -15
- data/lib/chewy/query/nodes/has_relation.rb +0 -59
- data/lib/chewy/query/nodes/match_all.rb +0 -11
- data/lib/chewy/query/nodes/missing.rb +0 -20
- data/lib/chewy/query/nodes/not.rb +0 -25
- data/lib/chewy/query/nodes/or.rb +0 -25
- data/lib/chewy/query/nodes/prefix.rb +0 -19
- data/lib/chewy/query/nodes/query.rb +0 -20
- data/lib/chewy/query/nodes/range.rb +0 -63
- data/lib/chewy/query/nodes/raw.rb +0 -15
- data/lib/chewy/query/nodes/regexp.rb +0 -35
- data/lib/chewy/query/nodes/script.rb +0 -20
- data/lib/chewy/query/pagination.rb +0 -25
- data/lib/chewy/query.rb +0 -1142
- data/lib/chewy/search/pagination/will_paginate.rb +0 -43
- data/lib/chewy/search/parameters/types.rb +0 -20
- data/lib/chewy/strategy/resque.rb +0 -27
- data/lib/chewy/strategy/shoryuken.rb +0 -40
- data/lib/chewy/type/actions.rb +0 -43
- data/lib/chewy/type/adapter/mongoid.rb +0 -67
- data/lib/chewy/type/adapter/sequel.rb +0 -93
- data/lib/chewy/type/import/bulk_builder.rb +0 -122
- data/lib/chewy/type/observe.rb +0 -82
- data/lib/chewy/type.rb +0 -117
- data/lib/sequel/plugins/chewy_observe.rb +0 -63
- data/spec/chewy/query/criteria_spec.rb +0 -700
- data/spec/chewy/query/filters_spec.rb +0 -201
- data/spec/chewy/query/loading_spec.rb +0 -124
- data/spec/chewy/query/nodes/and_spec.rb +0 -12
- data/spec/chewy/query/nodes/bool_spec.rb +0 -14
- data/spec/chewy/query/nodes/equal_spec.rb +0 -32
- data/spec/chewy/query/nodes/exists_spec.rb +0 -18
- data/spec/chewy/query/nodes/has_child_spec.rb +0 -59
- data/spec/chewy/query/nodes/has_parent_spec.rb +0 -59
- data/spec/chewy/query/nodes/match_all_spec.rb +0 -11
- data/spec/chewy/query/nodes/missing_spec.rb +0 -16
- data/spec/chewy/query/nodes/not_spec.rb +0 -14
- data/spec/chewy/query/nodes/or_spec.rb +0 -12
- data/spec/chewy/query/nodes/prefix_spec.rb +0 -16
- data/spec/chewy/query/nodes/query_spec.rb +0 -12
- data/spec/chewy/query/nodes/range_spec.rb +0 -32
- data/spec/chewy/query/nodes/raw_spec.rb +0 -11
- data/spec/chewy/query/nodes/regexp_spec.rb +0 -43
- data/spec/chewy/query/nodes/script_spec.rb +0 -15
- data/spec/chewy/query/pagination/kaminari_spec.rb +0 -5
- data/spec/chewy/query/pagination/will_paginate_spec.rb +0 -5
- data/spec/chewy/query/pagination_spec.rb +0 -39
- data/spec/chewy/query_spec.rb +0 -637
- data/spec/chewy/search/pagination/will_paginate_examples.rb +0 -63
- data/spec/chewy/search/pagination/will_paginate_spec.rb +0 -23
- data/spec/chewy/search/parameters/types_spec.rb +0 -5
- data/spec/chewy/strategy/resque_spec.rb +0 -46
- data/spec/chewy/strategy/shoryuken_spec.rb +0 -66
- data/spec/chewy/type/actions_spec.rb +0 -50
- data/spec/chewy/type/adapter/mongoid_spec.rb +0 -372
- data/spec/chewy/type/adapter/sequel_spec.rb +0 -472
- data/spec/chewy/type/import/bulk_builder_spec.rb +0 -279
- data/spec/chewy/type/mapping_spec.rb +0 -173
- data/spec/chewy/type/observe_spec.rb +0 -137
- data/spec/chewy/type/wrapper_spec.rb +0 -98
- data/spec/chewy/type_spec.rb +0 -55
- data/spec/support/mongoid.rb +0 -93
- data/spec/support/sequel.rb +0 -80
data/CHANGELOG.md
CHANGED
@@ -1,326 +1,432 @@
|
|
1
|
-
#
|
1
|
+
# Changelog
|
2
2
|
|
3
|
-
|
3
|
+
## master (unreleased)
|
4
4
|
|
5
|
-
|
5
|
+
### New Features
|
6
6
|
|
7
|
-
|
7
|
+
### Changes
|
8
8
|
|
9
|
-
|
9
|
+
### Bugs Fixed
|
10
10
|
|
11
|
-
##
|
11
|
+
## 7.2.7 (2022-11-15)
|
12
12
|
|
13
|
-
|
13
|
+
### New Features
|
14
14
|
|
15
|
-
|
15
|
+
* [#857](https://github.com/toptal/chewy/pull/857): Allow passing `wait_for_completion`, `request_per_second` and `scroll_size` options to `chewy:journal:clean` rake task and `delete_all` query builder method. ([@konalegi][])([@barthez][])
|
16
16
|
|
17
|
-
|
17
|
+
### Changes
|
18
18
|
|
19
|
-
|
19
|
+
### Bugs Fixed
|
20
20
|
|
21
|
-
|
21
|
+
* [#863](https://github.com/toptal/chewy/pull/863): Fix `crutches` call doesn't respect `update_fields` option. ([@skcc321][])
|
22
22
|
|
23
|
-
|
23
|
+
## 7.2.6 (2022-06-13)
|
24
24
|
|
25
|
-
|
25
|
+
### New Features
|
26
26
|
|
27
|
-
|
27
|
+
* [#841](https://github.com/toptal/chewy/pull/841): Add the [`collapse`](https://www.elastic.co/guide/en/elasticsearch/reference/current/collapse-search-results.html) option to the request. ([@jkostolansky][])
|
28
28
|
|
29
|
-
|
29
|
+
### Bugs Fixed
|
30
30
|
|
31
|
-
|
31
|
+
* [#842](https://github.com/toptal/chewy/issues/842): Fix `ignore_blank` handling. ([@rabotyaga][])
|
32
|
+
* [#848](https://github.com/toptal/chewy/issues/848): Fix invalid journal pagination. ([@konalegi][])
|
32
33
|
|
33
|
-
|
34
|
+
## 7.2.5 (2022-03-04)
|
34
35
|
|
35
|
-
|
36
|
+
### New Features
|
36
37
|
|
37
|
-
|
38
|
+
* [#827](https://github.com/toptal/chewy/pull/827): Add `:lazy_sidekiq` strategy, that defers not only importing but also `update_index` callback evaluation for created and updated objects. ([@sl4vr][])
|
39
|
+
* [#827](https://github.com/toptal/chewy/pull/827): Add `:atomic_no_refresh` strategy. Like `:atomic`, but `refresh=false` parameter is set. ([@barthez][])
|
40
|
+
* [#827](https://github.com/toptal/chewy/pull/827): Add `:no_refresh` chain call to `update_index` matcher to ensure import was called with `refresh=false`. ([@barthez][])
|
38
41
|
|
39
|
-
|
42
|
+
### Bugs Fixed
|
40
43
|
|
41
|
-
|
44
|
+
* [#835](https://github.com/toptal/chewy/pull/835): Support keyword arguments in named scopes. ([@milk1000cc][])
|
42
45
|
|
43
|
-
|
46
|
+
## 7.2.4 (2022-02-03)
|
44
47
|
|
45
|
-
|
48
|
+
### New Features
|
46
49
|
|
47
|
-
|
50
|
+
* [#760](https://github.com/toptal/chewy/pull/760): Replace parent-child mapping with a [join field](https://www.elastic.co/guide/en/elasticsearch/reference/current/removal-of-types.html#parent-child-mapping-types) ([@mrzasa][])
|
48
51
|
|
49
|
-
|
52
|
+
### Bugs Fixed
|
50
53
|
|
51
|
-
|
54
|
+
* [#825](https://github.com/toptal/chewy/issues/825): Fix mismatch argument names at update_mapping rake task ([@AgeevAndrew][])
|
55
|
+
* [#832](https://github.com/toptal/chewy/issues/832): Fix "cannot load such file -- `i18n/core_ext/hash`" ([@chrisandreae][])
|
52
56
|
|
53
|
-
|
57
|
+
## 7.2.3 (2021-10-29)
|
54
58
|
|
55
|
-
|
59
|
+
### New Features
|
56
60
|
|
57
|
-
*
|
61
|
+
* [#801](https://github.com/toptal/chewy/pull/801): Add the [`track_total_hits`](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-your-data.html#track-total-hits) option to the query. ([@milk1000cc][])
|
62
|
+
* [#810](https://github.com/toptal/chewy/pull/810): Use `unsafe_load` when loading config to support Psych 4.
|
63
|
+
* [#819](https://github.com/toptal/chewy/pull/819): Add the [`ignore_unavailable`](https://www.elastic.co/guide/en/elasticsearch/reference/current/multi-index.html#multi-index) option to the request. ([@kolauren][])
|
58
64
|
|
59
|
-
|
65
|
+
### Changes
|
60
66
|
|
61
|
-
*
|
67
|
+
* [#817](https://github.com/toptal/chewy/pull/817): Show warning message during rake chewy:reset or chewy:upgrade if journaling is disabled. ([@konalegi][])
|
62
68
|
|
63
|
-
|
69
|
+
### Bugs Fixed
|
64
70
|
|
65
|
-
*
|
71
|
+
* [#816](https://github.com/toptal/chewy/pull/816): Move query [`preference`](https://www.elastic.co/guide/en/elasticsearch/reference/7.x/search-search.html#search-preference) from body to query parameters. ([@afg419][])
|
66
72
|
|
67
|
-
|
73
|
+
## 7.2.2 (2021-05-24)
|
68
74
|
|
69
|
-
|
75
|
+
### Changes
|
70
76
|
|
71
|
-
|
77
|
+
* [#800](https://github.com/toptal/chewy/pull/800): Revert [#787](https://github.com/toptal/chewy/pull/787) progressbar feature to avoid performance degradation in parallel import ([@rabotyaga][])
|
72
78
|
|
73
|
-
*
|
79
|
+
* [#795](https://github.com/toptal/chewy/issues/795): **(Breaking)** Change the Chewy::Search::Parameters::Order implementation to use Array ([@jiajiawang][]):
|
80
|
+
* To allow multiple sorting options that may have the same key name. For example script based sorting whose key will always be `_script`.
|
81
|
+
* Behaviour change of chained `order` calls.
|
82
|
+
* e.g. `.order(_script: {a: 1}).order(_script: {b: 2})`
|
83
|
+
* Before `{:sort=>[{"_script"=>{:b=>2}}]}`
|
84
|
+
* After `{:sort=>[{"_script"=>{:a=>1}},{"_script"=>{:b=>2}}]}`
|
74
85
|
|
75
|
-
*
|
86
|
+
* [#654](https://github.com/toptal/chewy/issues/654): Add helpers and matchers for testing ([@Vitalina-Vakulchyk][]):
|
87
|
+
* `mock_elasticsearch_response` helpers both Rspec and Minitest - to mock elasticsearch response
|
88
|
+
* `mock_elasticsearch_response_sources` helpers both Rspec and Minitest - to mock elasticsearch response sources
|
89
|
+
* `assert_elasticsearch_query` helper for Minitest - to compare request and expected query (returns `true`/`false`)
|
90
|
+
* `build_query` matcher for Rspec - to compare request and expected query (returns `true`/`false`)
|
76
91
|
|
77
|
-
##
|
92
|
+
## 7.2.1 (2021-05-11)
|
78
93
|
|
79
|
-
|
94
|
+
### New Features
|
80
95
|
|
81
|
-
*
|
96
|
+
* [#469](https://github.com/toptal/chewy/issues/469): Add ability to output the progressbar with `ENV['PROGRESS']` during `reset` rake tasks ([@Vitalina-Vakulchyk][]):
|
97
|
+
* for `rake chewy:reset` and `rake chewy:parallel:reset`
|
98
|
+
* progressbar is hidden by default, set `ENV['PROGRESS']` to `true` to display it
|
82
99
|
|
83
|
-
|
100
|
+
### Bugs Fixed
|
84
101
|
|
85
|
-
*
|
102
|
+
* [#796](https://github.com/toptal/chewy/pull/796): Fix clear scroll: pass `scroll_id` in body, as passing in path parameters is deprecated and can overflow `http.max_initial_line_length` ([@rabotyaga][])
|
86
103
|
|
87
|
-
|
104
|
+
## 7.0.1 (2021-05-03)
|
88
105
|
|
89
|
-
|
106
|
+
### Changes
|
90
107
|
|
91
|
-
*
|
92
|
-
|
108
|
+
* [#792](https://github.com/toptal/chewy/pull/792): Skip ES version memoization for search requests ([@rabotyaga][])
|
109
|
+
* See the Migration Guide for details
|
93
110
|
|
94
|
-
|
111
|
+
## 7.2.0 (2021-04-19)
|
95
112
|
|
96
|
-
|
113
|
+
### New Features
|
97
114
|
|
98
|
-
*
|
115
|
+
* [#778](https://github.com/toptal/chewy/pull/778): Add `ignore_blank` option to `field` method ([@Vitalina-Vakulchyk][]):
|
116
|
+
* `true` by default for the `geo_point` type
|
117
|
+
* `false` by default for other types
|
99
118
|
|
100
|
-
|
119
|
+
### Changes
|
101
120
|
|
102
|
-
*
|
121
|
+
* [#783](https://github.com/toptal/chewy/pull/783): **(Breaking)** Remove `Chewy::Type`, simplify DSL ([@rabotyaga][])
|
122
|
+
* Remove the `Chewy::Type` class
|
123
|
+
* e.g. remove `CitiesIndex::City` / `CitiesIndex.city`
|
124
|
+
* `CitiesIndex::City.import! ...` becomes `CitiesIndex.import! ...`
|
125
|
+
* Simplify index DSL:
|
126
|
+
* `define_type` block -> `index_scope` clause
|
127
|
+
* it can be omitted completely, if you don't need to specify the scope or options, e.g. `name`
|
128
|
+
* Remove type names from string representations:
|
129
|
+
* in `update_index` ActiveRecord helper and RSpec matcher, e.g.
|
130
|
+
* `update_index('cities#city')` -> `update_index('cities')`
|
131
|
+
* `update_index(UsersIndex::User)` -> `update_index(UsersIndex)`
|
132
|
+
* in rake tasks (e.g. `rake chewy:update[cities#city]` -> `rake chewy:update[cities]`)
|
133
|
+
* in rake tasks output (e.g. `Imported CitiesIndex::City in 1s, stats: index 3` -> `Imported CitiesIndex in 1s, stats: index 3`)
|
134
|
+
* Use index name instead of type name in loader additional scope
|
135
|
+
* e.g. `CitiesIndex.filter(...).load(city: {scope: City.where(...)})` -> `CitiesIndex.filter(...).load(cities: {scope: City.where(...)})`
|
136
|
+
* [#692](https://github.com/toptal/chewy/issues/692): Add `.update_mapping` to Index class ([@Vitalina-Vakulchyk][]):
|
137
|
+
* Wrapped Elasticsearch gem `.put_mapping` with `.update_mapping` in Index class
|
138
|
+
* Add `rake chewy:update_mapping` task
|
139
|
+
* [#594](https://github.com/toptal/chewy/issues/594): Add `.reindex` to Index class ([@Vitalina-Vakulchyk][]):
|
140
|
+
* Wrapped Elasticsearch gem `.reindex` with `.reindex` in Index class
|
141
|
+
* Add `rake chewy:reindex` task
|
142
|
+
* [#679](https://github.com/toptal/chewy/issues/679): Wrapped `Elasticsearch::API::Indices::Actions#clear_cache` with `.clear_cache` in Index class ([@Vitalina-Vakulchyk][])
|
143
|
+
* [#495](https://github.com/toptal/chewy/issues/495): Ability to change Rails console strategy with `Chewy.console_strategy` ([@Vitalina-Vakulchyk][])
|
144
|
+
* [#778](https://github.com/toptal/chewy/pull/778): **(Breaking)** Drop support for Ruby 2.5 ([@Vitalina-Vakulchyk][])
|
145
|
+
* [#776](https://github.com/toptal/chewy/pull/776): **(Breaking)** Removal of unnecessary features and integrations ([@Vitalina-Vakulchyk][]):
|
146
|
+
* `aws-sdk-sqs` / `shoryuken`
|
147
|
+
* `mongoid`
|
148
|
+
* `sequel`
|
149
|
+
* `will_paginate`
|
150
|
+
* `resque`
|
151
|
+
* [#769](https://github.com/toptal/chewy/pull/769): **(Breaking)** Removal of deprecated methods and rake tasks ([@Vitalina-Vakulchyk][]):
|
152
|
+
* `Chewy::Index.index_params` is removed, use `Chewy::Index.specification_hash` instead
|
153
|
+
* `Chewy::Index.derivable_index_name` is removed, use `Chewy::Index.derivable_name` instead
|
154
|
+
* `Chewy::Index.default_prefix` is removed, use `Chewy::Index.prefix` instead
|
155
|
+
* `Chewy::Index.build_index_name` is removed, use `Chewy::Index.index_name` instead
|
156
|
+
* `Chewy::RakeHelper.reset_index` is removed, use `Chewy::RakeHelper.reset` instead
|
157
|
+
* `Chewy::RakeHelper.reset_all` is removed, use `Chewy::RakeHelper.reset` instead
|
158
|
+
* `Chewy::RakeHelper.update_index` is removed, use `Chewy::RakeHelper.update` instead
|
159
|
+
* `Chewy::RakeHelper.update_all` is removed, use `Chewy::RakeHelper.update` instead
|
160
|
+
* `rake chewy:apply_changes_from` is removed, use `rake chewy:journal:apply` instead
|
161
|
+
* `rake chewy:clean_journal` is removed, use `rake chewy:journal:clean` instead
|
103
162
|
|
104
|
-
|
163
|
+
## 7.1.0 (2021-03-03)
|
105
164
|
|
106
|
-
|
165
|
+
### Changes
|
107
166
|
|
108
|
-
*
|
167
|
+
* [#766](https://github.com/toptal/chewy/pull/766): **(Breaking)** Drop support for Elasticsearch 6.x ([@rabotyaga][])
|
168
|
+
* [#765](https://github.com/toptal/chewy/pull/765): Fix ruby 2.7 warnings in rake tasks ([@aglushkov][])
|
109
169
|
|
110
|
-
|
170
|
+
### Bugs Fixed
|
111
171
|
|
112
|
-
*
|
172
|
+
* [#722](https://github.com/toptal/chewy/issues/722): Remove alias_method_chain, use Module#prepend instead ([@dalthon][])
|
113
173
|
|
114
|
-
|
174
|
+
## 7.0.0 (2021-02-22)
|
175
|
+
|
176
|
+
### New Features
|
177
|
+
|
178
|
+
* [#763](https://github.com/toptal/chewy/pull/763): Added support for Elasticsearch 7 ([@rabotyaga][])
|
179
|
+
|
180
|
+
### Changes
|
181
|
+
|
182
|
+
* [#757](https://github.com/toptal/chewy/pull/757): **(Breaking)** Fix `Chewy::Index.index` & `Chewy::Index.aliases` to correctly report indexes and aliases ([@mpeychich][], [@dalthon][])
|
183
|
+
* [#761](https://github.com/toptal/chewy/pull/761): Avoid fetching scope data to check if it is blank ([@dalthon][])
|
115
184
|
|
116
|
-
|
185
|
+
## 6.0.0 (2021-02-11)
|
186
|
+
|
187
|
+
### Changes
|
117
188
|
|
118
|
-
#
|
189
|
+
* [#743](https://github.com/toptal/chewy/pull/743): **(Breaking)** Elasticsearch 6.x support added. See the [migration guide](migration_guide.md) & ES [breaking changes](https://www.elastic.co/guide/en/elasticsearch/reference/6.8/breaking-changes-6.0.html). Removed legacy DSL support. Removed support for ES < 5. ([@mrzasa][], [@konalegi][], [@rabotyaga][])
|
190
|
+
* [#751](https://github.com/toptal/chewy/pull/751): Add [Multi Search API](https://www.elastic.co/guide/en/elasticsearch/reference/6.8/search-multi-search.html) support. ([@mpeychich][], [@dalthon][])
|
191
|
+
* [#755](https://github.com/toptal/chewy/pull/755): `attribute_highlights` returns an array of highlights. ([@musaffa][], [@dalthon][])
|
192
|
+
* [#753](https://github.com/toptal/chewy/pull/753): Add support for direct_import parameter to skip objects reloading. ([@TikiTDO][], [@dalthon][])
|
193
|
+
* [#739](https://github.com/toptal/chewy/pull/739): Remove explicit `main` branch dependencies on `rspec-*` gems after `rspec-mocks` 3.10.2 is released. ([@rabotyaga][])
|
194
|
+
|
195
|
+
### Bugs Fixed
|
196
|
+
|
197
|
+
* [#695](https://github.com/toptal/chewy/pull/695): Clear the scroll by id after completing `scroll_batches`. ([@socialchorus][])
|
198
|
+
* [#749](https://github.com/toptal/chewy/pull/749): Avoid importing everything when given an empty relation. ([@JF-Lalonde][], [@dalthon][])
|
199
|
+
* [#736](https://github.com/toptal/chewy/pull/736): Fix nil children when using witchcraft. ([@taylor-au][])
|
200
|
+
|
201
|
+
## 5.2.0 (2021-01-28)
|
202
|
+
|
203
|
+
### Changes
|
204
|
+
|
205
|
+
* [#734](https://github.com/toptal/chewy/pull/734): Add support for Ruby 3. ([@lowang][])
|
206
|
+
* [#735](https://github.com/toptal/chewy/pull/735): Correct deprecation warning for Elasticsearch 5.6 to 6: empty query for`_delete_by_query`, delete by alias, `index_already_exists_exception` renaming. ([@bhacaz][])
|
207
|
+
* [#733](https://github.com/toptal/chewy/pull/733): Update gemspec dependencies for Rails. Update CI gemfiles and matrix to tests against current LTS Rails versions. ([@bhacaz][])
|
208
|
+
* Tweak some wording and formatting; add a note about compatibility; update copyright; remove broken logo; update the CI badge. ([@bbatsov][])
|
209
|
+
* [#714](https://github.com/toptal/chewy/pull/714): Update instructions for AWS ElasticSearch. ([@olancheg][])
|
210
|
+
* [#728](https://github.com/toptal/chewy/pull/728): Fix more ruby 2.7 keyword params deprecation warnings. ([@aglushkov][])
|
211
|
+
* [#715](https://github.com/toptal/chewy/pull/715): Fixed all deprecation warnings in Ruby 2.7. ([@gseddon][])
|
212
|
+
* [#718](https://github.com/toptal/chewy/pull/718): Added Ruby 2.7 to CircleCI config. ([@mrzasa][])
|
213
|
+
* [#707](https://github.com/toptal/chewy/pull/707): Allow configuration of Active Job queue name. ([@mrzasa][])
|
214
|
+
* [#711](https://github.com/toptal/chewy/pull/711): Setup CI on CircleCI. ([@mrzasa][])
|
215
|
+
* [#710](https://github.com/toptal/chewy/pull/710): Fix deprecation warning for constructing new `BigDecimal`. ([@AlexVPopov][])
|
216
|
+
|
217
|
+
## 5.1.0 (2019-09-24)
|
218
|
+
|
219
|
+
### Changes
|
220
|
+
|
221
|
+
* [#657](https://github.com/toptal/chewy/pull/657): **(Breaking)** Add support for multiple indices in request. ([@pyromaniac][])
|
222
|
+
* [#647](https://github.com/toptal/chewy/pull/647): **(Breaking)** Support `search_type`, `request_cache`, and `allow_partial_search_results` as query string parameters. ([@mattzollinhofer][])
|
223
|
+
* [#606](https://github.com/toptal/chewy/pull/606): Speed up imports when `bulk_size` is specified. ([@yahooguntu][])
|
224
|
+
* [#682](https://github.com/toptal/chewy/pull/682): Insert `RequestStrategy` middleware before `ActionDispatch::ShowExceptions`. ([@dck][])
|
225
|
+
|
226
|
+
## 5.0.0 (2018-02-13)
|
227
|
+
|
228
|
+
### Changes
|
229
|
+
|
230
|
+
* **(Breaking)** Align the gem version with the most recent ElasticSearch version we support.
|
231
|
+
* **(Breaking)** `Chewy.default_field_type` is `text` now.
|
232
|
+
* **(Breaking)** `Chewy::Stash` was split onto two indexes - `Chewy::Stash::Specification` and `Chewy::Stash::Journal`.
|
233
|
+
* **(Breaking)** Data for journal and specification is stored in binary fields base64-encoded to bypass the limits of other fields.
|
234
|
+
* **(Breaking)** [#626](https://github.com/toptal/chewy/pull/626): Don't underscore suggested index name. ([@dm1try][])
|
235
|
+
* [#598](https://github.com/toptal/chewy/pull/598): `pipeline` import option support. ([@eManPrague][])
|
236
|
+
* [#625](https://github.com/toptal/chewy/pull/625): Proper Rails check. ([@nattfodd][])
|
237
|
+
* [#623](https://github.com/toptal/chewy/pull/623): Bypass strategy performance improvements. ([@DNNX][])
|
238
|
+
* [#620](https://github.com/toptal/chewy/pull/620): Avoid index update calls for empty data. ([@robertasg][])
|
239
|
+
* Do not underscore suggested index name on `Chewy::Index.index_name` call.
|
240
|
+
* It is possible now to call `root` method several times inside a single type definition, the options will be merged. Also, the block isn't required anymore.
|
241
|
+
* [#565](https://github.com/toptal/chewy/pull/565): Fixed some Sequel deprecation warnings. ([@arturtr][])
|
242
|
+
* [#577](https://github.com/toptal/chewy/pull/577): Fixed some Sequel deprecation warnings. ([@matchbookmac][])
|
119
243
|
|
120
|
-
|
244
|
+
### Bugs Fixed
|
121
245
|
|
122
|
-
*
|
246
|
+
* [#593](https://github.com/toptal/chewy/pull/593): Fixed index settings logic error. ([@yahooguntu][])
|
247
|
+
* [#567](https://github.com/toptal/chewy/pull/567): Missed check in higlight method. ([@heartfulbird][])
|
123
248
|
|
124
|
-
|
249
|
+
-----------------------------------------------------------------------------------
|
125
250
|
|
126
|
-
|
251
|
+
## 0.10.1
|
127
252
|
|
128
|
-
|
253
|
+
### Changes
|
129
254
|
|
130
|
-
*
|
255
|
+
* [#558](https://github.com/toptal/chewy/pull/558): Improved parallel worker titles
|
131
256
|
|
132
|
-
|
257
|
+
### Bugs Fixed
|
133
258
|
|
134
|
-
*
|
259
|
+
* [#557](https://github.com/toptal/chewy/pull/557): Fixed request strategy initial debug message
|
260
|
+
* [#556](https://github.com/toptal/chewy/pull/556): Fixed will objects paginated array initialization when pagination was not used
|
261
|
+
* [#555](https://github.com/toptal/chewy/pull/555): Fixed fields symbol/string value
|
262
|
+
* [#554](https://github.com/toptal/chewy/pull/554): Fixed root field value proc
|
135
263
|
|
136
|
-
|
264
|
+
## 0.10.0
|
137
265
|
|
138
|
-
|
266
|
+
### Breaking changes
|
139
267
|
|
140
|
-
*
|
268
|
+
* Changed behavior of `Chewy::Index.index_name`, it doesn't cache the values anymore.
|
269
|
+
* Journal interfaces, related code and rake tasks were completely refactored and are not compatible with the previous version.
|
141
270
|
|
142
|
-
|
271
|
+
### Changes
|
143
272
|
|
273
|
+
* [#543](https://github.com/toptal/chewy/pull/543): Less noisy strategies logging ([@Borzik][])
|
274
|
+
* Parallel import and the corresponding rake tasks.
|
275
|
+
* [#532](https://github.com/toptal/chewy/pull/532): `:shoryuken` async strategy ([@josephchoe][])
|
276
|
+
* Deprecate `Chewy::Index.build_index_name`.
|
277
|
+
* Rename `Chewy::Index.default_prefix` to `Chewy::Index.prefix`. The old one is deprecated.
|
278
|
+
* Add `Chewy::Type.derivable_name` for consistency.
|
279
|
+
* Rename `Chewy::Index.derivable_index_name` to `Chewy::Index.derivable_name`.
|
280
|
+
`Chewy::Index.derivable_index_name` and `Chewy::Type.derivable_index_name` are deprecated.
|
281
|
+
* Use normal YAML loading, for the config, we don't need the safe one.
|
282
|
+
* [#526](https://github.com/toptal/chewy/pull/526): `default_root_options` option ([@barthez][])
|
283
|
+
* Partial indexing ability: it is possible to update only specified fields.
|
284
|
+
* New cool `rake chewy:deploy` task.
|
285
|
+
* Selective reset (resets only if necessary): `rake chewy:upgrade`.
|
286
|
+
* Consistency checks and synchronization: `rake chewy:sync`.
|
287
|
+
* Brand new request DSL. Supports ElasticSearch 2 and 5, better usability, architecture and docs.
|
288
|
+
* Add Kaminari 1.0 support.
|
289
|
+
* [#483](https://github.com/toptal/chewy/pull/483): `skip_index_creation_on_import` option ([@sergey-kintsel][])
|
290
|
+
* [#481](https://github.com/toptal/chewy/pull/481): Ability to use procs for settings ([@parallel588][])
|
291
|
+
* [#467](https://github.com/toptal/chewy/pull/467): Bulk indexing optimizations with new additional options ([@eproulx-petalmd][])
|
292
|
+
* [#438](https://github.com/toptal/chewy/pull/438): Configurable sidekiq options ([@averell23][])
|
293
|
+
|
294
|
+
## 0.9.0
|
295
|
+
|
296
|
+
### Changes
|
297
|
+
|
298
|
+
* [#443](https://github.com/toptal/chewy/pull/443): Add `preference` param to Query ([@menglewis][])
|
299
|
+
* [#417](https://github.com/toptal/chewy/pull/417): Add the `track_scores` option to the query; `_score` to be computed and tracked even when there are no `_score` in sort. ([@dmitry][])
|
300
|
+
* [#414](https://github.com/toptal/chewy/pull/414), [#433](https://github.com/toptal/chewy/pull/433), [#439](https://github.com/toptal/chewy/pull/439): Confugurable `Chewy.indices_path` ([@robacarp][])
|
301
|
+
* [#409](https://github.com/toptal/chewy/pull/409), [#425](https://github.com/toptal/chewy/pull/425), [#428](https://github.com/toptal/chewy/pull/428), [#432](https://github.com/toptal/chewy/pull/432), [#434](https://github.com/toptal/chewy/pull/434), [#463](https://github.com/toptal/chewy/pull/463): [Journaling](https://github.com/toptal/chewy/#journaling) implementation ([@sergey-kintsel][])
|
302
|
+
* [#396](https://github.com/toptal/chewy/pull/396): Minitest helpers ([@robacarp][])
|
303
|
+
* [#393](https://github.com/toptal/chewy/pull/393): `Chewy::Query#unlimited` to fetch all the documents ([@sergey-kintsel][])
|
304
|
+
* [#386](https://github.com/toptal/chewy/pull/386): `Chewy::Query#exists?` ([@sergey-kintsel][])
|
305
|
+
* [#381](https://github.com/toptal/chewy/pull/381), [#376](https://github.com/toptal/chewy/pull/376): Import otimizations
|
306
|
+
* [#375](https://github.com/toptal/chewy/pull/375): Additional import optimization technique - [raw import](https://github.com/toptal/chewy/#raw-import) ([@DNNX][])
|
307
|
+
* [#380](https://github.com/toptal/chewy/pull/380): `weight` scoring dunction was added to the search DSL ([@sevab][])
|
308
|
+
* Rake tasks support multiple indexes and exceptions: `rake chewy:reset[users,projects]`, `rake chewy:update[-projects]`
|
144
309
|
* Witchcraft™ supports dynamically generated procs with variables from closure.
|
310
|
+
* Added `Query#preference` for specifying shard replicas to query against. ([@menglewis][])
|
145
311
|
|
146
|
-
|
147
|
-
|
148
|
-
## Bugfixes
|
149
|
-
|
150
|
-
* `.script_fields` method in the Index class (@dmitry, #415)
|
151
|
-
|
152
|
-
* Fix routing_missing_exception on delete with parent missing (@guigs, #398)
|
312
|
+
### Bugs Fixed
|
153
313
|
|
154
|
-
*
|
314
|
+
* [#415](https://github.com/toptal/chewy/pull/415): `.script_fields` method in the Index class ([@dmitry][])
|
315
|
+
* [#398](https://github.com/toptal/chewy/pull/398): Fix routing_missing_exception on delete with parent missing ([@guigs][])
|
316
|
+
* [#385](https://github.com/toptal/chewy/pull/385): Sequel custom primary keys handling fix ([@okliv][])
|
317
|
+
* [#374](https://github.com/toptal/chewy/pull/374): Bulk import fixes ([@0x0badc0de][])
|
155
318
|
|
156
|
-
|
319
|
+
## 0.8.4
|
157
320
|
|
158
|
-
|
159
|
-
|
160
|
-
## Changes
|
321
|
+
### Changes
|
161
322
|
|
162
323
|
* Brand new import `:bulk_size` option, set desired ElasticSearch bulk size in bytes
|
163
|
-
|
164
324
|
* Witchcraft™ technology
|
165
|
-
|
166
|
-
*
|
167
|
-
|
168
|
-
* Various codebase optimizations (@DNNX, @pyromaniac)
|
169
|
-
|
325
|
+
* [#341](https://github.com/toptal/chewy/pull/341): Configurable per-type default import options ([@barthez][])
|
326
|
+
* Various codebase optimizations ([@DNNX][], [@pyromaniac][])
|
170
327
|
* `update_index` Rspec matcher messages improvements
|
171
|
-
|
172
328
|
* `:all` rake tasks deprecation
|
173
|
-
|
174
|
-
*
|
175
|
-
|
176
|
-
*
|
177
|
-
|
178
|
-
* Prefix is configurable per-index (@mikeyhogarth, #314)
|
179
|
-
|
180
|
-
* Ability to pass proc for transport configuration (@feymartynov, @reidab, #302, #339)
|
181
|
-
|
182
|
-
* ElasticSearch 2 support (@sergeygaychuk, #297)
|
183
|
-
|
329
|
+
* [#335](https://github.com/toptal/chewy/pull/335): Scoped notification subscriptions in rake tasks ([@0x0badc0de][])
|
330
|
+
* [#321](https://github.com/toptal/chewy/pull/321): Async strategies workers accept options ([@dnd][])
|
331
|
+
* [#314](https://github.com/toptal/chewy/pull/314): Prefix is configurable per-index ([@mikeyhogarth][])
|
332
|
+
* [#302](https://github.com/toptal/chewy/pull/302), [#339](https://github.com/toptal/chewy/pull/339): Ability to pass proc for transport configuration ([@feymartynov][], [@reidab][])
|
333
|
+
* [#297](https://github.com/toptal/chewy/pull/297): ElasticSearch 2 support ([@sergeygaychuk][])
|
184
334
|
* Accessing types with methods is deprecated. Use `MyIndex::MyType` constant reference instead of `MyIndex.my_type` method.
|
335
|
+
* [#294](https://github.com/toptal/chewy/pull/294): Sequel adapter improvements ([@mrbrdo][])
|
185
336
|
|
186
|
-
|
187
|
-
|
188
|
-
## Bugfixes
|
189
|
-
|
190
|
-
* Mongoid atomic strategy fix (#325)
|
191
|
-
|
192
|
-
* Method missing fix (@jesjos, #324)
|
193
|
-
|
194
|
-
* Hash fields composition fix (@eproulx-petalmd, #319)
|
337
|
+
### Bugs Fixed
|
195
338
|
|
196
|
-
*
|
339
|
+
* [#325](https://github.com/toptal/chewy/pull/325): Mongoid atomic strategy fix
|
340
|
+
* [#324](https://github.com/toptal/chewy/pull/324): Method missing fix ([@jesjos][])
|
341
|
+
* [#319](https://github.com/toptal/chewy/pull/319): Hash fields composition fix ([@eproulx-petalmd][])
|
342
|
+
* [#306](https://github.com/toptal/chewy/pull/306): Better errors handling in strategies ([@barthez][])
|
343
|
+
* [#303](https://github.com/toptal/chewy/pull/303): Assets strategies silencer fix for Rails 5 API mode ([@clupprich][])
|
197
344
|
|
198
|
-
|
345
|
+
## 0.8.3
|
199
346
|
|
200
|
-
|
201
|
-
|
202
|
-
## Breaking changes:
|
347
|
+
### Breaking changes:
|
203
348
|
|
204
349
|
* `Chewy.atomic` and `Chewy.urgent_update=` methods was removed from the codebase, use `Chewy.strategy` block instead.
|
205
|
-
|
206
350
|
* `delete_from_index?` hook is removed from the codebase.
|
207
351
|
|
208
|
-
|
352
|
+
### Changes
|
209
353
|
|
210
354
|
* Sequel support completely reworked to use common ORM implementations + better sequel specs covarage.
|
211
355
|
|
212
|
-
|
356
|
+
### Bugs Fixed
|
213
357
|
|
214
358
|
* Sequel objects transactional destruction fix
|
215
|
-
|
216
|
-
* Correct Rspec mocking framework checking (@mainameiz)
|
217
|
-
|
359
|
+
* Correct Rspec mocking framework checking ([@mainameiz][])
|
218
360
|
* Atomic strategy is now compatible with custom ids proc.
|
361
|
+
* Safe unsubscribe on import ([@marshall-lee][])
|
362
|
+
* Correct custom assets path silencer ([@davekaro][])
|
219
363
|
|
220
|
-
|
221
|
-
|
222
|
-
* Correct custom assets path silencer (@davekaro)
|
223
|
-
|
224
|
-
# Version 0.8.2
|
225
|
-
|
226
|
-
## Changes
|
227
|
-
|
228
|
-
* ActiveJob strategy by @mkcode
|
229
|
-
|
230
|
-
* Async strategies tweak (@AndreySavelyev)
|
231
|
-
|
232
|
-
* GeoPoint readme (@joonty)
|
233
|
-
|
234
|
-
* Multiple grammar fixes and code improvements (@biow0lf)
|
364
|
+
## 0.8.2
|
235
365
|
|
236
|
-
|
366
|
+
### Changes
|
237
367
|
|
238
|
-
*
|
368
|
+
* ActiveJob strategy by [@mkcode][]
|
369
|
+
* Async strategies tweak ([@AndreySavelyev][])
|
370
|
+
* GeoPoint readme ([@joonty][])
|
371
|
+
* Multiple grammar fixes and code improvements ([@biow0lf][])
|
372
|
+
* Named aggregations by [@caldwecr][]
|
373
|
+
* Sequel adapter by [@jirutka][]
|
374
|
+
* Rake helper methods extracted ([@caldwecr][], [@jirutka][])
|
375
|
+
* Multiple grammar fixes ([@henrebotha][])
|
376
|
+
* Ability to pass a proc to `update_index` to define updating index dynamically ([@SeTeM][])
|
239
377
|
|
240
|
-
|
241
|
-
|
242
|
-
* Multiple grammar fixes (@henrebotha)
|
243
|
-
|
244
|
-
* Ability to pass a proc to `update_index` to define updating index dynamically (@SeTeM)
|
245
|
-
|
246
|
-
|
247
|
-
## Bugfixes
|
378
|
+
### Bugs Fixed
|
248
379
|
|
249
380
|
* Fixed transport logger and tracer configuration
|
250
381
|
|
251
|
-
|
382
|
+
## 0.8.1
|
252
383
|
|
253
|
-
|
384
|
+
### Bugs Fixed
|
254
385
|
|
255
386
|
* Added support of elasticsearch-ruby 1.0.10
|
256
387
|
|
257
|
-
|
388
|
+
## 0.8.0
|
258
389
|
|
259
|
-
|
390
|
+
### Breaking changes:
|
260
391
|
|
261
392
|
* `:atomic` and `:urgent` strategies are using `import!` method raising exceptions
|
262
393
|
|
263
|
-
|
394
|
+
### Changes
|
264
395
|
|
265
396
|
* Crutches™ technology
|
266
|
-
|
267
|
-
*
|
268
|
-
|
269
|
-
* `update_index` matcher mocha support (@lardawge)
|
270
|
-
|
397
|
+
* Added `.script_fields` chainable method to query ([@ka8725][])
|
398
|
+
* `update_index` matcher mocha support ([@lardawge][])
|
271
399
|
* `:resque` async strategy
|
400
|
+
* `:sidekiq` async strategy (inspired by [@sharkzp][])
|
401
|
+
* Added `Query#search_type` for `search_type` request option setup ([@marshall-lee][])
|
272
402
|
|
273
|
-
|
274
|
-
|
275
|
-
* Added `Query#search_type` for `search_type` request option setup (@marshall-lee)
|
276
|
-
|
277
|
-
## Bugfixes
|
403
|
+
### Bugs Fixed
|
278
404
|
|
279
405
|
* Rails 4.2 migrations are not raising UndefinedUpdateStrategy anymore on data updates
|
406
|
+
* Mongoid random failing specs fixes ([@marshall-lee][])
|
280
407
|
|
281
|
-
|
282
|
-
|
283
|
-
# Version 0.7.0
|
284
|
-
|
285
|
-
## Breaking changes:
|
408
|
+
## 0.7.0
|
286
409
|
|
287
|
-
|
288
|
-
in tests
|
410
|
+
### Breaking changes:
|
289
411
|
|
412
|
+
* `Chewy.use_after_commit_callbacks = false` returns previous RDBMS behavior in tests
|
290
413
|
* ActiveRecord import is now called after_commit instead of after_save and after_destroy
|
291
|
-
|
292
414
|
* Import now respects default scope and removes unmatched documents
|
293
|
-
|
294
415
|
* `delete_from_index?` method is deprecated, use
|
295
|
-
|
296
416
|
```ruby
|
297
417
|
define_type User, delete_if: ->{ removed? } do
|
298
418
|
...
|
299
419
|
end
|
300
420
|
```
|
301
|
-
|
302
421
|
* `Chewy.request_strategy` to configure action controller's request wrapping strategy
|
303
|
-
|
304
422
|
* `Chewy.root_strategy` to configure the first strategy in stack
|
305
|
-
|
306
423
|
* Default strategy for controller actions is `:atomic`
|
307
|
-
|
308
424
|
* Default strategy for activerecord migrations is `:bypass`
|
309
|
-
|
310
425
|
* Default strategy for sandbox console is `:bypass`
|
311
|
-
|
312
426
|
* Default strategy for rails console is `:urgent`
|
313
|
-
|
314
427
|
* `Chewy.configuration` was renamed to `Chewy.settings`
|
315
|
-
|
316
|
-
*
|
317
|
-
and `Chewy.urgent_update` are now deprecated in favour of the new
|
318
|
-
`Chewy.strategy` API.
|
319
|
-
|
320
|
-
* Loading objects for object-sourced types using `wrap` method is
|
321
|
-
deprecated, `load_one` method should be used instead. Or method name
|
322
|
-
might be passed to `define_type`:
|
323
|
-
|
428
|
+
* Reworked index update strategies implementation. `Chewy.atomic` and `Chewy.urgent_update` are now deprecated in favour of the new `Chewy.strategy` API.
|
429
|
+
* Loading objects for object-sourced types using `wrap` method is deprecated, `load_one` method should be used instead. Or method name might be passed to `define_type`:
|
324
430
|
```ruby
|
325
431
|
class GeoData
|
326
432
|
def self.get_data(elasticsearch_document)
|
@@ -334,14 +440,11 @@
|
|
334
440
|
end
|
335
441
|
```
|
336
442
|
|
337
|
-
|
338
|
-
|
339
|
-
* Multiple enhancements by @DNNX
|
340
|
-
|
341
|
-
* Added `script_fields` to search criteria (@ka8725)
|
443
|
+
### Changes
|
342
444
|
|
445
|
+
* Multiple enhancements by [@DNNX][]
|
446
|
+
* Added `script_fields` to search criteria ([@ka8725][])
|
343
447
|
* ORM adapters now completely relies on the default scope. This means every scope or objects passed to import are merged with default scope so basically there is no need to define `delete_if` block. Default scope strongly restricts objects which may land in the current index.
|
344
|
-
|
345
448
|
```ruby
|
346
449
|
define_type Country.where("rating > 30") do
|
347
450
|
|
@@ -354,11 +457,7 @@
|
|
354
457
|
CountriesIndex::Country.import(Country.where("rating < 50").to_a)
|
355
458
|
CountriesIndex::Country.import(Country.where("rating < 50").pluck(:id))
|
356
459
|
```
|
357
|
-
|
358
|
-
* Object adapter supports custom initial import and load methods, so it
|
359
|
-
could be configured to be used with procs or any class responding to `call`
|
360
|
-
method.
|
361
|
-
|
460
|
+
* Object adapter supports custom initial import and load methods, so it could be configured to be used with procs or any class responding to `call` method.
|
362
461
|
```ruby
|
363
462
|
class GeoData
|
364
463
|
def self.call
|
@@ -371,9 +470,7 @@
|
|
371
470
|
...
|
372
471
|
end
|
373
472
|
```
|
374
|
-
|
375
473
|
* Nested fields value procs additional arguments: parent objects.
|
376
|
-
|
377
474
|
```ruby
|
378
475
|
define_type Country do
|
379
476
|
field :name
|
@@ -382,177 +479,133 @@
|
|
382
479
|
end
|
383
480
|
end
|
384
481
|
```
|
385
|
-
|
386
482
|
* Implemented basic named scopes
|
387
483
|
|
388
|
-
|
389
|
-
|
390
|
-
* `script_score` allow options (@joeljunstrom)
|
391
|
-
|
392
|
-
* Chewy indexes eaged loading fixes (@leemhenson)
|
484
|
+
### Bugs Fixed
|
393
485
|
|
486
|
+
* `script_score` allow options ([@joeljunstrom][])
|
487
|
+
* Chewy indexes eaged loading fixes ([@leemhenson][])
|
394
488
|
* `Chewy::Index.import nil` imports nothing instead of initial data
|
395
489
|
|
396
|
-
|
397
|
-
|
398
|
-
## Changes
|
490
|
+
## 0.6.2
|
399
491
|
|
400
|
-
|
492
|
+
### Changes
|
401
493
|
|
402
|
-
|
494
|
+
* document root id custom value option ([@baronworks][])
|
403
495
|
|
404
|
-
|
496
|
+
### Bugs Fixed
|
405
497
|
|
498
|
+
* Removed decay function defaults ([@Linuus][])
|
406
499
|
* Correct config file handling in case of empty file
|
407
500
|
|
408
|
-
|
409
|
-
|
410
|
-
## Changes
|
501
|
+
## 0.6.1
|
411
502
|
|
412
|
-
|
503
|
+
### Changes
|
413
504
|
|
505
|
+
* `min_score` query option support ([@jshirley][])
|
414
506
|
* `Chewy::Query#find` method for finding documents by id
|
415
507
|
|
416
|
-
|
508
|
+
## 0.6.0
|
417
509
|
|
418
|
-
|
419
|
-
|
420
|
-
* Mongoid support YaY! (@fabiotomio, @leemhenson)
|
510
|
+
### Changes
|
421
511
|
|
512
|
+
* Mongoid support YaY! ([@fabiotomio][], [@leemhenson][])
|
422
513
|
* `urgent: true` option for `update_index` is deprecated and will be removed soon, use `Chewy.atomic` instead
|
514
|
+
* `timeout` and `timed_out` support ([@MarkMurphy][])
|
515
|
+
* will_paginate support ([@josecoelho][])
|
423
516
|
|
424
|
-
|
425
|
-
|
426
|
-
* will_paginate support (@josecoelho)
|
427
|
-
|
428
|
-
## Bugfixes
|
517
|
+
### Bugs Fixed
|
429
518
|
|
430
|
-
* All the query chainable methods delegated to indexes and types (partially @Linuus)
|
519
|
+
* All the query chainable methods delegated to indexes and types (partially [@Linuus][])
|
431
520
|
|
432
|
-
|
521
|
+
## 0.5.2
|
433
522
|
|
434
|
-
|
523
|
+
### Breaking changes:
|
435
524
|
|
436
525
|
* `Chewy::Type::Base` removed in favour of using `Chewy::Type` as a base class for all types
|
437
526
|
|
438
|
-
|
527
|
+
### Changes
|
439
528
|
|
440
529
|
* `Chewy.massacre` aliased to `Chewy.delete_all` method deletes all the indexes with current prefix
|
441
530
|
|
442
|
-
|
443
|
-
|
444
|
-
* Advanced type classes resolving (@inbeom)
|
531
|
+
### Bugs Fixed:
|
445
532
|
|
533
|
+
* Advanced type classes resolving ([@inbeom][])
|
446
534
|
* `import` ignores nil
|
447
535
|
|
448
|
-
|
449
|
-
|
450
|
-
## Changes:
|
451
|
-
|
452
|
-
* `chewy.yml` Rails generator (@jirikolarik)
|
536
|
+
## 0.5.1
|
453
537
|
|
454
|
-
|
538
|
+
### Changes:
|
455
539
|
|
540
|
+
* `chewy.yml` Rails generator ([@jirikolarik][])
|
541
|
+
* Parent-child mappings feature support ([@inbeom][])
|
456
542
|
* `Chewy::Index.total_count` and `Chewy::Type::Base.total_count`
|
543
|
+
* `Chewy::Type::Base.reset` method. Deletes all the type documents and performs import ([@jondavidford][])
|
544
|
+
* Added `Chewy::Query#delete_all` scope method using delete by query ES feature ([@jondavidford][])
|
545
|
+
* Rspec 3 `update_index` matcher support ([@jimmybaker][])
|
546
|
+
* Implemented function scoring ([@averell23][])
|
457
547
|
|
458
|
-
|
459
|
-
|
460
|
-
* Added `Chewy::Query#delete_all` scope method using delete by query ES feature (@jondavidford)
|
461
|
-
|
462
|
-
* Rspec 3 `update_index` matcher support (@jimmybaker)
|
548
|
+
### Bugs Fixed:
|
463
549
|
|
464
|
-
*
|
550
|
+
* Indexed eager-loading fix ([@leemhenson][])
|
551
|
+
* Field type deriving nested type support fix ([@rschellhorn][])
|
465
552
|
|
466
|
-
##
|
553
|
+
## 0.5.0
|
467
554
|
|
468
|
-
|
469
|
-
|
470
|
-
* Field type deriving nested type support fix (@rschellhorn)
|
471
|
-
|
472
|
-
# Version 0.5.0
|
473
|
-
|
474
|
-
## Breaking changes:
|
555
|
+
### Breaking changes:
|
475
556
|
|
476
557
|
* 404 exception (IndexMissingException) while query is swallowed and treated like an empty result set.
|
477
|
-
|
478
558
|
* `load` and `preload` for queries became lazy. Might be partially incompatible.
|
479
|
-
|
480
559
|
* Changed mapping behavior: multi-fields are defined in conformity with ElasticSearch documentation (http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/_multi_fields.html#_multi_fields)
|
481
560
|
|
482
|
-
|
483
|
-
|
484
|
-
* `suggest` query options support (@rschellhorn).
|
561
|
+
### Changes:
|
485
562
|
|
563
|
+
* `suggest` query options support ([@rschellhorn][]).
|
486
564
|
* Added hash data support. How it is possible to pass hashes to import.
|
487
|
-
|
488
565
|
* `rake chewy:reset` and `rake chewy:update` paramless acts as `rake chewy:reset:all` and `rake chewy:update:all` respectively
|
489
|
-
|
490
566
|
* Added `delete_from_index?` API method for custom deleted objects marking.
|
491
|
-
|
492
567
|
* Added `post_filter` API, working the same way as filters.
|
493
|
-
|
494
568
|
* Added chainable `strategy` query method.
|
495
|
-
|
496
569
|
* Aliasing is performed in index create request for ElasticSearch >= 1.1.
|
497
|
-
|
498
570
|
* `preload` scope method loads ORM/ODM objects in background.
|
499
|
-
|
500
571
|
* `load` method `:only` and `:except` options to specify load types.
|
501
|
-
|
502
572
|
* `highlight` and `rescore` query options support.
|
503
|
-
|
504
573
|
* config/chewy.yml ERB support.
|
505
574
|
|
506
|
-
|
575
|
+
### Bugs Fixed:
|
507
576
|
|
508
577
|
* Fixed `missing` and `exists` filters DSL constructors.
|
509
|
-
|
510
578
|
* Reworked index data composing.
|
511
|
-
|
512
|
-
* Support for Kaminari new PaginatableArray behavior (@leemhenson)
|
513
|
-
|
579
|
+
* Support for Kaminari new PaginatableArray behavior ([@leemhenson][])
|
514
580
|
* Correct waiting for status. After index creation, bulk import, and deletion.
|
581
|
+
* [#23](https://github.com/toptal/chewy/pull/23): Fix "wrong constant name" with namespace models
|
515
582
|
|
516
|
-
|
517
|
-
|
518
|
-
# Version 0.4.0
|
583
|
+
## 0.4.0
|
519
584
|
|
520
585
|
* Changed `update_index` matcher behavior. Now it compare array attributes position-independently.
|
521
|
-
|
522
|
-
* Search aggregations API support (@arion).
|
523
|
-
|
586
|
+
* Search aggregations API support ([@arion][]).
|
524
587
|
* Chewy::Query#facets called without params performs the request and returns facets.
|
525
|
-
|
526
588
|
* Added `Type.template` DSL method for root objects dynamic templates definition. See [mapping.rb](lib/chewy/type/mapping.rb) for more details.
|
527
|
-
|
528
|
-
* ActiveRecord adapter custom `primary_key` support (@matthee).
|
529
|
-
|
589
|
+
* ActiveRecord adapter custom `primary_key` support ([@matthee][]).
|
530
590
|
* Urgent update now clears association cache in ActiveRecord to ensure latest changes are imported.
|
531
|
-
|
532
591
|
* `import` now creates index before performing.
|
533
|
-
|
534
592
|
* `Chewy.configuration[:wait_for_status]` option. Can be set to `red`, `yellow` or `green`. If set - chewy will wait for cluster status before creating, deleting index and import. Useful for specs.
|
535
593
|
|
536
|
-
|
594
|
+
## 0.3.0
|
537
595
|
|
538
596
|
* Added `Chewy.configuration[:index]` config to setup common indexes options.
|
539
|
-
|
540
597
|
* `Chewy.client_options` replaced with `Chewy.configuration`
|
541
|
-
|
542
598
|
* Using source filtering instead of fields filter (http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-source-filtering.html).
|
543
599
|
|
544
|
-
|
600
|
+
## 0.2.3
|
545
601
|
|
546
602
|
* `.import!` indexes method, raises import errors.
|
547
|
-
|
548
603
|
* `.import!` types method, raises import errors. Useful for specs.
|
549
604
|
|
550
|
-
|
551
|
-
|
552
|
-
* Support for `none` scope (@undr).
|
553
|
-
|
554
|
-
* Auto-resolved analyzers and analyzers repository (@webgago):
|
605
|
+
## 0.2.2
|
555
606
|
|
607
|
+
* Support for `none` scope ([@undr][]).
|
608
|
+
* Auto-resolved analyzers and analyzers repository ([@webgago][]):
|
556
609
|
```ruby
|
557
610
|
# Setting up analyzers repository:
|
558
611
|
Chewy.analyzer :title_analyzer, type: 'custom', filter: %w(lowercase icu_folding title_nysiis)
|
@@ -563,69 +616,42 @@
|
|
563
616
|
settings analysis: {analyzer: ['title_analyzer', {one_more_analyzer: {type: 'custom', tokenizer: 'lowercase'}}]}
|
564
617
|
end
|
565
618
|
```
|
566
|
-
|
567
619
|
`title_analyzer` here will be automatically resolved and passed to index mapping
|
568
620
|
|
569
|
-
|
621
|
+
## 0.2.0
|
570
622
|
|
571
623
|
* Reworked import error handling. Now all the import errors from ElasticSearch are handled properly, also import method returns true of false depending on the import process success.
|
572
|
-
|
573
624
|
* `Chewy::Index.import` now takes types hash as argument within options hash:
|
574
625
|
|
575
626
|
`PlacesIndex.import city: City.enabled, country: Country.enabled, refresh: false`
|
576
|
-
|
577
627
|
* Old indexes cleanup after reset.
|
578
|
-
|
579
628
|
* Added index prefixes.
|
580
|
-
|
581
629
|
* `define_type` now takes options for adapter.
|
582
|
-
|
583
630
|
* `chewy:reset` and `chewy:reset:all` rake tasks are now trying to reset index with zero downtime if it is possible.
|
584
|
-
|
585
631
|
* Added `chewy:update:all` rake task.
|
586
|
-
|
587
632
|
* Methods `.create`, `.create!`, `.delete`, `.delete`, `reset!` are now supports index name suffix passing as the first argument. See [actions.rb](lib/chewy/index/actions.rb) for more details.
|
588
|
-
|
589
633
|
* Method `reset` renamed to `reset!`.
|
590
|
-
|
591
634
|
* Added common loading scope for AR adapter. Also removed scope proc argument, now it executes just in main load scope context.
|
592
|
-
|
593
635
|
`CitiesIndex.all.load(scope: {city: City.include(:country)})`
|
594
636
|
`CitiesIndex.all.load(scope: {city: -> { include(:country) }})`
|
595
637
|
`CitiesIndex.all.load(scope: ->{ include(:country) })`
|
596
638
|
|
597
|
-
|
639
|
+
## 0.1.0
|
598
640
|
|
599
641
|
* Added filters simplified DSL. See [filters.rb](lib/chewy/query/filters.rb) for more details.
|
600
|
-
|
601
642
|
* Queries and filters join system reworked. See [query.rb](lib/chewy/query.rb) for more details.
|
602
|
-
|
603
643
|
* Added query `merge` method
|
604
|
-
|
605
|
-
* `update_index` matcher now wraps expected block in `Chewy.atomic` by default.
|
606
|
-
This behaviour can be prevented with `atomic: false` option passing
|
607
|
-
|
644
|
+
* `update_index` matcher now wraps expected block in `Chewy.atomic` by default. This behaviour can be prevented with `atomic: false` option passing
|
608
645
|
```ruby
|
609
646
|
expect { user.save! }.to update_index('users#user', atomic: false)
|
610
647
|
```
|
611
|
-
|
612
648
|
* Renamed `Chewy.observing_enabled` to `Chewy.urgent_update` with `false` as default
|
613
|
-
|
614
|
-
*
|
615
|
-
|
616
|
-
|
617
|
-
* Added import ActiveSupport::Notifications instrumentation
|
618
|
-
`ActiveSupport::Notifications.subscribe('import_objects.chewy') { |*args| }`
|
619
|
-
|
620
|
-
* Added `types!` and `only!` query chain methods, which purges previously
|
621
|
-
chained types and fields
|
622
|
-
|
649
|
+
* `update_elasticsearch` renamed to `update_index`, added `update_index` `:urgent` option
|
650
|
+
* Added import ActiveSupport::Notifications instrumentation `ActiveSupport::Notifications.subscribe('import_objects.chewy') { |*args| }`
|
651
|
+
* Added `types!` and `only!` query chain methods, which purges previously chained types and fields
|
623
652
|
* `types` chain method now uses types filter
|
624
|
-
|
625
653
|
* Added `types` query chain method
|
626
|
-
|
627
654
|
* Changed types access API:
|
628
|
-
|
629
655
|
```ruby
|
630
656
|
UsersIndex::User # => UsersIndex::User
|
631
657
|
UsersIndex::types_hash['user'] # => UsersIndex::User
|
@@ -633,37 +659,113 @@
|
|
633
659
|
UsersIndex.types # => [UsersIndex::User]
|
634
660
|
UsersIndex.type_names # => ['user']
|
635
661
|
```
|
636
|
-
|
637
662
|
* `update_elasticsearch` method name as the second argument
|
638
663
|
|
639
664
|
```ruby
|
640
665
|
update_elasticsearch('users#user', :self)
|
641
666
|
update_elasticsearch('users#user', :users)
|
642
667
|
```
|
643
|
-
|
644
|
-
*
|
645
|
-
`UsersIndex.index_create`, became `UsersIndex.create`
|
646
|
-
|
647
|
-
* Ability to pass value proc for source object context if arity == 0
|
648
|
-
`field :full_name, value: ->{ first_name + last_name }` instead of
|
649
|
-
`field :full_name, value: ->(u){ u.first_name + u.last_name }`
|
650
|
-
|
668
|
+
* Changed index handle methods, removed `index_` prefix. I.e. was `UsersIndex.index_create`, became `UsersIndex.create`
|
669
|
+
* Ability to pass value proc for source object context if arity == 0 `field :full_name, value: ->{ first_name + last_name }` instead of `field :full_name, value: ->(u){ u.first_name + u.last_name }`
|
651
670
|
* Added `.only` chain to `update_index` matcher
|
652
|
-
|
653
|
-
* Added ability to pass ActiveRecord::Relation as a scope for load
|
654
|
-
`CitiesIndex.all.load(scope: {city: City.include(:country)})`
|
655
|
-
|
671
|
+
* Added ability to pass ActiveRecord::Relation as a scope for load `CitiesIndex.all.load(scope: {city: City.include(:country)})`
|
656
672
|
* Added method `all` to index for query DSL consistency
|
657
|
-
|
658
673
|
* Implemented isolated adapters to simplify adding new ORMs
|
674
|
+
* Query DLS chainable methods delegated to index class (no longer need to call MyIndex.search.query, just MyIndex.query)
|
659
675
|
|
660
|
-
|
661
|
-
(no longer need to call MyIndex.search.query, just MyIndex.query)
|
662
|
-
|
663
|
-
# Version 0.0.1
|
676
|
+
## 0.0.1
|
664
677
|
|
665
678
|
* Query DSL
|
666
|
-
|
667
679
|
* Basic index handling
|
668
|
-
|
669
680
|
* Initial version
|
681
|
+
|
682
|
+
[@0x0badc0de]: https://github.com/0x0badc0de
|
683
|
+
[@AgeevAndrew]: https://github.com/AgeevAndrew
|
684
|
+
[@aglushkov]: https://github.com/aglushkov
|
685
|
+
[@AlexVPopov]: https://github.com/AlexVPopov
|
686
|
+
[@AndreySavelyev]: https://github.com/AndreySavelyev
|
687
|
+
[@afg419]: https://github.com/afg419
|
688
|
+
[@arion]: https://github.com/arion
|
689
|
+
[@arturtr]: https://github.com/arturtr
|
690
|
+
[@averell23]: https://github.com/averell23
|
691
|
+
[@baronworks]: https://github.com/baronworks
|
692
|
+
[@barthez]: https://github.com/barthez
|
693
|
+
[@bbatsov]: https://github.com/bbatsov
|
694
|
+
[@bhacaz]: https://github.com/bhacaz
|
695
|
+
[@biow0lf]: https://github.com/biow0lf
|
696
|
+
[@Borzik]: https://github.com/Borzik
|
697
|
+
[@caldwecr]: https://github.com/caldwecr
|
698
|
+
[@chrisandreae]: https://github.com/chrisandreae
|
699
|
+
[@clupprich]: https://github.com/clupprich
|
700
|
+
[@dalthon]: https://github.com/dalthon
|
701
|
+
[@davekaro]: https://github.com/davekaro
|
702
|
+
[@dck]: https://github.com/dck
|
703
|
+
[@dm1try]: https://github.com/dm1try
|
704
|
+
[@dmitry]: https://github.com/dmitry
|
705
|
+
[@dnd]: https://github.com/dnd
|
706
|
+
[@DNNX]: https://github.com/DNNX
|
707
|
+
[@eManPrague]: https://github.com/eManPrague
|
708
|
+
[@eproulx-petalmd]: https://github.com/eproulx-petalmd
|
709
|
+
[@fabiotomio]: https://github.com/fabiotomio
|
710
|
+
[@feymartynov]: https://github.com/feymartynov
|
711
|
+
[@gseddon]: https://github.com/gseddon
|
712
|
+
[@guigs]: https://github.com/guigs
|
713
|
+
[@heartfulbird]: https://github.com/heartfulbird
|
714
|
+
[@henrebotha]: https://github.com/henrebotha
|
715
|
+
[@inbeom]: https://github.com/inbeom
|
716
|
+
[@jesjos]: https://github.com/jesjos
|
717
|
+
[@JF-Lalonde]: https://github.com/JF-Lalonde
|
718
|
+
[@jiajiawang]: https://github.com/jiajiawang
|
719
|
+
[@jimmybaker]: https://github.com/jimmybaker
|
720
|
+
[@jirikolarik]: https://github.com/jirikolarik
|
721
|
+
[@jirutka]: https://github.com/jirutka
|
722
|
+
[@jkostolansky]: https://github.com/jkostolansky
|
723
|
+
[@joeljunstrom]: https://github.com/joeljunstrom
|
724
|
+
[@jondavidford]: https://github.com/jondavidford
|
725
|
+
[@joonty]: https://github.com/joonty
|
726
|
+
[@josecoelho]: https://github.com/josecoelho
|
727
|
+
[@josephchoe]: https://github.com/josephchoe
|
728
|
+
[@jshirley]: https://github.com/jshirley
|
729
|
+
[@ka8725]: https://github.com/ka8725
|
730
|
+
[@kolauren]: https://github.com/kolauren
|
731
|
+
[@konalegi]: https://github.com/konalegi
|
732
|
+
[@lardawge]: https://github.com/lardawge
|
733
|
+
[@leemhenson]: https://github.com/leemhenson
|
734
|
+
[@Linuus]: https://github.com/Linuus
|
735
|
+
[@lowang]: https://github.com/lowang
|
736
|
+
[@mainameiz]: https://github.com/mainameiz
|
737
|
+
[@MarkMurphy]: https://github.com/MarkMurphy
|
738
|
+
[@marshall]: https://github.com/marshall
|
739
|
+
[@matchbookmac]: https://github.com/matchbookmac
|
740
|
+
[@matthee]: https://github.com/matthee
|
741
|
+
[@mattzollinhofer]: https://github.com/mattzollinhofer
|
742
|
+
[@menglewis]: https://github.com/menglewis
|
743
|
+
[@mikeyhogarth]: https://github.com/mikeyhogarth
|
744
|
+
[@milk1000cc]: https://github.com/milk1000cc
|
745
|
+
[@mkcode]: https://github.com/mkcode
|
746
|
+
[@mpeychich]: https://github.com/mpeychich
|
747
|
+
[@mrbrdo]: https://github.com/mrbrdo
|
748
|
+
[@mrzasa]: https://github.com/mrzasa
|
749
|
+
[@musaffa]: https://github.com/musaffa
|
750
|
+
[@nattfodd]: https://github.com/nattfodd
|
751
|
+
[@okliv]: https://github.com/okliv
|
752
|
+
[@olancheg]: https://github.com/olancheg
|
753
|
+
[@parallel588]: https://github.com/parallel588
|
754
|
+
[@pyromaniac]: https://github.com/pyromaniac
|
755
|
+
[@rabotyaga]: https://github.com/rabotyaga
|
756
|
+
[@reidab]: https://github.com/reidab
|
757
|
+
[@robacarp]: https://github.com/robacarp
|
758
|
+
[@robertasg]: https://github.com/robertasg
|
759
|
+
[@rschellhorn]: https://github.com/rschellhorn
|
760
|
+
[@sergey-kintsel]: https://github.com/sergey-kintsel
|
761
|
+
[@sergeygaychuk]: https://github.com/sergeygaychuk
|
762
|
+
[@SeTeM]: https://github.com/SeTeM
|
763
|
+
[@sevab]: https://github.com/sevab
|
764
|
+
[@sharkzp]: https://github.com/sharkzp
|
765
|
+
[@socialchorus]: https://github.com/socialchorus
|
766
|
+
[@taylor-au]: https://github.com/taylor-au
|
767
|
+
[@TikiTDO]: https://github.com/TikiTDO
|
768
|
+
[@undr]: https://github.com/undr
|
769
|
+
[@Vitalina-Vakulchyk]: https://github.com/Vitalina-Vakulchyk
|
770
|
+
[@webgago]: https://github.com/webgago
|
771
|
+
[@yahooguntu]: https://github.com/yahooguntu
|