Skip to content

Commit 65a8134

Browse files
committed
5.0.0
1 parent df2746b commit 65a8134

File tree

3 files changed

+30
-10
lines changed

3 files changed

+30
-10
lines changed

CHANGELOG.markdown

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,26 @@
22

33
All notable changes to this project (at least, from v3.0.0 onwards) are documented in this file.
44

5+
## 5.0.0 - 2020-07-20
6+
7+
[Release Notes](https://github.com/pat/thinking-sphinx/releases/tag/v5.0.0)
8+
9+
### Added
10+
11+
* New interface for adding callbacks to indexed models (which is no longer done automatically). Discussed in [#1173](https://github.com/pat/thinking-sphinx/issues/1173) and committed via [#1175](https://github.com/pat/thinking-sphinx/pull/1175). **This is a breaking change - you will need to add these callbacks. See [the full release notes](https://github.com/pat/thinking-sphinx/releases/tag/v5.0.0) for examples.**
12+
* Fields and attributes can be overriden - whichever's defined last with a given name is the definition that's used. This is an edge case, but useful if you want to override any of the default fields/indices. (Requested by @kalsan in [#1172](https://github.com/pat/thinking-sphinx/issues/1172).)
13+
* Custom index_set_class implementations can now expect the `:instances` option to be set alongside `:classes`, which is useful in cases to limit the indices returned if you're splitting index data for given classes/models into shards. (Introduced in PR [#1171](https://github.com/pat/thinking-sphinx/pull/1171) after discussions with @lunaru in [#1166](https://github.com/pat/thinking-sphinx/issues/1166).)
14+
15+
### Changed
16+
17+
* Sphinx 2.2.11 or newer is required, or Manticore 2.8.2 or newer.
18+
* Ruby 2.4 or newer is required.
19+
* Rails 4.2 or newer is required.
20+
* Remove internal uses of `send`, replaced with `public_send` as that's available in all supported Ruby versions.
21+
* Deletion statements are simplified by avoiding the need to calculate document keys/offsets (@njakobsen via [#1134](https://github.com/pat/thinking-sphinx/issues/1134)).
22+
* Real-time data is deleted before replacing it, to avoid duplicate data when offsets change (@njakobsen via [#1134](https://github.com/pat/thinking-sphinx/issues/1134)).
23+
* Use `reference_name` as per custom `index_set_class` definitions. Previously, the class method was called on `ThinkingSphinx::IndexSet` even if a custom subclass was configured. (As per discussinos with @kalsan in [#1172](https://github.com/pat/thinking-sphinx/issues/1172).)
24+
525
## 4.4.1 - 2019-08-23
626

727
[Release Notes](https://github.com/pat/thinking-sphinx/releases/tag/v4.4.1)

README.textile

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
h1. Thinking Sphinx
22

3-
Thinking Sphinx is a library for connecting ActiveRecord to the Sphinx full-text search tool, and integrates closely with Rails (but also works with other Ruby web frameworks). The current release is v4.4.1.
3+
Thinking Sphinx is a library for connecting ActiveRecord to the Sphinx full-text search tool, and integrates closely with Rails (but also works with other Ruby web frameworks). The current release is v5.0.0.
44

55
h2. Upgrading
66

77
Please refer to "the changelog":https://github.com/pat/thinking-sphinx/blob/develop/CHANGELOG.markdown and "release notes":https://github.com/pat/thinking-sphinx/releases for any changes you need to make when upgrading. The release notes in particular are quite good at covering breaking changes and more details for new features.
88

9-
The documentation also has more details on what's involved for upgrading from "v3 to v4":https://freelancing-gods.com/thinking-sphinx/v4/upgrading.html, and "v1/v2 to v3":https://freelancing-gods.com/thinking-sphinx/v3/upgrading.html.
9+
The documentation also has more details on what's involved for upgrading from "v4 to v5":https://freelancing-gods.com/thinking-sphinx/v5/upgrading.html, "v3 to v4":https://freelancing-gods.com/thinking-sphinx/v4/upgrading.html, and "v1/v2 to v3":https://freelancing-gods.com/thinking-sphinx/v3/upgrading.html.
1010

1111
h2. Installation
1212

1313
It's a gem, so install it like you would any other gem. You will also need to specify the mysql2 gem if you're using MRI, or jdbc-mysql if you're using JRuby:
1414

15-
<pre><code>gem 'mysql2', '~> 0.3', :platform => :ruby
15+
<pre><code>gem 'mysql2', '~> 0.4', :platform => :ruby
1616
gem 'jdbc-mysql', '~> 5.1.35', :platform => :jruby
17-
gem 'thinking-sphinx', '~> 4.4'</code></pre>
17+
gem 'thinking-sphinx', '~> 5.0'</code></pre>
1818

19-
The MySQL gems mentioned are required for connecting to Sphinx, so please include it even when you're using PostgreSQL for your database. If you're using JRuby with a version of Sphinx prior to 2.2.11, there is "currently an issue with Sphinx and jdbc-mysql 5.1.36 or newer":http://sphinxsearch.com/forum/view.html?id=13939, so you'll need to stick to nothing more recent than 5.1.35, or upgrade Sphinx.
19+
The MySQL gems mentioned are required for connecting to Sphinx, so please include it even when you're using PostgreSQL for your database.
2020

2121
You'll also need to install Sphinx - this is covered in "the extended documentation":https://freelancing-gods.com/thinking-sphinx/installing_sphinx.html.
2222

@@ -40,11 +40,11 @@ It should also work with JRuby, but the test environment on Travis CI has been t
4040

4141
h3. Sphinx or Manticore
4242

43-
Thinking Sphinx v3 is currently built for Sphinx 2.2.11 or newer (though it'll likely work with 2.1.x releases), or Manticore v2.8+.
43+
Thinking Sphinx is currently built for Sphinx 2.2.11 or newer (though it'll likely work with 2.1.x releases), or Manticore v2.8+.
4444

4545
h3. Rails and ActiveRecord
4646

47-
Currently Thinking Sphinx 3 is built to support Rails/ActiveRecord 4.2 or newer. If you're using Sinatra and ActiveRecord instead of Rails, that's fine - just make sure you add the @:require => 'thinking_sphinx/sinatra'@ option when listing @thinking-sphinx@ in your Gemfile.
47+
Currently Thinking Sphinx is built to support Rails/ActiveRecord 4.2 or newer. If you're using Sinatra and ActiveRecord instead of Rails, that's fine - just make sure you add the @:require => 'thinking_sphinx/sinatra'@ option when listing @thinking-sphinx@ in your Gemfile.
4848

4949
If you want ActiveRecord 3.2-4.1 support, then refer to the 4.x releases of Thinking Sphinx. Or, for ActiveRecord 3.1 support, then refer to the 3.0.x releases. Anything older than that, then you're stuck with Thinking Sphinx v2.x (for Rails/ActiveRecord 3.0) or v1.x (Rails 2.3). Please note that these older versions are no longer actively supported.
5050

thinking-sphinx.gemspec

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ $:.push File.expand_path('../lib', __FILE__)
55

66
Gem::Specification.new do |s|
77
s.name = 'thinking-sphinx'
8-
s.version = '4.4.1'
8+
s.version = '5.0.0'
99
s.platform = Gem::Platform::RUBY
1010
s.authors = ["Pat Allan"]
1111
s.email = ["pat@freelancing-gods.com"]
@@ -21,9 +21,9 @@ Gem::Specification.new do |s|
2121
}
2222
s.require_paths = ['lib']
2323

24-
s.add_runtime_dependency 'activerecord', '>= 3.1.0'
24+
s.add_runtime_dependency 'activerecord', '>= 4.2.0'
2525
s.add_runtime_dependency 'builder', '>= 2.1.2'
26-
s.add_runtime_dependency 'joiner', '>= 0.2.0'
26+
s.add_runtime_dependency 'joiner', '>= 0.3.4'
2727
s.add_runtime_dependency 'middleware', '>= 0.1.0'
2828
s.add_runtime_dependency 'innertube', '>= 1.0.2'
2929
s.add_runtime_dependency 'riddle', '~> 2.3'

0 commit comments

Comments
 (0)