authlogic 3.4.6 → 4.2.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 (140) hide show
  1. checksums.yaml +5 -5
  2. data/.github/ISSUE_TEMPLATE.md +13 -0
  3. data/.github/triage.md +87 -0
  4. data/.gitignore +4 -0
  5. data/.rubocop.yml +127 -0
  6. data/.rubocop_todo.yml +65 -0
  7. data/.travis.yml +18 -10
  8. data/CHANGELOG.md +156 -6
  9. data/CONTRIBUTING.md +71 -3
  10. data/Gemfile +2 -2
  11. data/README.md +386 -0
  12. data/Rakefile +13 -7
  13. data/UPGRADING.md +22 -0
  14. data/authlogic.gemspec +33 -22
  15. data/lib/authlogic.rb +60 -52
  16. data/lib/authlogic/acts_as_authentic/base.rb +40 -26
  17. data/lib/authlogic/acts_as_authentic/email.rb +96 -32
  18. data/lib/authlogic/acts_as_authentic/logged_in_status.rb +36 -12
  19. data/lib/authlogic/acts_as_authentic/login.rb +114 -49
  20. data/lib/authlogic/acts_as_authentic/magic_columns.rb +17 -6
  21. data/lib/authlogic/acts_as_authentic/password.rb +296 -139
  22. data/lib/authlogic/acts_as_authentic/perishable_token.rb +34 -20
  23. data/lib/authlogic/acts_as_authentic/persistence_token.rb +20 -24
  24. data/lib/authlogic/acts_as_authentic/queries/find_with_case.rb +67 -0
  25. data/lib/authlogic/acts_as_authentic/restful_authentication.rb +68 -23
  26. data/lib/authlogic/acts_as_authentic/session_maintenance.rb +128 -85
  27. data/lib/authlogic/acts_as_authentic/single_access_token.rb +41 -25
  28. data/lib/authlogic/acts_as_authentic/validations_scope.rb +8 -8
  29. data/lib/authlogic/authenticates_many/association.rb +22 -14
  30. data/lib/authlogic/authenticates_many/base.rb +35 -16
  31. data/lib/authlogic/config.rb +10 -10
  32. data/lib/authlogic/controller_adapters/abstract_adapter.rb +40 -12
  33. data/lib/authlogic/controller_adapters/rack_adapter.rb +15 -8
  34. data/lib/authlogic/controller_adapters/rails_adapter.rb +42 -22
  35. data/lib/authlogic/controller_adapters/sinatra_adapter.rb +3 -3
  36. data/lib/authlogic/crypto_providers.rb +91 -0
  37. data/lib/authlogic/crypto_providers/aes256.rb +42 -14
  38. data/lib/authlogic/crypto_providers/bcrypt.rb +35 -20
  39. data/lib/authlogic/crypto_providers/md5.rb +11 -9
  40. data/lib/authlogic/crypto_providers/scrypt.rb +26 -13
  41. data/lib/authlogic/crypto_providers/sha1.rb +14 -8
  42. data/lib/authlogic/crypto_providers/sha256.rb +16 -12
  43. data/lib/authlogic/crypto_providers/sha512.rb +8 -24
  44. data/lib/authlogic/crypto_providers/wordpress.rb +44 -15
  45. data/lib/authlogic/i18n.rb +33 -20
  46. data/lib/authlogic/i18n/translator.rb +1 -1
  47. data/lib/authlogic/random.rb +12 -29
  48. data/lib/authlogic/regex.rb +59 -27
  49. data/lib/authlogic/session/activation.rb +36 -23
  50. data/lib/authlogic/session/active_record_trickery.rb +13 -10
  51. data/lib/authlogic/session/base.rb +20 -8
  52. data/lib/authlogic/session/brute_force_protection.rb +87 -56
  53. data/lib/authlogic/session/callbacks.rb +99 -49
  54. data/lib/authlogic/session/cookies.rb +128 -59
  55. data/lib/authlogic/session/existence.rb +29 -19
  56. data/lib/authlogic/session/foundation.rb +70 -16
  57. data/lib/authlogic/session/http_auth.rb +39 -31
  58. data/lib/authlogic/session/id.rb +27 -15
  59. data/lib/authlogic/session/klass.rb +17 -13
  60. data/lib/authlogic/session/magic_columns.rb +78 -59
  61. data/lib/authlogic/session/magic_states.rb +50 -27
  62. data/lib/authlogic/session/params.rb +79 -50
  63. data/lib/authlogic/session/password.rb +197 -118
  64. data/lib/authlogic/session/perishable_token.rb +12 -6
  65. data/lib/authlogic/session/persistence.rb +20 -14
  66. data/lib/authlogic/session/priority_record.rb +20 -16
  67. data/lib/authlogic/session/scopes.rb +63 -33
  68. data/lib/authlogic/session/session.rb +40 -25
  69. data/lib/authlogic/session/timeout.rb +51 -34
  70. data/lib/authlogic/session/unauthorized_record.rb +24 -18
  71. data/lib/authlogic/session/validation.rb +32 -21
  72. data/lib/authlogic/test_case.rb +123 -35
  73. data/lib/authlogic/test_case/mock_controller.rb +14 -13
  74. data/lib/authlogic/test_case/mock_cookie_jar.rb +14 -5
  75. data/lib/authlogic/test_case/mock_logger.rb +1 -1
  76. data/lib/authlogic/test_case/mock_request.rb +9 -4
  77. data/lib/authlogic/test_case/rails_request_adapter.rb +8 -7
  78. data/lib/authlogic/version.rb +21 -0
  79. data/test/acts_as_authentic_test/base_test.rb +1 -1
  80. data/test/acts_as_authentic_test/email_test.rb +80 -63
  81. data/test/acts_as_authentic_test/logged_in_status_test.rb +14 -8
  82. data/test/acts_as_authentic_test/login_test.rb +91 -49
  83. data/test/acts_as_authentic_test/magic_columns_test.rb +13 -13
  84. data/test/acts_as_authentic_test/password_test.rb +82 -60
  85. data/test/acts_as_authentic_test/perishable_token_test.rb +31 -25
  86. data/test/acts_as_authentic_test/persistence_token_test.rb +9 -5
  87. data/test/acts_as_authentic_test/restful_authentication_test.rb +18 -9
  88. data/test/acts_as_authentic_test/session_maintenance_test.rb +86 -22
  89. data/test/acts_as_authentic_test/single_access_test.rb +15 -15
  90. data/test/adapter_test.rb +21 -0
  91. data/test/authenticates_many_test.rb +26 -11
  92. data/test/config_test.rb +9 -9
  93. data/test/crypto_provider_test/aes256_test.rb +3 -3
  94. data/test/crypto_provider_test/bcrypt_test.rb +1 -1
  95. data/test/crypto_provider_test/scrypt_test.rb +2 -2
  96. data/test/crypto_provider_test/sha1_test.rb +4 -4
  97. data/test/crypto_provider_test/sha256_test.rb +2 -2
  98. data/test/crypto_provider_test/sha512_test.rb +3 -3
  99. data/test/crypto_provider_test/wordpress_test.rb +24 -0
  100. data/test/gemfiles/Gemfile.rails-4.2.x +2 -2
  101. data/test/gemfiles/Gemfile.rails-5.0.x +6 -0
  102. data/test/gemfiles/Gemfile.rails-5.1.x +6 -0
  103. data/test/gemfiles/Gemfile.rails-5.2.x +6 -0
  104. data/test/gemfiles/Gemfile.rails-master +6 -0
  105. data/test/i18n_test.rb +9 -9
  106. data/test/libs/affiliate.rb +2 -2
  107. data/test/libs/company.rb +4 -4
  108. data/test/libs/employee.rb +2 -2
  109. data/test/libs/employee_session.rb +1 -1
  110. data/test/libs/ldaper.rb +1 -1
  111. data/test/libs/project.rb +1 -1
  112. data/test/libs/user_session.rb +2 -2
  113. data/test/random_test.rb +9 -38
  114. data/test/session_test/activation_test.rb +7 -7
  115. data/test/session_test/active_record_trickery_test.rb +9 -6
  116. data/test/session_test/brute_force_protection_test.rb +26 -21
  117. data/test/session_test/callbacks_test.rb +10 -4
  118. data/test/session_test/cookies_test.rb +54 -20
  119. data/test/session_test/existence_test.rb +45 -23
  120. data/test/session_test/foundation_test.rb +17 -1
  121. data/test/session_test/http_auth_test.rb +11 -12
  122. data/test/session_test/id_test.rb +3 -3
  123. data/test/session_test/klass_test.rb +2 -2
  124. data/test/session_test/magic_columns_test.rb +15 -17
  125. data/test/session_test/magic_states_test.rb +17 -19
  126. data/test/session_test/params_test.rb +26 -20
  127. data/test/session_test/password_test.rb +11 -12
  128. data/test/session_test/perishability_test.rb +5 -5
  129. data/test/session_test/persistence_test.rb +4 -3
  130. data/test/session_test/scopes_test.rb +15 -9
  131. data/test/session_test/session_test.rb +7 -6
  132. data/test/session_test/timeout_test.rb +16 -14
  133. data/test/session_test/unauthorized_record_test.rb +3 -3
  134. data/test/session_test/validation_test.rb +5 -5
  135. data/test/test_helper.rb +115 -49
  136. metadata +107 -36
  137. data/README.rdoc +0 -232
  138. data/test/gemfiles/Gemfile.rails-3.2.x +0 -7
  139. data/test/gemfiles/Gemfile.rails-4.0.x +0 -7
  140. data/test/gemfiles/Gemfile.rails-4.1.x +0 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: e9c7f5c79c3343a9c1d2f15743ffef73e6a5a73d
4
- data.tar.gz: 90c6bc0a810fbfeb410c6d5a177148dc9e802329
2
+ SHA256:
3
+ metadata.gz: 3081d87618bffbf9f31777254d99aefe983f895699098458ca7583e32935ecef
4
+ data.tar.gz: 10bdd5b58605ce5c2081a4bc8c9ee206fe5ba679444581446469e03dfde615dc
5
5
  SHA512:
6
- metadata.gz: 1b3fedace0a9232fad6ba1ad25994215f76af134a74c82496f24c1554af00c59ed00cab602ca11c480c66228e0b738e555e6612f68764c8205e10fc92e6a07d6
7
- data.tar.gz: 20ca2cfb1de0d9f30b90014188e5bd7592fc087b381861c047293d9ecbc6d4084475a8409a74000b2a6ed2ab0ffea6534208e04b4496ecba555a3975b2614649
6
+ metadata.gz: 4c9afb5dfb70b62983cd5db0c0ae0576c4c956e8c43cc9ff9c4cdb7a803ed0eb8367e84e9978e28ad354cb7f4e443bb54b8b83a3be9fc3edd5f17426627cb9f6
7
+ data.tar.gz: d56d7d0629606635a73103fdd3da0424c051af48b15a3e4fd6317f7386ba42698cb970e441651bb6febbc098940f113ff4ca417eb0b0506e821bab0b69075e86
@@ -0,0 +1,13 @@
1
+ Thanks for your interest in authlogic! Our volunteers' time is limited, so we
2
+ can only respond on GitHub to bug reports and feature requests. Please ask
3
+ usage questions on StackOverflow so that the whole community has a chance to
4
+ answer your question.
5
+
6
+ http://stackoverflow.com/questions/tagged/authlogic
7
+
8
+ Do not disclose security issues in public. See our contributing guide
9
+ for instructions.
10
+
11
+ https://github.com/binarylogic/authlogic/blob/master/CONTRIBUTING.md
12
+
13
+ Thanks for your contribution!
@@ -0,0 +1,87 @@
1
+ # Triage
2
+
3
+ Common responses to issues.
4
+
5
+ ## Usage question we were able to answer
6
+
7
+ ```
8
+ If that doesn't answer your question, please ask a new question
9
+ on [stackoverflow][1]. Unfortunatley, we just don't have enough volunteers to
10
+ handle usage questions on github.
11
+
12
+ Also, please check the [reference documentation][2]. You might find something
13
+ there that's not in the readme.
14
+
15
+ Thanks!
16
+
17
+ [1]: http://stackoverflow.com/questions/tagged/authlogic
18
+ [2]: https://github.com/binarylogic/authlogic#1c-reference-documentation
19
+ ```
20
+
21
+ ## Old issue, generic
22
+
23
+ ```
24
+ Hello, I'm going through old authlogic issues and seeing what to do with them.
25
+ Skimming through this, it's unclear if it's a usage question, a feature request,
26
+ or a bug report.
27
+
28
+ If this is a bug report, and you can still reproduce this issue with a clean
29
+ install of the latest version of authlogic and rails (currently 3.6.0 and 5.1.4
30
+ respectively), please create a git repo with a sample app that reproduces the
31
+ problem, and open a new issue.
32
+
33
+ If this is a feature request, it's still relevant, and you are committed to
34
+ implementing it, please open a new issue and we can discuss your implementation
35
+ plan.
36
+
37
+ If this is a usage question, please ask it on [stackoverflow][1]. Unfortunatley,
38
+ we just don't have enough volunteers to handle usage questions on github. Also,
39
+ please check the [reference documentation][2]. You might find something there
40
+ that's not in the readme.
41
+
42
+ Thanks!
43
+
44
+ [1]: http://stackoverflow.com/questions/tagged/authlogic
45
+ [2]: https://github.com/binarylogic/authlogic#1c-reference-documentation
46
+ ```
47
+
48
+ ## Old issue, usage question / feature request
49
+
50
+ ```
51
+ Hello, I'm going through old authlogic issues and seeing what to do with them.
52
+ This one looks a bit like a usage question and a bit like a feature request.
53
+
54
+ If this is a feature request, it's still relevant, and you are committed to
55
+ implementing it, please open a new issue and we can discuss your implementation
56
+ plan.
57
+
58
+ If this is a usage question, please ask it on [stackoverflow][1]. Unfortunatley,
59
+ we just don't have enough volunteers to handle usage questions on github. Also,
60
+ please check the [reference documentation][2]. You might find something there
61
+ that's not in the readme.
62
+
63
+ Thanks!
64
+
65
+ [1]: http://stackoverflow.com/questions/tagged/authlogic
66
+ [2]: https://github.com/binarylogic/authlogic#1c-reference-documentation
67
+ ```
68
+
69
+ ## Old issue, bug report
70
+
71
+ ```
72
+ Hello, I'm going through old authlogic issues and seeing what to do with them.
73
+ This one looks like a bug report.
74
+
75
+ If you can still reproduce this issue with a clean install of the latest
76
+ version of authlogic and rails (currently 3.6.0 and 5.1.4 respectively), please
77
+ create a git repo with a sample app that reproduces the problem, and open a new
78
+ issue.
79
+
80
+ If this was more of a usage question than a bug report, please ask your question
81
+ on [stackoverflow][1]. Unfortunatley, we just don't have enough volunteers to
82
+ handle usage questions on github.
83
+
84
+ Thanks!
85
+
86
+ [1]: http://stackoverflow.com/questions/tagged/authlogic
87
+ ```
data/.gitignore CHANGED
@@ -1,5 +1,6 @@
1
1
  .DS_Store
2
2
  .swp
3
+ *.gem
3
4
  *.log
4
5
  *.sqlite3
5
6
  pkg/*
@@ -10,3 +11,6 @@ benchmarks/*
10
11
  test/gemfiles/Gemfile*.lock
11
12
  .bundle
12
13
  Gemfile.lock
14
+ .ruby-gemset
15
+ .ruby-version
16
+ .byebug_history
@@ -0,0 +1,127 @@
1
+ inherit_from: .rubocop_todo.yml
2
+
3
+ AllCops:
4
+ # You can run the authlogic test suite with any supported version of MRI, but the
5
+ # linter will only care about this `TargetRubyVersion`. This should be set to the
6
+ # lowest version of MRI that authlogic supports.
7
+ TargetRubyVersion: 2.2
8
+
9
+ # Please use normal indentation when aligning parameters.
10
+ #
11
+ # Good:
12
+ #
13
+ # method_call(
14
+ # a,
15
+ # b
16
+ # )
17
+ #
18
+ # method_call(a,
19
+ # b
20
+ # )
21
+ #
22
+ # Bad:
23
+ #
24
+ # method_call(a,
25
+ # b)
26
+ #
27
+ # The latter is harder to maintain and uses too much horizontal space.
28
+ Layout/AlignParameters:
29
+ EnforcedStyle: with_fixed_indentation
30
+
31
+ Layout/MultilineMethodCallIndentation:
32
+ EnforcedStyle: indented
33
+
34
+ Layout/MultilineOperationIndentation:
35
+ EnforcedStyle: indented
36
+
37
+ Metrics/AbcSize:
38
+ Exclude:
39
+ # crypto_providers/wordpress is deprecated so we will not attempt to
40
+ # improve its quality.
41
+ - lib/authlogic/crypto_providers/wordpress.rb
42
+ # In an ideal world tests would be held to the same ABC metric as production
43
+ # code. In practice, time spent doing so is not nearly as valuable as
44
+ # spending the same time improving production code.
45
+ - test/**/*
46
+
47
+ # Questionable value compared to metrics like AbcSize or CyclomaticComplexity.
48
+ Metrics/BlockLength:
49
+ Enabled: false
50
+
51
+ # Questionable value compared to metrics like AbcSize or CyclomaticComplexity.
52
+ Metrics/ClassLength:
53
+ Enabled: false
54
+
55
+ Metrics/CyclomaticComplexity:
56
+ Exclude:
57
+ # crypto_providers/wordpress is deprecated so we will not attempt to
58
+ # improve its quality.
59
+ - lib/authlogic/crypto_providers/wordpress.rb
60
+
61
+ # Aim for 80, but 100 is OK.
62
+ Metrics/LineLength:
63
+ Max: 100
64
+
65
+ # Questionable value compared to metrics like AbcSize or CyclomaticComplexity.
66
+ Metrics/MethodLength:
67
+ Enabled: false
68
+
69
+ # Questionable value compared to metrics like AbcSize or CyclomaticComplexity.
70
+ Metrics/ModuleLength:
71
+ Enabled: false
72
+
73
+ # Sometimes prefixing a method name with get_ or set_ is a reasonable choice.
74
+ Naming/AccessorMethodName:
75
+ Enabled: false
76
+
77
+ # Having a consistent delimiter, like EOS, improves reading speed. The delimiter
78
+ # is syntactic noise, just like a quotation mark, and inconsistent naming would
79
+ # hurt reading speed, just as inconsistent quoting would.
80
+ Naming/HeredocDelimiterNaming:
81
+ Enabled: false
82
+
83
+ # Avoid single-line method definitions.
84
+ Style/EmptyMethod:
85
+ EnforcedStyle: expanded
86
+
87
+ # Avoid annotated tokens except in desperately complicated format strings.
88
+ # In 99% of format strings they actually make it less readable.
89
+ Style/FormatStringToken:
90
+ Enabled: false
91
+
92
+ # Too subtle to lint. Guard clauses are great, use them if they help.
93
+ Style/GuardClause:
94
+ Enabled: false
95
+
96
+ # Too subtle to lint. A multi-line conditional may improve readability, even if
97
+ # a postfix conditional would satisfy `Metrics/LineLength`.
98
+ Style/IfUnlessModifier:
99
+ Enabled: false
100
+
101
+ # Too subtle to lint. Use semantic style, but prefer `}.x` over `end.x`.
102
+ Style/BlockDelimiters:
103
+ Enabled: false
104
+
105
+ # Use the nested style because it is safer. It is easier to make mistakes with
106
+ # the compact style.
107
+ Style/ClassAndModuleChildren:
108
+ EnforcedStyle: nested
109
+
110
+ # Both `module_function` and `extend_self` are legitimate. Most importantly,
111
+ # they are different (http://bit.ly/2hSQAGm)
112
+ Style/ModuleFunction:
113
+ Enabled: false
114
+
115
+ # The decision of when to use slashes `/foo/` or percent-r `%r{foo}` is too
116
+ # subtle to lint. Use whichever requires fewer backslash escapes.
117
+ Style/RegexpLiteral:
118
+ AllowInnerSlashes: true
119
+
120
+ # We use words, like `$LOAD_PATH`, because they are much less confusing that
121
+ # arcane symbols like `$:`. Unfortunately, we must then `require "English"` in
122
+ # a few places, but it's worth it so that we can read our code.
123
+ Style/SpecialGlobalVars:
124
+ EnforcedStyle: use_english_names
125
+
126
+ Style/StringLiterals:
127
+ EnforcedStyle: double_quotes
@@ -0,0 +1,65 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2018-05-22 23:50:03 -0400 using RuboCop version 0.56.0.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 10
10
+ Metrics/AbcSize:
11
+ Max: 18.5
12
+
13
+ # Offense count: 59
14
+ # Cop supports --auto-correct.
15
+ # Configuration parameters: EnforcedStyle.
16
+ # SupportedStyles: prefer_alias, prefer_alias_method
17
+ Style/Alias:
18
+ Enabled: false
19
+
20
+ # Offense count: 5
21
+ Style/ClassVars:
22
+ Exclude:
23
+ - 'lib/authlogic/i18n.rb'
24
+
25
+ # Offense count: 22
26
+ Style/Documentation:
27
+ Exclude:
28
+ # Permanent
29
+ - 'test/**/*'
30
+
31
+ # TODO
32
+ - 'lib/authlogic/config.rb'
33
+ - 'lib/authlogic/controller_adapters/sinatra_adapter.rb'
34
+ - 'lib/authlogic/crypto_providers.rb'
35
+ - 'lib/authlogic/i18n/translator.rb'
36
+ - 'lib/authlogic/session/activation.rb'
37
+ - 'lib/authlogic/session/active_record_trickery.rb'
38
+ - 'lib/authlogic/session/existence.rb'
39
+ - 'lib/authlogic/session/foundation.rb'
40
+ - 'lib/authlogic/session/klass.rb'
41
+ - 'lib/authlogic/session/persistence.rb'
42
+ - 'lib/authlogic/session/scopes.rb'
43
+ - 'lib/authlogic/test_case.rb'
44
+ - 'lib/authlogic/test_case/mock_cookie_jar.rb'
45
+ - 'lib/authlogic/version.rb'
46
+
47
+ # Offense count: 4
48
+ Style/MethodMissingSuper:
49
+ Exclude:
50
+ - 'lib/authlogic/controller_adapters/abstract_adapter.rb'
51
+ - 'lib/authlogic/controller_adapters/sinatra_adapter.rb'
52
+ - 'lib/authlogic/test_case/mock_request.rb'
53
+
54
+ # Offense count: 3
55
+ Style/MissingRespondToMissing:
56
+ Exclude:
57
+ - 'lib/authlogic/controller_adapters/sinatra_adapter.rb'
58
+ - 'lib/authlogic/test_case/mock_request.rb'
59
+
60
+ # Offense count: 10
61
+ # Cop supports --auto-correct.
62
+ # Configuration parameters: .
63
+ # SupportedStyles: compact, exploded
64
+ Style/RaiseArgs:
65
+ EnforcedStyle: compact
@@ -1,18 +1,26 @@
1
1
  language: ruby
2
+
3
+ # cache: bundler
4
+ # We would like to enable travis' bundler cache (cache: bundler) but for some reason
5
+ # travis installs our bundle under the test directory (test/vendor/bundle/*) and, as a
6
+ # result, travis tries to run all of the tests of all of our dependencies!
7
+ # TODO: There's probably a way to configure the bundle path
8
+
9
+ before_install:
10
+ - gem update --system
11
+ - gem update bundler
12
+
2
13
  rvm:
3
- - 1.9.3
4
- - 2.0.0
5
- - 2.1.0
6
- - jruby
14
+ - 2.2.9
15
+ - 2.5.0
7
16
 
8
17
  gemfile:
9
- - test/gemfiles/Gemfile.rails-3.2.x
10
- - test/gemfiles/Gemfile.rails-4.0.x
11
- - test/gemfiles/Gemfile.rails-4.1.x
12
18
  - test/gemfiles/Gemfile.rails-4.2.x
19
+ - test/gemfiles/Gemfile.rails-5.0.x
20
+ - test/gemfiles/Gemfile.rails-5.1.x
21
+ - test/gemfiles/Gemfile.rails-5.2.x
13
22
 
14
23
  matrix:
15
- exclude:
16
- - rvm: 1.9.3
17
- gemfile: test/gemfiles/Gemfile.rails-4.1.x
18
24
  fast_finish: true
25
+
26
+ sudo: false
@@ -1,9 +1,155 @@
1
1
  # Changelog
2
2
 
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
6
+ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
7
+
3
8
  ## Unreleased
4
9
 
10
+ * Breaking Changes
11
+ * None
12
+ * Added
13
+ * None
14
+ * Fixed
15
+ * None
16
+
17
+ ## 4.2.0 (2018-07-18)
18
+
19
+ * Breaking Changes
20
+ * None
21
+ * Added
22
+ * [#611](https://github.com/binarylogic/authlogic/pull/611) - Deprecate
23
+ AES256, guide users to choose a better crypto provider
24
+ * Fixed
25
+ * None
26
+
27
+ ## 4.1.1 (2018-05-23)
28
+
29
+ * Breaking Changes
30
+ * None
31
+ * Added
32
+ * None
33
+ * Fixed
34
+ * [#606](https://github.com/binarylogic/authlogic/pull/606) - Interpreter
35
+ warnings about undefined instance variables
36
+
37
+ ## 4.1.0 (2018-04-24)
38
+
39
+ * Breaking Changes
40
+ * None
41
+ * Added
42
+ * None
43
+ * Fixed
44
+ * None
45
+ * Deprecated
46
+ * crypto_providers/wordpress.rb, without replacement
47
+ * restful_authentication, without replacement
48
+
49
+ ## 4.0.1 (2018-03-20)
50
+
51
+ * Breaking Changes
52
+ * None
53
+ * Added
54
+ * None
55
+ * Fixed
56
+ * [#590](https://github.com/binarylogic/authlogic/pull/590) -
57
+ Fix "cannot modify frozen gem" re: ActiveRecord.gem_version
58
+
59
+ ## 4.0.0 (2018-03-18)
60
+
61
+ * Breaking Changes, Major
62
+ * Drop support for ruby < 2.2
63
+ * Drop support for rails < 4.2
64
+ * HTTP Basic Auth is now disabled by default (use allow_http_basic_auth to enable)
65
+ * 'httponly' and 'secure' cookie options are enabled by default now
66
+ * maintain_sessions config has been removed. It has been split into 2 new options:
67
+ log_in_after_create & log_in_after_password_change (@lucasminissale)
68
+ * [#558](https://github.com/binarylogic/authlogic/pull/558) Passing an
69
+ ActionController::Parameters into authlogic will now raise an error
70
+
71
+ * Breaking Changes, Minor
72
+ * Methods in Authlogic::Random are now module methods, and are no longer
73
+ instance methods. Previously, there were both. Do not use Authlogic::Random
74
+ as a mixin.
75
+ * Our mutable constants (e.g. arrays, hashes) are now frozen.
76
+
77
+ * Added
78
+ * `Authlogic.gem_version`
79
+ * [#586](https://github.com/binarylogic/authlogic/pull/586) Support for SameSite cookies
80
+ * [#581](https://github.com/binarylogic/authlogic/pull/581) Support for rails 5.2
81
+ * Support for ruby 2.4, specifically openssl gem 2.0
82
+ * [#98](https://github.com/binarylogic/authlogic/issues/98)
83
+ I18n for invalid session error message. (@eugenebolshakov)
84
+
85
+ * Fixed
86
+ * Random.friendly_token (used for e.g. perishable token) now returns strings
87
+ of consistent length, and conforms better to RFC-4648
88
+ * ensure that login field validation uses correct locale (@sskirby)
89
+ * add a respond_to_missing? in AbstractAdapter that also checks controller respond_to?
90
+ * [#561](https://github.com/binarylogic/authlogic/issues/561) authenticates_many now works with scope_cookies:true
91
+ * Allow tld up to 24 characters per https://data.iana.org/TLD/tlds-alpha-by-domain.txt
92
+
93
+ ## 3.8.0 2018-02-07
94
+
95
+ * Breaking Changes
96
+ * None
97
+
98
+ * Added
99
+ * [#582](https://github.com/binarylogic/authlogic/pull/582) Support rails 5.2
100
+ * [#583](https://github.com/binarylogic/authlogic/pull/583) Support openssl gem 2.0
101
+
102
+ * Fixed
103
+ * None
104
+
105
+ ## 3.7.0 2018-02-07
106
+
107
+ * Breaking Changes
108
+ * None
109
+
110
+ * Added
111
+ * [#580](https://github.com/binarylogic/authlogic/pull/580) Deprecated
112
+ `ActionController::Parameters`, will be removed in 4.0.0
113
+
114
+ * Fixed
115
+ * None
116
+
117
+ ## 3.6.1 2017-09-30
118
+
119
+ * Breaking Changes
120
+ * None
121
+
122
+ * Added
123
+ * None
124
+
125
+ * Fixed
126
+ * Allow TLD up to 24 characters per
127
+ https://data.iana.org/TLD/tlds-alpha-by-domain.txt
128
+ * [#561](https://github.com/binarylogic/authlogic/issues/561)
129
+ authenticates_many now works with scope_cookies:true
130
+
131
+ ## 3.6.0 2017-04-28
132
+
133
+ * Breaking Changes
134
+ * None
135
+
136
+ * Added
137
+ * Support rails 5.1
138
+
139
+ * Fixed
140
+ * ensure that login field validation uses correct locale (@sskirby)
141
+
142
+ ## 3.5.0 2016-08-29
143
+
144
+ * new
145
+ * Rails 5.0 support! Thanks to all reporters and contributors.
146
+
5
147
  * changes
6
- * ...
148
+ * increased default minimum password length to 8 (@iainbeeston)
149
+ * bind parameters in where statement for rails 5 support
150
+ * change callback for rails 5 support
151
+ * converts the ActionController::Parameters to a Hash for rails 5 support
152
+ * check last_request_at_threshold even if last_request_at_update_allowed returns true (@rofreg)
7
153
 
8
154
  ## 3.4.6 2015
9
155
 
@@ -49,16 +195,20 @@
49
195
 
50
196
  ## 3.4.0 2014-03-03
51
197
 
52
- * new
198
+ * Breaking Changes
199
+ * made scrypt the default crypto provider from SHA512
200
+ (https://github.com/binarylogic/authlogic#upgrading-to-authlogic-340)
201
+ See UPGRADING.md.
202
+
203
+ * Added
204
+ * officially support rails 4 (still supporting rails 3)
53
205
  * added cookie signing
54
206
  * added request store for better concurency for threaded environments
207
+ * added a rack adapter for Rack middleware support
55
208
 
56
- * changes
57
- * BREAKING CHANGE: made scrypt the default crypto provider from SHA512 (https://github.com/binarylogic/authlogic#upgrading-to-authlogic-340)
209
+ * Fixed
58
210
  * ditched appraisal
59
- * officially support rails 4 (still supporting rails 3)
60
211
  * improved find_with_case default performance
61
- * added a rack adapter for Rack middleware support
62
212
  * added travis ci support
63
213
 
64
214
  ## 3.3.0 2014-04-04