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