acts-as-taggable-on 4.0.0 → 8.0.0

Sign up to get free protection for your applications and to get access to all the features.
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