acts-as-taggable-on 4.0.0 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/spec.yml +95 -0
  3. data/.gitignore +1 -1
  4. data/Appraisals +12 -10
  5. data/CHANGELOG.md +206 -71
  6. data/CONTRIBUTING.md +13 -0
  7. data/Gemfile +1 -1
  8. data/README.md +79 -13
  9. data/acts-as-taggable-on.gemspec +2 -6
  10. data/db/migrate/1_acts_as_taggable_on_migration.rb +14 -8
  11. data/db/migrate/2_add_missing_unique_indices.rb +14 -9
  12. data/db/migrate/3_add_taggings_counter_cache_to_tags.rb +9 -4
  13. data/db/migrate/4_add_missing_taggable_index.rb +8 -3
  14. data/db/migrate/5_change_collation_for_tag_names.rb +7 -2
  15. data/db/migrate/6_add_missing_indexes_on_taggings.rb +22 -0
  16. data/db/migrate/7_add_tenant_to_taggings.rb +16 -0
  17. data/gemfiles/activerecord_5.0.gemfile +11 -5
  18. data/gemfiles/activerecord_5.1.gemfile +21 -0
  19. data/gemfiles/activerecord_5.2.gemfile +21 -0
  20. data/gemfiles/activerecord_6.0.gemfile +21 -0
  21. data/gemfiles/activerecord_6.1.gemfile +23 -0
  22. data/lib/acts-as-taggable-on.rb +6 -2
  23. data/lib/acts_as_taggable_on/tag.rb +23 -23
  24. data/lib/acts_as_taggable_on/tag_list.rb +1 -0
  25. data/lib/acts_as_taggable_on/taggable.rb +18 -1
  26. data/lib/acts_as_taggable_on/taggable/cache.rb +38 -34
  27. data/lib/acts_as_taggable_on/taggable/collection.rb +9 -7
  28. data/lib/acts_as_taggable_on/taggable/core.rb +49 -179
  29. data/lib/acts_as_taggable_on/taggable/ownership.rb +16 -5
  30. data/lib/acts_as_taggable_on/taggable/related.rb +1 -1
  31. data/lib/acts_as_taggable_on/taggable/tag_list_type.rb +4 -0
  32. data/lib/acts_as_taggable_on/taggable/tagged_with_query.rb +16 -0
  33. data/lib/acts_as_taggable_on/taggable/tagged_with_query/all_tags_query.rb +111 -0
  34. data/lib/acts_as_taggable_on/taggable/tagged_with_query/any_tags_query.rb +70 -0
  35. data/lib/acts_as_taggable_on/taggable/tagged_with_query/exclude_tags_query.rb +82 -0
  36. data/lib/acts_as_taggable_on/taggable/tagged_with_query/query_base.rb +61 -0
  37. data/lib/acts_as_taggable_on/tagger.rb +3 -3
  38. data/lib/acts_as_taggable_on/tagging.rb +9 -4
  39. data/lib/acts_as_taggable_on/utils.rb +4 -4
  40. data/lib/acts_as_taggable_on/version.rb +1 -2
  41. data/spec/acts_as_taggable_on/acts_as_taggable_on_spec.rb +4 -12
  42. data/spec/acts_as_taggable_on/caching_spec.rb +34 -10
  43. data/spec/acts_as_taggable_on/{taggable/dirty_spec.rb → dirty_spec.rb} +28 -13
  44. data/spec/acts_as_taggable_on/single_table_inheritance_spec.rb +28 -8
  45. data/spec/acts_as_taggable_on/tag_spec.rb +16 -1
  46. data/spec/acts_as_taggable_on/taggable_spec.rb +22 -15
  47. data/spec/acts_as_taggable_on/tagger_spec.rb +2 -2
  48. data/spec/acts_as_taggable_on/tagging_spec.rb +26 -0
  49. data/spec/internal/app/models/altered_inheriting_taggable_model.rb +2 -0
  50. data/spec/internal/app/models/cached_model_with_array.rb +6 -0
  51. data/spec/internal/app/models/columns_override_model.rb +5 -0
  52. data/spec/internal/app/models/company.rb +1 -1
  53. data/spec/internal/app/models/inheriting_taggable_model.rb +2 -0
  54. data/spec/internal/app/models/market.rb +1 -1
  55. data/spec/internal/app/models/non_standard_id_taggable_model.rb +1 -1
  56. data/spec/internal/app/models/student.rb +2 -0
  57. data/spec/internal/app/models/taggable_model.rb +3 -0
  58. data/spec/internal/app/models/user.rb +1 -1
  59. data/spec/internal/config/database.yml.sample +4 -8
  60. data/spec/internal/db/schema.rb +17 -5
  61. data/spec/spec_helper.rb +0 -1
  62. data/spec/support/database.rb +4 -4
  63. metadata +29 -68
  64. data/.travis.yml +0 -36
  65. data/UPGRADING.md +0 -8
  66. data/db/migrate/6_add_missing_indexes.rb +0 -12
  67. data/gemfiles/activerecord_4.0.gemfile +0 -16
  68. data/gemfiles/activerecord_4.1.gemfile +0 -16
  69. data/gemfiles/activerecord_4.2.gemfile +0 -15
  70. data/lib/acts_as_taggable_on/taggable/dirty.rb +0 -36
  71. data/spec/internal/app/models/models.rb +0 -90
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 8ab1dc9bc4d03cd7fb2396284190f76719bc4a40
4
- data.tar.gz: 8bbb5a13b5a1cc54aea59cb1ab6e524c31ea530c
2
+ SHA256:
3
+ metadata.gz: 9a4ab64bc795a1e9596de357c7dad4cc014e4049f6990b478cbfd5423aeea166
4
+ data.tar.gz: b5efae9e459d67584920ad0cf8aa4dac8e8889ea70897941ad580fa4cfe58508
5
5
  SHA512:
6
- metadata.gz: 901d4fb2dd642138c9d8b918d49eee90a86a0ea78596c37753197583b8c4068c08068077e8917bacc0b43ff0272613002aab6670a437ef9ac98a90910f11e522
7
- data.tar.gz: 6c0f2e8dc6157b6ea854f63456c4eaa9fc0c754d46dd419ad0a184dd76eb69c3f7486591dfe156d3a224918fcd8d81a13a90661503e216ff21730d98a5d59e52
6
+ metadata.gz: f3456a0521ea9e853afdb316792fdbbdef01c6cbc354b34b46b7916e9ce5111c9a85085c029deb0191f93f32993cebeb3b565ed865090633892584c67e017db5
7
+ data.tar.gz: b392a57b1f80e17e88766db866bb9e802dfd8924ae175c31032e98414aef48f213f007f0b93c7ca3d272540ea40579a26b8aa8e42a6d0874cc502dea7448b1fe
@@ -0,0 +1,95 @@
1
+ name: spec
2
+
3
+ on: [push, pull_request]
4
+
5
+ jobs:
6
+ build:
7
+ runs-on: ubuntu-latest
8
+ continue-on-error: ${{ matrix.ruby == 'head' }}
9
+ env:
10
+ DB: ${{ matrix.db }}
11
+ BUNDLE_GEMFILE: ${{ matrix.gemfile }}
12
+ strategy:
13
+ matrix:
14
+ ruby:
15
+ - 2.3
16
+ - 2.4
17
+ - 2.5
18
+ - 2.6
19
+ - 2.7
20
+ - 3.0
21
+ - head
22
+ gemfile:
23
+ - gemfiles/activerecord_5.0.gemfile
24
+ - gemfiles/activerecord_5.2.gemfile
25
+ - gemfiles/activerecord_5.1.gemfile
26
+ - gemfiles/activerecord_6.0.gemfile
27
+ - gemfiles/activerecord_6.1.gemfile
28
+ db:
29
+ - mysql
30
+ - postgresql
31
+ - sqlite3
32
+ exclude:
33
+ # Unfortunately, the mysql2 gem encounters a segfault in the ruby 2.3 environment:
34
+ - ruby: 2.3
35
+ db: mysql
36
+ # Exclude ActiveRecord 6.x for Ruby < 2.5
37
+ - ruby: 2.3
38
+ gemfile: gemfiles/activerecord_6.0.gemfile
39
+ - ruby: 2.3
40
+ gemfile: gemfiles/activerecord_6.1.gemfile
41
+ - ruby: 2.4
42
+ gemfile: gemfiles/activerecord_6.0.gemfile
43
+ - ruby: 2.4
44
+ gemfile: gemfiles/activerecord_6.1.gemfile
45
+ # Exclude ActiveRecord 5.x for Ruby >= 3.0
46
+ - ruby: 3.0
47
+ gemfile: gemfiles/activerecord_5.0.gemfile
48
+ - ruby: 3.0
49
+ gemfile: gemfiles/activerecord_5.1.gemfile
50
+ - ruby: 3.0
51
+ gemfile: gemfiles/activerecord_5.2.gemfile
52
+ - ruby: head
53
+ gemfile: gemfiles/activerecord_5.0.gemfile
54
+ - ruby: head
55
+ gemfile: gemfiles/activerecord_5.1.gemfile
56
+ - ruby: head
57
+ gemfile: gemfiles/activerecord_5.2.gemfile
58
+
59
+ services:
60
+ postgres:
61
+ image: postgres:10
62
+ env:
63
+ POSTGRES_USER: postgres
64
+ POSTGRES_DB: acts_as_taggable_on
65
+ POSTGRES_PASSWORD: postgres
66
+ ports: ['5432:5432']
67
+ options: >-
68
+ --health-cmd pg_isready
69
+ --health-interval 10s
70
+ --health-timeout 5s
71
+ --health-retries 5
72
+ mysql:
73
+ image: mysql:8
74
+ env:
75
+ MYSQL_ALLOW_EMPTY_PASSWORD: true
76
+ ports: ['3306:3306']
77
+ options: >-
78
+ --health-cmd "mysqladmin ping"
79
+ --health-interval 10s
80
+ --health-timeout 5s
81
+ --health-retries 5
82
+ steps:
83
+ - uses: actions/checkout@v2
84
+ - name: Set up Ruby
85
+ uses: ruby/setup-ruby@v1
86
+ with:
87
+ ruby-version: ${{ matrix.ruby }}
88
+ bundler-cache: true
89
+ - name: Create MySQL test database with utf8mb4 charset
90
+ if: ${{ matrix.db == 'mysql' }}
91
+ run: |
92
+ mysql -uroot --host=127.0.0.1 -e "CREATE DATABASE acts_as_taggable_on CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci"
93
+ - name: Build and test with Rake
94
+ run: |
95
+ bundle exec rake
data/.gitignore CHANGED
@@ -9,5 +9,5 @@ tmp*.sw?
9
9
  tmp
10
10
  *.gem
11
11
  *.lock
12
-
12
+ *.iml
13
13
  /.idea
data/Appraisals CHANGED
@@ -1,17 +1,19 @@
1
- appraise 'activerecord-5.0' do
2
- gem 'activerecord', "~> 5.0.0"
1
+ appraise 'activerecord-5.2' do
2
+ gem 'activerecord', '~> 5.2.0'
3
+ end
4
+
5
+ appraise 'activerecord-5.1' do
6
+ gem 'activerecord', "~> 5.1.1"
3
7
  end
4
8
 
5
- appraise "activerecord-4.2" do
6
- gem "activerecord", "~> 4.2.0"
9
+ appraise 'activerecord-5.0' do
10
+ gem 'activerecord', "~> 5.0.3"
7
11
  end
8
12
 
9
- appraise "activerecord-4.1" do
10
- gem "activerecord", "~> 4.1.0"
11
- gem 'mysql2', '~> 0.3.21'
13
+ appraise 'activerecord-6.0' do
14
+ gem 'activerecord', "~> 6.0.0"
12
15
  end
13
16
 
14
- appraise "activerecord-4.0" do
15
- gem "activerecord", "~> 4.0.0"
16
- gem 'mysql2', '~> 0.3.21'
17
+ appraise 'activerecord-6.1' do
18
+ gem 'activerecord', "~> 6.1.0"
17
19
  end
data/CHANGELOG.md CHANGED
@@ -1,47 +1,176 @@
1
- Changes are below categorized as `Features, Fixes, or Misc`.
1
+ Changes are below categorized as follows:
2
+ - Breaking Changes
3
+ - Features
4
+ - Fixes
5
+ - Performance
6
+ - Misc
7
+ - Documentation
2
8
 
3
- Each change should fall into categories that would affect whether the release is major (breaking changes), minor (new behavior), or patch (bug fix). See [semver](http://semver.org/) and [pessimistic versioning](http://guides.rubygems.org/patterns/#pessimistic_version_constraint)
9
+ Each change should fall into categories that would affect whether the release is major (breaking changes), minor (new behavior), or patch (bug fix). See [semver](http://semver.org/) and [pessimistic versioning](http://guides.rubygems.org/patterns/#pessimistic_version_constraint).
4
10
 
5
- As such, a _Feature_ would map to either major or minor. A _bug fix_ to a patch. And _misc_ is either minor or patch, the difference being kind of fuzzy for the purposes of history. Adding tests would be patch level.
11
+ As such, _Breaking Changes_ are major. _Features_ would map to either major or minor. _Fixes_, _Performance_, and _Misc_ are either minor or patch, the difference being kind of fuzzy for the purposes of history. Adding _Documentation_ (including tests) would be patch level.
12
+
13
+ ### [v8.0.0) / 2021-06-07](https://github.com/mbleigh/acts-as-taggable-on/compare/v7.0.0...v8.0.0)
14
+ * Features
15
+ * [@lunaru Support tenants for taggings](https://github.com/mbleigh/acts-as-taggable-on/pull/1000)
16
+ * Fixes
17
+ * [@gr-eg Use none? instead of count.zero?](https://github.com/mbleigh/acts-as-taggable-on/pull/1030)
18
+
19
+ ### [v7.0.0) / 2020-12-31](https://github.com/mbleigh/acts-as-taggable-on/compare/v6.5.0...v7.0.0)
20
+ * Features
21
+ * [@kvokka Rails 6.1 support](https://github.com/mbleigh/acts-as-taggable-on/pull/1013)
22
+ * Fixes
23
+ * [@nbulaj Add support for Ruby 2.7 and it's kwargs](https://github.com/mbleigh/acts-as-taggable-on/pull/910)
24
+ * [@Andythurlow @endorfin case sensitivity fix for tagged_with](https://github.com/mbleigh/acts-as-taggable-on/pull/965)
25
+
26
+ ### [6.5.0 / 2019-11-07](https://github.com/mbleigh/acts-as-taggable-on/compare/v6.0.0...v6.5.0)
27
+
28
+ * Features
29
+ * [@mizukami234 @junmoka Make table names configurable](https://github.com/mbleigh/acts-as-taggable-on/pull/910)
30
+ * [@damianlegawiec Rails 6.0.0.beta1 support](https://github.com/mbleigh/acts-as-taggable-on/pull/937)
31
+ * Fixes
32
+ * [@tonyta Avoid overriding user-defined columns cache methods](https://github.com/mbleigh/acts-as-taggable-on/pull/911)
33
+ * [@hengwoon tags_count only need to join on the taggable's table if using STI](https://github.com/mbleigh/acts-as-taggable-on/pull/904)
34
+ * [@bduran82 Avoid unnecessary queries when finding or creating tags](https://github.com/mbleigh/acts-as-taggable-on/pull/839)
35
+ * [@iiwo simplify relation options syntax](https://github.com/mbleigh/acts-as-taggable-on/pull/940)
36
+ * Misc
37
+ * [@gssbzn Remove legacy code for an empty query and replace it with ` ActiveRecord::none`](https://github.com/mbleigh/acts-as-taggable-on/pull/906)
38
+ * [@iiwo remove unneeded spec case](https://github.com/mbleigh/acts-as-taggable-on/pull/941)
39
+ * Documentation
40
+ * [@tonyta Cleanup CHANGELOG.md formatting and references](https://github.com/mbleigh/acts-as-taggable-on/pull/913)
41
+
42
+ ### [6.0.0 / 2018-06-19](https://github.com/mbleigh/acts-as-taggable-on/compare/v5.0.0...v6.0.0)
43
+
44
+ * Breaking Changes
45
+ * [@Fodoj Drop support for Rails 4.2](https://github.com/mbleigh/acts-as-taggable-on/pull/887)
46
+
47
+ * Features
48
+ * [@CalvertYang Add support for uuid primary keys](https://github.com/mbleigh/acts-as-taggable-on/pull/898)
49
+ * [@Fodoj Support Rails 5.2](https://github.com/mbleigh/acts-as-taggable-on/pull/887)
50
+
51
+ * Fixes
52
+ * [@tekniklr matches_attribute was not being used in tag_match_type](https://github.com/mbleigh/acts-as-taggable-on/issues/869)
53
+
54
+ ### [5.0.0 / 2017-05-18](https://github.com/mbleigh/acts-as-taggable-on/compare/v4.0.0...v5.0.0)
55
+
56
+ * Breaking Changes
57
+ * [@seuros Drop support for old version of ActiveRecord and Ruby and prepare rel](https://github.com/mbleigh/acts-as-taggable-on/pull/828)
58
+
59
+ * Features
60
+ * [@rbritom Tagged with rewrite](https://github.com/mbleigh/acts-as-taggable-on/pull/829)
61
+ * [@fearenales Due to database collisions, retry finding or creating a tag](https://github.com/mbleigh/acts-as-taggable-on/pull/809)
62
+ * [@brilyuhns Add owner_tags method to taggable](https://github.com/mbleigh/acts-as-taggable-on/pull/771)
63
+ * [@brilyuhns upport array of contexts in owner_tags_on method](https://github.com/mbleigh/acts-as-taggable-on/pull/771)
64
+ * [@brilyuhns Add specs for owner_tags_on and owner_tags methods](https://github.com/mbleigh/acts-as-taggable-on/pull/771)
65
+
66
+ * Fixes
67
+ * [@rbritom bump ruby versions for travis](https://github.com/mbleigh/acts-as-taggable-on/pull/825)
68
+ * [@mnrk Fixed Rails 5.1 deprecation message, has_many needs String value for](https://github.com/mbleigh/acts-as-taggable-on/pull/813)
69
+ * [@ProGM ProGM Adding a test to demonstrate the bug](https://github.com/mbleigh/acts-as-taggable-on/pull/806)
70
+ * [@ProGM ProGM Ensure that `caching_tag_list_on?` is injected before using it](https://github.com/mbleigh/acts-as-taggable-on/pull/806)
71
+ * [@ProGM ProGM Fix insert query for postgresql. Move schema definition in schema.rb](https://github.com/mbleigh/acts-as-taggable-on/pull/806)
72
+ * [@amatsuda assigned but unused variable - any](https://github.com/mbleigh/acts-as-taggable-on/pull/787)
73
+ * [@gmcnaughton Fix incorrect call of 'self.class' on methods which are already class](https://github.com/mbleigh/acts-as-taggable-on/pull/782)
74
+ * [@gmcnaughton Fixed #712 (incompatibility with ActiveRecord::Sanitization#quoted_id)](https://github.com/mbleigh/acts-as-taggable-on/pull/782)
75
+ * [@arpitchauhan Guard against indexes already existing](https://github.com/mbleigh/acts-as-taggable-on/pull/779)
76
+ * [@arpitchauhan Rename migration to avoid conflicts](https://github.com/mbleigh/acts-as-taggable-on/pull/774)
77
+ * [@lukeasrodgers "Bugfix `TagList#concat` with non-duplicates."](https://github.com/mbleigh/acts-as-taggable-on/pull/729)
78
+ * [@fabn Revert "Added missed indexes."](https://github.com/mbleigh/acts-as-taggable-on/pull/709)
79
+
80
+ * Documentation
81
+ * [@logicminds Adds a table of contents to the readme and contributing files](https://github.com/mbleigh/acts-as-taggable-on/pull/803)
82
+ * [@ashishg-qburst Fix typo in README](https://github.com/mbleigh/acts-as-taggable-on/pull/800)
83
+ * [@praveenangyan Update README.md](https://github.com/mbleigh/acts-as-taggable-on/pull/798)
84
+ * [@colemerrick update finding tagged objects in readme](https://github.com/mbleigh/acts-as-taggable-on/pull/794)
85
+ * [@jaredbeck Help people upgrade to 4.0.0](https://github.com/mbleigh/acts-as-taggable-on/pull/784)
86
+ * [@vasinov Update README.md](https://github.com/mbleigh/acts-as-taggable-on/pull/776)
87
+
88
+ ### [4.0.0 / 2016-08-08](https://github.com/mbleigh/acts-as-taggable-on/compare/v3.5.0...v4.0.0)
89
+
90
+ * Breaking Changes
91
+ * [@krzysiek1507 drop support for Ruby < 2](https://github.com/mbleigh/acts-as-taggable-on/pull/758)
92
+ * [@krzysiek1507 drop support for Rails < 4](https://github.com/mbleigh/acts-as-taggable-on/pull/757)
93
+
94
+ * Features
95
+ * [@jessieay Rails 5](https://github.com/mbleigh/acts-as-taggable-on/pull/763)
96
+
97
+ * Fixes
98
+ * [@rikettsie #623 collation parameter is ignored if it generates an exception](https://github.com/mbleigh/acts-as-taggable-on/pull/650)
99
+ * [@bwvoss References working parser in deprectation warning](https://github.com/mbleigh/acts-as-taggable-on/pull/659)
100
+ * [@jh125486 Updated tagging_contexts to include dynamic contexts](https://github.com/mbleigh/acts-as-taggable-on/pull/660)
101
+ * [@jh125486 Fixed wildcard test (postgres returning rows with unexpected order)](https://github.com/mbleigh/acts-as-taggable-on/pull/660)
102
+ * [@FlowerWrong Add rails 5.0.0 alpha support, not hack rails <5](https://github.com/mbleigh/acts-as-taggable-on/pull/673)
103
+ * [@ryanfox1985 Added missed indexes.](https://github.com/mbleigh/acts-as-taggable-on/pull/682)
104
+ * [@zapnap scope tags to specific tagging](https://github.com/mbleigh/acts-as-taggable-on/pull/697)
105
+ * [@amatsuda method redefined](https://github.com/mbleigh/acts-as-taggable-on/pull/715)
106
+ * [@klacointe Rails 5: Tagger is optional in Tagging relation](https://github.com/mbleigh/acts-as-taggable-on/pull/720)
107
+ * [@mark-jacobs Update clean! method to use case insensitive uniq! when strict_case_match false](https://github.com/mbleigh/acts-as-taggable-on/commit/90c86994b70a399b8b1cbc0ae88835e14d6aadfc)
108
+ * [@lukeasrodgers BugFix flackey time test](https://github.com/mbleigh/acts-as-taggable-on/pull/727)
109
+ * [@pcupueran Add rspec tests for context scopes for tagging_spec](https://github.com/mbleigh/acts-as-taggable-on/pull/740)
110
+ * [@emerson-h Remove existing selects from relation](https://github.com/mbleigh/acts-as-taggable-on/pull/743)
111
+ * [@keerthisiv fix issue with custom delimiter](https://github.com/mbleigh/acts-as-taggable-on/pull/748)
112
+ * [@priyank-gupta specify tag table name for mysql collation query](https://github.com/mbleigh/acts-as-taggable-on/pull/760)
113
+ * [@seuros Remove warning messages](https://github.com/mbleigh/acts-as-taggable-on/commit/cda08c764b07a18b8582b948d1c5b3910a376965)
114
+ * [@rbritom Fix migration, #references already adds index](https://github.com/mbleigh/acts-as-taggable-on/commit/95f743010954b6b738a6e8c17315112c878f7a81)
115
+ * [@rbritom Fix deprecation warning](https://github.com/mbleigh/acts-as-taggable-on/commit/62e4a6fa74ae3faed615683cd3ad5b5cdacf5c96)
116
+ * [@rbritom fix scope array arguments](https://github.com/mbleigh/acts-as-taggable-on/commit/a415a8d6367b2e91bd7e363589135f953929b8cc)
117
+ * [@seuros Remove more deprecations](https://github.com/mbleigh/acts-as-taggable-on/commit/05794170f64f8bf250b34d2d594e368721009278)
118
+ * [@lukeasrodgers Bugfix `TagList#concat` with non-duplicates.](https://github.com/mbleigh/acts-as-taggable-on/commit/2c6214f0ddf8c6440ab81eec04d1fbf9d97c8826)
119
+ * [@seuros clean! should return self.](https://github.com/mbleigh/acts-as-taggable-on/commit/c739422f56f8ff37e3f321235e74997422a1c980)
120
+ * [@rbritom renable appraisals](https://github.com/mbleigh/acts-as-taggable-on/commit/0ca1f1c5b059699c683a28b522e86a3d5cd7639e)
121
+ * [@rbritom remove index conditionally on up method.](https://github.com/mbleigh/acts-as-taggable-on/commit/9cc580e7f88164634eb10c8826e5b30ea0e00544)
122
+ * [@rbritom add index on down method . ](https://github.com/mbleigh/acts-as-taggable-on/pull/767)
123
+ * [@rbritom remove index conditionally on up method](https://github.com/mbleigh/acts-as-taggable-on/commit/9cc580e7f88164634eb10c8826e5b30ea0e00544)
124
+
125
+ * Documentation
126
+ * [@logicminds Adds table of contents using doctoc utility](https://github.com/mbleigh/acts-as-taggable-on/pull/803)
127
+ * [@jamesprior Changing ActsAsTaggable to ActsAsTaggableOn](https://github.com/mbleigh/acts-as-taggable-on/pull/637)
128
+ * [@markgandolfo Update README.md](https://github.com/mbleigh/acts-as-taggable-on/pull/645))
129
+ * [@snowblink Update release date for 3.5.0](https://github.com/mbleigh/acts-as-taggable-on/pull/647)
130
+ * [@AlexVPopov Update README.md](https://github.com/mbleigh/acts-as-taggable-on/pull/671)
131
+ * [@schnmudgal README.md, Improve documentation for Tag Ownership](https://github.com/mbleigh/acts-as-taggable-on/pull/706)
6
132
 
7
133
  ### [3.5.0 / 2015-03-03](https://github.com/mbleigh/acts-as-taggable-on/compare/v3.4.4...v3.5.0)
8
134
 
9
- * Fixes
10
- * [@rikettsie Fixed collation for MySql via rake rule or config parameter](https://github.com/mbleigh/acts-as-taggable-on/pull/634)
11
- *Misc
12
- * [@pcupueran Add rspec test for tagging_spec completeness]()
135
+ * Fixes
136
+ * [@rikettsie Fixed collation for MySql via rake rule or config parameter](https://github.com/mbleigh/acts-as-taggable-on/pull/634)
137
+
138
+ * Misc
139
+ * [@pcupueran Add rspec test for tagging_spec completeness]()
13
140
 
14
141
  ### [3.4.4 / 2015-02-11](https://github.com/mbleigh/acts-as-taggable-on/compare/v3.4.3...v3.4.4)
15
142
 
16
- * Fixes
17
- * [@d4rky-pl Add context constraint to find_related_* methods](https://github.com/mbleigh/acts-as-taggable-on/pull/629)
18
-
143
+ * Fixes
144
+ * [@d4rky-pl Add context constraint to find_related_* methods](https://github.com/mbleigh/acts-as-taggable-on/pull/629)
19
145
 
20
146
  ### [3.4.3 / 2014-09-26](https://github.com/mbleigh/acts-as-taggable-on/compare/v3.4.2...v3.4.3)
21
147
 
22
- * Fixes
23
- * [@warp clears column cache on reset_column_information resolves](https://github.com/mbleigh/acts-as-taggable-on/pull/621)
148
+ * Fixes
149
+ * [@warp clears column cache on reset_column_information resolves](https://github.com/mbleigh/acts-as-taggable-on/issues/621)
24
150
 
25
151
  ### [3.4.2 / 2014-09-26](https://github.com/mbleigh/acts-as-taggable-on/compare/v3.4.1...v3.4.2)
26
152
 
27
- * Fixes
28
- * [@stiff fixed tagged_with :any in postgresql](https://github.com/mbleigh/acts-as-taggable-on/pull/570)
29
- * [@jerefrer fixed encoding in mysql](https://github.com/mbleigh/acts-as-taggable-on/pull/588)
30
- * [@markedmondson Ensure taggings context aliases are maintained when joining multiple taggables](https://github.com/mbleigh/acts-as-taggable-on/pull/589)
153
+ * Fixes
154
+ * [@stiff fixed tagged_with :any in postgresql](https://github.com/mbleigh/acts-as-taggable-on/pull/570)
155
+ * [@jerefrer fixed encoding in mysql](https://github.com/mbleigh/acts-as-taggable-on/pull/588)
156
+ * [@markedmondson Ensure taggings context aliases are maintained when joining multiple taggables](https://github.com/mbleigh/acts-as-taggable-on/pull/589)
31
157
 
32
158
  ### [3.4.1 / 2014-09-01](https://github.com/mbleigh/acts-as-taggable-on/compare/v3.4.0...v3.4.1)
33
- * Fixes
34
- * [@konukhov fix owned ordered taggable bug](https://github.com/mbleigh/acts-as-taggable-on/pull/585)
159
+
160
+ * Fixes
161
+ * [@konukhov fix owned ordered taggable bug](https://github.com/mbleigh/acts-as-taggable-on/pull/585)
35
162
 
36
163
  ### [3.4.0 / 2014-08-29](https://github.com/mbleigh/acts-as-taggable-on/compare/v3.3.0...v3.4.0)
37
164
 
38
- * Features
39
- * [@ProGM Support for custom parsers for tags](https://github.com/mbleigh/acts-as-taggable-on/pull/579)
40
- * [@damzcodes #577 Popular feature](https://github.com/mbleigh/acts-as-taggable-on/pull/577)
41
- * Fixes
42
- * [@twalpole Update for rails edge (4.2)](https://github.com/mbleigh/acts-as-taggable-on/pull/583)
43
- * Performance
44
- * [@dontfidget #587 Use pluck instead of select](https://github.com/mbleigh/acts-as-taggable-on/pull/587)
165
+ * Features
166
+ * [@ProGM Support for custom parsers for tags](https://github.com/mbleigh/acts-as-taggable-on/pull/579)
167
+ * [@lolaodelola #577 Popular feature](https://github.com/mbleigh/acts-as-taggable-on/pull/577)
168
+
169
+ * Fixes
170
+ * [@twalpole Update for rails edge (4.2)](https://github.com/mbleigh/acts-as-taggable-on/pull/583)
171
+
172
+ * Performance
173
+ * [@ashanbrown #584 Use pluck instead of select](https://github.com/mbleigh/acts-as-taggable-on/pull/584)
45
174
 
46
175
  ### [3.3.0 / 2014-07-08](https://github.com/mbleigh/acts-as-taggable-on/compare/v3.2.6...v3.3.0)
47
176
 
@@ -50,12 +179,11 @@ As such, a _Feature_ would map to either major or minor. A _bug fix_ to a patch.
50
179
 
51
180
  * Fixes
52
181
  * [@tonytonyjan #560 Fix for `ActsAsTaggableOn.remove_unused_tags` doesn't work](https://github.com/mbleigh/acts-as-taggable-on/pull/560)
53
- * [@ThearkInn #555 Fix for `tag_cloud` helper to generate correct css tags](https://github.com/mbleigh/acts-as-taggable-on/pull/555)
182
+ * [@TheLarkInn #555 Fix for `tag_cloud` helper to generate correct css tags](https://github.com/mbleigh/acts-as-taggable-on/pull/555)
54
183
 
55
184
  * Performance
56
185
  * [@pcai #556 Add back taggables index in the taggins table](https://github.com/mbleigh/acts-as-taggable-on/pull/556)
57
186
 
58
-
59
187
  ### [3.2.6 / 2014-05-28](https://github.com/mbleigh/acts-as-taggable-on/compare/v3.2.5...v3.2.6)
60
188
 
61
189
  * Fixes
@@ -65,13 +193,11 @@ As such, a _Feature_ would map to either major or minor. A _bug fix_ to a patch.
65
193
  * [@seuros Remove actionpack dependency](https://github.com/mbleigh/acts-as-taggable-on/commit/5d20e0486c892fbe21af42fdcd79d0b6ebe87ed4)
66
194
  * [@seuros #547 Add tests for update_attributes](https://github.com/mbleigh/acts-as-taggable-on/issues/547)
67
195
 
68
-
69
196
  ### [3.2.5 / 2014-05-25](https://github.com/mbleigh/acts-as-taggable-on/compare/v3.2.4...v3.2.5)
70
197
 
71
198
  * Fixes
72
199
  * [@seuros #546 Fix autoload bug. Now require engine file instead of autoloading it](https://github.com/mbleigh/acts-as-taggable-on/issues/546)
73
200
 
74
-
75
201
  ### [3.2.4 / 2014-05-24](https://github.com/mbleigh/acts-as-taggable-on/compare/v3.2.3...v3.2.4)
76
202
 
77
203
  * Fixes
@@ -83,13 +209,11 @@ As such, a _Feature_ would map to either major or minor. A _bug fix_ to a patch.
83
209
  * [@seuros #543 Introduce lazy loading](https://github.com/mbleigh/acts-as-taggable-on/pull/543)
84
210
  * [@seuros #541 Deprecate ActsAsTaggableOn::Utils](https://github.com/mbleigh/acts-as-taggable-on/pull/541)
85
211
 
86
-
87
212
  ### [3.2.3 / 2014-05-16](https://github.com/mbleigh/acts-as-taggable-on/compare/v3.2.2...v3.2.3)
88
213
 
89
214
  * Fixes
90
215
  * [@seuros #540 Fix for tags removal (it was affecting all records with the same tag)](https://github.com/mbleigh/acts-as-taggable-on/pull/540)
91
- * [@akcho8 #535 Fix for `options` Hash passed to methods from being deleted by those methods](https://github.com/mbleigh/acts-as-taggable-on/pull/535)
92
-
216
+ * [@akicho8 #535 Fix for `options` Hash passed to methods from being deleted by those methods](https://github.com/mbleigh/acts-as-taggable-on/pull/535)
93
217
 
94
218
  ### [3.2.2 / 2014-05-07](https://github.com/mbleigh/acts-as-taggable-on/compare/v3.2.1...v3.2.2)
95
219
 
@@ -103,7 +227,6 @@ As such, a _Feature_ would map to either major or minor. A _bug fix_ to a patch.
103
227
  * [@seuros #526 Delete outdated benchmark script](https://github.com/mbleigh/acts-as-taggable-on/pull/526)
104
228
  * [@seuros #525 Fix tests so that they pass with MySQL](https://github.com/mbleigh/acts-as-taggable-on/pull/525)
105
229
 
106
-
107
230
  ### [3.2.1 / 2014-05-06](https://github.com/mbleigh/acts-as-taggable-on/compare/v3.2.0...v3.2.1)
108
231
 
109
232
  * Misc
@@ -112,47 +235,54 @@ As such, a _Feature_ would map to either major or minor. A _bug fix_ to a patch.
112
235
  * [@seuros #523 Introduce database_cleaner in specs](https://github.com/mbleigh/acts-as-taggable-on/pull/523)
113
236
  * [@seuros #520 Tag_list cleanup](https://github.com/mbleigh/acts-as-taggable-on/pull/520)
114
237
 
115
-
116
238
  ### [3.2.0 / 2014-05-01](https://github.com/mbleigh/acts-as-taggable-on/compare/v3.1.1...v3.2.0)
117
239
 
118
- * Breaking Changes
119
- * ActsAsTaggableOn::Tag is not extend with ActsAsTaggableOn::Utils anymore
120
- * Features
121
- * [@chess #413 Hook to support STI subclasses of Tag in save_tags](https://github.com/mbleigh/acts-as-taggable-on/pull/413)
122
- * Fixes
123
- * [@jdelStrother #515 Rename Compatibility methods to reduce chance of conflicts ](https://github.com/mbleigh/acts-as-taggable-on/pull/515)
124
- * [@seuros #512 fix for << method](https://github.com/mbleigh/acts-as-taggable-on/pull/512)
125
- * [@sonots #510 fix IN subquery error for mysql](https://github.com/mbleigh/acts-as-taggable-on/pull/510)
126
- * [@jonseaberg #499 fix for race condition when multiple processes try to add the same tag](https://github.com/mbleigh/acts-as-taggable-on/pull/499)
127
- * [@leklund #496 Fix for distinct and postgresql json columns errors](https://github.com/mbleigh/acts-as-taggable-on/pull/496)
128
- * [@thatbettina & @plexus #394 Multiple quoted tags](https://github.com/mbleigh/acts-as-taggable-on/pull/496)
129
- * Performance
130
- * Misc
131
- * [@seuros #511 Rspec 3](https://github.com/mbleigh/acts-as-taggable-on/pull/511)
240
+ * Breaking Changes
241
+ * ActsAsTaggableOn::Tag is not extend with ActsAsTaggableOn::Utils anymore
242
+
243
+ * Features
244
+ * [@ches #413 Hook to support STI subclasses of Tag in save_tags](https://github.com/mbleigh/acts-as-taggable-on/pull/413)
245
+
246
+ * Fixes
247
+ * [@jdelStrother #515 Rename Compatibility methods to reduce chance of conflicts](https://github.com/mbleigh/acts-as-taggable-on/pull/515)
248
+ * [@seuros #512 fix for << method](https://github.com/mbleigh/acts-as-taggable-on/pull/512)
249
+ * [@sonots #510 fix IN subquery error for mysql](https://github.com/mbleigh/acts-as-taggable-on/pull/510)
250
+ * [@jonseaberg #499 fix for race condition when multiple processes try to add the same tag](https://github.com/mbleigh/acts-as-taggable-on/pull/499)
251
+ * [@leklund #496 Fix for distinct and postgresql json columns errors](https://github.com/mbleigh/acts-as-taggable-on/pull/496)
252
+ * [@thatbettina & @plexus #394 Multiple quoted tags](https://github.com/mbleigh/acts-as-taggable-on/pull/394)
253
+
254
+ * Performance
255
+
256
+ * Misc
257
+ * [@seuros #511 Rspec 3](https://github.com/mbleigh/acts-as-taggable-on/pull/511)
132
258
 
133
259
  ### [3.1.0 / 2014-03-31](https://github.com/mbleigh/acts-as-taggable-on/compare/v3.0.1...v3.1.0)
134
260
 
135
261
  * Fixes
136
262
  * [@mikehale #487 Match_all respects context](https://github.com/mbleigh/acts-as-taggable-on/pull/487)
263
+
137
264
  * Performance
138
265
  * [@dgilperez #390 Add taggings counter cache](https://github.com/mbleigh/acts-as-taggable-on/pull/390)
266
+
139
267
  * Misc
140
- * [@jonseaberg Add missing indexes to schema used in specs #474](https://github.com/mbleigh/acts-as-taggable-on/pull/474)
141
- * [@seuros Specify Ruby >= 1.9.3 required in gemspec](https://github.com/mbleigh/acts-as-taggable-on/pull/502)
142
- * [@kiasaki Add missing quotes to code example](https://github.com/mbleigh/acts-as-taggable-on/pull/501)
268
+ * [@jonseaberg Add missing indexes to schema used in specs #474](https://github.com/mbleigh/acts-as-taggable-on/pull/474)
269
+ * [@seuros Specify Ruby >= 1.9.3 required in gemspec](https://github.com/mbleigh/acts-as-taggable-on/pull/502)
270
+ * [@kiasaki Add missing quotes to code example](https://github.com/mbleigh/acts-as-taggable-on/pull/501)
143
271
 
144
272
  ### [3.1.0.rc1 / 2014-02-26](https://github.com/mbleigh/acts-as-taggable-on/compare/v3.0.1...v3.1.0.rc1)
145
273
 
146
274
  * Features
147
- * [@jamesburke-examtime #467 Add :order_by_matching_tag_count option](https://github.com/mbleigh/acts-as-taggable-on/pull/469)
275
+ * [@Burkazoid #467 Add :order_by_matching_tag_count option](https://github.com/mbleigh/acts-as-taggable-on/pull/469)
276
+
148
277
  * Fixes
149
278
  * [@rafael #406 Dirty attributes not correctly derived](https://github.com/mbleigh/acts-as-taggable-on/pull/406)
150
- * [@bzbnhang #440 Did not respect strict_case_match](https://github.com/mbleigh/acts-as-taggable-on/pull/440)
279
+ * [@BenZhang #440 Did not respect strict_case_match](https://github.com/mbleigh/acts-as-taggable-on/pull/440)
151
280
  * [@znz #456 Fix breaking encoding of tag](https://github.com/mbleigh/acts-as-taggable-on/pull/456)
152
281
  * [@rgould #417 Let '.count' work when tagged_with is accompanied by a group clause](https://github.com/mbleigh/acts-as-taggable-on/pull/417)
153
282
  * [@developer88 #461 Move 'Distinct' out of select string and use .uniq instead](https://github.com/mbleigh/acts-as-taggable-on/pull/461)
154
283
  * [@gerard-leijdekkers #473 Fixed down migration index name](https://github.com/mbleigh/acts-as-taggable-on/pull/473)
155
284
  * [@leo-souza #498 Use database's lower function for case-insensitive match](https://github.com/mbleigh/acts-as-taggable-on/pull/498)
285
+
156
286
  * Misc
157
287
  * [@billychan #463 Thread safe support](https://github.com/mbleigh/acts-as-taggable-on/pull/463)
158
288
  * [@billychan #386 Add parse:true instructions to README](https://github.com/mbleigh/acts-as-taggable-on/pull/386)
@@ -165,8 +295,9 @@ As such, a _Feature_ would map to either major or minor. A _bug fix_ to a patch.
165
295
 
166
296
  * Fixes
167
297
  * [@rafael #406 Dirty attributes not correctly derived](https://github.com/mbleigh/acts-as-taggable-on/pull/406)
168
- * [@bzbnhang #440 Did not respect strict_case_match](https://github.com/mbleigh/acts-as-taggable-on/pull/440)
298
+ * [@BenZhang #440 Did not respect strict_case_match](https://github.com/mbleigh/acts-as-taggable-on/pull/440)
169
299
  * [@znz #456 Fix breaking encoding of tag](https://github.com/mbleigh/acts-as-taggable-on/pull/456)
300
+
170
301
  * Misc
171
302
  * [@billychan #386 Add parse:true instructions to README](https://github.com/mbleigh/acts-as-taggable-on/pull/386)
172
303
  * [@seuros #449 Improve README/UPGRADING/post install docs](https://github.com/mbleigh/acts-as-taggable-on/pull/449)
@@ -178,26 +309,28 @@ As such, a _Feature_ would map to either major or minor. A _bug fix_ to a patch.
178
309
 
179
310
  * Breaking Changes
180
311
  * No longer supports Ruby 1.8.
312
+
181
313
  * Features
182
314
  * Supports Rails 4.1.
315
+
183
316
  * Misc (TODO: expand)
184
- * [zquest #359](https://github.com/mbleigh/acts-as-taggable-on/pull/359)
185
- * [rsl #367](https://github.com/mbleigh/acts-as-taggable-on/pull/367)
186
- * [ktdreyer #383](https://github.com/mbleigh/acts-as-taggable-on/pull/383)
187
- * [cwoodcox #346](https://github.com/mbleigh/acts-as-taggable-on/pull/346)
188
- * [mrb #421](https://github.com/mbleigh/acts-as-taggable-on/pull/421)
189
- * [bf4 #430](https://github.com/mbleigh/acts-as-taggable-on/pull/430)
190
- * [sanemat #368](https://github.com/mbleigh/acts-as-taggable-on/pull/368)
191
- * [bf4 #343](https://github.com/mbleigh/acts-as-taggable-on/pull/343)
192
- * [marclennox #429](https://github.com/mbleigh/acts-as-taggable-on/pull/429)
193
- * [shekibobo #403](https://github.com/mbleigh/acts-as-taggable-on/pull/403)
194
- * [ches ktdreyer #410](https://github.com/mbleigh/acts-as-taggable-on/pull/410)
195
- * [makaroni4 #371](https://github.com/mbleigh/acts-as-taggable-on/pull/371)
196
- * [kenzai dstosik awt #431](https://github.com/mbleigh/acts-as-taggable-on/pull/431)
197
- * [bf4 joelcogen shekibobo aaronchi #438](https://github.com/mbleigh/acts-as-taggable-on/pull/438)
198
- * [seuros #442](https://github.com/mbleigh/acts-as-taggable-on/pull/442)
199
- * [bf4 #445](https://github.com/mbleigh/acts-as-taggable-on/pull/445)
200
- * [eaglemt #446](https://github.com/mbleigh/acts-as-taggable-on/pull/446)
317
+ * [@zquestz #359](https://github.com/mbleigh/acts-as-taggable-on/pull/359)
318
+ * [@rsl #367](https://github.com/mbleigh/acts-as-taggable-on/pull/367)
319
+ * [@ktdreyer #383](https://github.com/mbleigh/acts-as-taggable-on/pull/383)
320
+ * [@cwoodcox #346](https://github.com/mbleigh/acts-as-taggable-on/pull/346)
321
+ * [@mrb #421](https://github.com/mbleigh/acts-as-taggable-on/pull/421)
322
+ * [@bf4 #430](https://github.com/mbleigh/acts-as-taggable-on/pull/430)
323
+ * [@sanemat #368](https://github.com/mbleigh/acts-as-taggable-on/pull/368)
324
+ * [@bf4 #343](https://github.com/mbleigh/acts-as-taggable-on/pull/343)
325
+ * [@marclennox #429](https://github.com/mbleigh/acts-as-taggable-on/pull/429)
326
+ * [@shekibobo #403](https://github.com/mbleigh/acts-as-taggable-on/pull/403)
327
+ * [@ches @ktdreyer #410](https://github.com/mbleigh/acts-as-taggable-on/pull/410)
328
+ * [@makaroni4 #371](https://github.com/mbleigh/acts-as-taggable-on/pull/371)
329
+ * [kenzai @davidstosik @awt #431](https://github.com/mbleigh/acts-as-taggable-on/pull/431)
330
+ * [@bf4 @joelcogen @shekibobo @aaronchi #438](https://github.com/mbleigh/acts-as-taggable-on/pull/438)
331
+ * [@seuros #442](https://github.com/mbleigh/acts-as-taggable-on/pull/442)
332
+ * [@bf4 #445](https://github.com/mbleigh/acts-as-taggable-on/pull/445)
333
+ * [@eagletmt #446](https://github.com/mbleigh/acts-as-taggable-on/pull/446)
201
334
 
202
335
  ### 3.0.0.rc2 [changes](https://github.com/mbleigh/acts-as-taggable-on/compare/fork-v3.0.0.rc1...fork-v3.0.0.rc2)
203
336
 
@@ -206,5 +339,7 @@ As such, a _Feature_ would map to either major or minor. A _bug fix_ to a patch.
206
339
  ### [2.4.1 / 2013-05-07](https://github.com/mbleigh/acts-as-taggable-on/compare/v2.4.0...v2.4.1)
207
340
 
208
341
  * Features
342
+
209
343
  * Fixes
344
+
210
345
  * Misc