authlogic 3.4.6 → 4.2.0

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