upstream-devise 2.1.0.rc

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 (215) hide show
  1. data/.gitignore +10 -0
  2. data/.travis.yml +15 -0
  3. data/CHANGELOG.rdoc +846 -0
  4. data/Gemfile +35 -0
  5. data/Gemfile.lock +165 -0
  6. data/MIT-LICENSE +20 -0
  7. data/README.md +384 -0
  8. data/Rakefile +34 -0
  9. data/app/controllers/devise/confirmations_controller.rb +43 -0
  10. data/app/controllers/devise/omniauth_callbacks_controller.rb +24 -0
  11. data/app/controllers/devise/passwords_controller.rb +47 -0
  12. data/app/controllers/devise/registrations_controller.rb +107 -0
  13. data/app/controllers/devise/sessions_controller.rb +49 -0
  14. data/app/controllers/devise/unlocks_controller.rb +44 -0
  15. data/app/controllers/devise_controller.rb +177 -0
  16. data/app/helpers/devise_helper.rb +25 -0
  17. data/app/mailers/devise/mailer.rb +15 -0
  18. data/app/views/devise/_links.erb +3 -0
  19. data/app/views/devise/confirmations/new.html.erb +12 -0
  20. data/app/views/devise/mailer/confirmation_instructions.html.erb +5 -0
  21. data/app/views/devise/mailer/reset_password_instructions.html.erb +8 -0
  22. data/app/views/devise/mailer/unlock_instructions.html.erb +7 -0
  23. data/app/views/devise/passwords/edit.html.erb +16 -0
  24. data/app/views/devise/passwords/new.html.erb +12 -0
  25. data/app/views/devise/registrations/edit.html.erb +25 -0
  26. data/app/views/devise/registrations/new.html.erb +18 -0
  27. data/app/views/devise/sessions/new.html.erb +17 -0
  28. data/app/views/devise/shared/_links.erb +25 -0
  29. data/app/views/devise/unlocks/new.html.erb +12 -0
  30. data/config/locales/en.yml +57 -0
  31. data/devise.gemspec +25 -0
  32. data/gemfiles/Gemfile.rails-3.1.x +35 -0
  33. data/gemfiles/Gemfile.rails-3.1.x.lock +167 -0
  34. data/lib/devise.rb +455 -0
  35. data/lib/devise/controllers/helpers.rb +269 -0
  36. data/lib/devise/controllers/rememberable.rb +52 -0
  37. data/lib/devise/controllers/scoped_views.rb +17 -0
  38. data/lib/devise/controllers/url_helpers.rb +67 -0
  39. data/lib/devise/delegator.rb +17 -0
  40. data/lib/devise/encryptors/authlogic_sha512.rb +19 -0
  41. data/lib/devise/encryptors/base.rb +24 -0
  42. data/lib/devise/encryptors/clearance_sha1.rb +17 -0
  43. data/lib/devise/encryptors/restful_authentication_sha1.rb +22 -0
  44. data/lib/devise/encryptors/sha1.rb +25 -0
  45. data/lib/devise/encryptors/sha512.rb +25 -0
  46. data/lib/devise/failure_app.rb +185 -0
  47. data/lib/devise/hooks/activatable.rb +11 -0
  48. data/lib/devise/hooks/forgetable.rb +9 -0
  49. data/lib/devise/hooks/lockable.rb +7 -0
  50. data/lib/devise/hooks/rememberable.rb +6 -0
  51. data/lib/devise/hooks/timeoutable.rb +22 -0
  52. data/lib/devise/hooks/trackable.rb +9 -0
  53. data/lib/devise/mailers/helpers.rb +86 -0
  54. data/lib/devise/mapping.rb +172 -0
  55. data/lib/devise/models.rb +123 -0
  56. data/lib/devise/models/authenticatable.rb +231 -0
  57. data/lib/devise/models/confirmable.rb +242 -0
  58. data/lib/devise/models/database_authenticatable.rb +126 -0
  59. data/lib/devise/models/encryptable.rb +86 -0
  60. data/lib/devise/models/lockable.rb +185 -0
  61. data/lib/devise/models/omniauthable.rb +27 -0
  62. data/lib/devise/models/recoverable.rb +140 -0
  63. data/lib/devise/models/registerable.rb +25 -0
  64. data/lib/devise/models/rememberable.rb +125 -0
  65. data/lib/devise/models/timeoutable.rb +49 -0
  66. data/lib/devise/models/token_authenticatable.rb +77 -0
  67. data/lib/devise/models/trackable.rb +35 -0
  68. data/lib/devise/models/validatable.rb +66 -0
  69. data/lib/devise/modules.rb +30 -0
  70. data/lib/devise/omniauth.rb +28 -0
  71. data/lib/devise/omniauth/config.rb +45 -0
  72. data/lib/devise/omniauth/url_helpers.rb +33 -0
  73. data/lib/devise/orm/active_record.rb +3 -0
  74. data/lib/devise/orm/mongoid.rb +3 -0
  75. data/lib/devise/param_filter.rb +41 -0
  76. data/lib/devise/rails.rb +54 -0
  77. data/lib/devise/rails/routes.rb +412 -0
  78. data/lib/devise/rails/warden_compat.rb +43 -0
  79. data/lib/devise/strategies/authenticatable.rb +165 -0
  80. data/lib/devise/strategies/base.rb +15 -0
  81. data/lib/devise/strategies/database_authenticatable.rb +21 -0
  82. data/lib/devise/strategies/rememberable.rb +53 -0
  83. data/lib/devise/strategies/token_authenticatable.rb +57 -0
  84. data/lib/devise/test_helpers.rb +130 -0
  85. data/lib/devise/version.rb +3 -0
  86. data/lib/generators/active_record/devise_generator.rb +78 -0
  87. data/lib/generators/active_record/templates/migration.rb +19 -0
  88. data/lib/generators/active_record/templates/migration_existing.rb +26 -0
  89. data/lib/generators/devise/devise_generator.rb +24 -0
  90. data/lib/generators/devise/install_generator.rb +24 -0
  91. data/lib/generators/devise/orm_helpers.rb +32 -0
  92. data/lib/generators/devise/views_generator.rb +110 -0
  93. data/lib/generators/mongoid/devise_generator.rb +60 -0
  94. data/lib/generators/templates/README +31 -0
  95. data/lib/generators/templates/devise.rb +216 -0
  96. data/lib/generators/templates/markerb/confirmation_instructions.markerb +5 -0
  97. data/lib/generators/templates/markerb/reset_password_instructions.markerb +8 -0
  98. data/lib/generators/templates/markerb/unlock_instructions.markerb +7 -0
  99. data/lib/generators/templates/simple_form_for/confirmations/new.html.erb +15 -0
  100. data/lib/generators/templates/simple_form_for/passwords/edit.html.erb +19 -0
  101. data/lib/generators/templates/simple_form_for/passwords/new.html.erb +15 -0
  102. data/lib/generators/templates/simple_form_for/registrations/edit.html.erb +22 -0
  103. data/lib/generators/templates/simple_form_for/registrations/new.html.erb +17 -0
  104. data/lib/generators/templates/simple_form_for/sessions/new.html.erb +15 -0
  105. data/lib/generators/templates/simple_form_for/unlocks/new.html.erb +15 -0
  106. data/test/controllers/custom_strategy_test.rb +62 -0
  107. data/test/controllers/helpers_test.rb +254 -0
  108. data/test/controllers/internal_helpers_test.rb +97 -0
  109. data/test/controllers/sessions_controller_test.rb +36 -0
  110. data/test/controllers/url_helpers_test.rb +59 -0
  111. data/test/delegator_test.rb +19 -0
  112. data/test/devise_test.rb +72 -0
  113. data/test/encryptors_test.rb +30 -0
  114. data/test/failure_app_test.rb +211 -0
  115. data/test/generators/active_record_generator_test.rb +69 -0
  116. data/test/generators/devise_generator_test.rb +39 -0
  117. data/test/generators/install_generator_test.rb +13 -0
  118. data/test/generators/mongoid_generator_test.rb +23 -0
  119. data/test/generators/views_generator_test.rb +52 -0
  120. data/test/helpers/devise_helper_test.rb +51 -0
  121. data/test/indifferent_hash.rb +33 -0
  122. data/test/integration/authenticatable_test.rb +587 -0
  123. data/test/integration/confirmable_test.rb +255 -0
  124. data/test/integration/database_authenticatable_test.rb +82 -0
  125. data/test/integration/http_authenticatable_test.rb +97 -0
  126. data/test/integration/lockable_test.rb +224 -0
  127. data/test/integration/omniauthable_test.rb +133 -0
  128. data/test/integration/recoverable_test.rb +300 -0
  129. data/test/integration/registerable_test.rb +324 -0
  130. data/test/integration/rememberable_test.rb +158 -0
  131. data/test/integration/timeoutable_test.rb +114 -0
  132. data/test/integration/token_authenticatable_test.rb +161 -0
  133. data/test/integration/trackable_test.rb +92 -0
  134. data/test/mailers/confirmation_instructions_test.rb +95 -0
  135. data/test/mailers/reset_password_instructions_test.rb +83 -0
  136. data/test/mailers/unlock_instructions_test.rb +77 -0
  137. data/test/mapping_test.rb +127 -0
  138. data/test/models/authenticatable_test.rb +7 -0
  139. data/test/models/confirmable_test.rb +357 -0
  140. data/test/models/database_authenticatable_test.rb +189 -0
  141. data/test/models/encryptable_test.rb +73 -0
  142. data/test/models/lockable_test.rb +263 -0
  143. data/test/models/omniauthable_test.rb +7 -0
  144. data/test/models/recoverable_test.rb +205 -0
  145. data/test/models/registerable_test.rb +7 -0
  146. data/test/models/rememberable_test.rb +174 -0
  147. data/test/models/serializable_test.rb +48 -0
  148. data/test/models/timeoutable_test.rb +46 -0
  149. data/test/models/token_authenticatable_test.rb +55 -0
  150. data/test/models/trackable_test.rb +13 -0
  151. data/test/models/validatable_test.rb +117 -0
  152. data/test/models_test.rb +179 -0
  153. data/test/omniauth/config_test.rb +57 -0
  154. data/test/omniauth/url_helpers_test.rb +58 -0
  155. data/test/orm/active_record.rb +9 -0
  156. data/test/orm/mongoid.rb +14 -0
  157. data/test/rails_app/Rakefile +10 -0
  158. data/test/rails_app/app/active_record/admin.rb +6 -0
  159. data/test/rails_app/app/active_record/shim.rb +2 -0
  160. data/test/rails_app/app/active_record/user.rb +6 -0
  161. data/test/rails_app/app/controllers/admins/sessions_controller.rb +6 -0
  162. data/test/rails_app/app/controllers/admins_controller.rb +6 -0
  163. data/test/rails_app/app/controllers/application_controller.rb +8 -0
  164. data/test/rails_app/app/controllers/home_controller.rb +25 -0
  165. data/test/rails_app/app/controllers/publisher/registrations_controller.rb +2 -0
  166. data/test/rails_app/app/controllers/publisher/sessions_controller.rb +2 -0
  167. data/test/rails_app/app/controllers/users/omniauth_callbacks_controller.rb +14 -0
  168. data/test/rails_app/app/controllers/users_controller.rb +23 -0
  169. data/test/rails_app/app/helpers/application_helper.rb +3 -0
  170. data/test/rails_app/app/mailers/users/mailer.rb +3 -0
  171. data/test/rails_app/app/mongoid/admin.rb +30 -0
  172. data/test/rails_app/app/mongoid/shim.rb +24 -0
  173. data/test/rails_app/app/mongoid/user.rb +45 -0
  174. data/test/rails_app/app/views/admins/index.html.erb +1 -0
  175. data/test/rails_app/app/views/admins/sessions/new.html.erb +2 -0
  176. data/test/rails_app/app/views/home/admin_dashboard.html.erb +1 -0
  177. data/test/rails_app/app/views/home/index.html.erb +1 -0
  178. data/test/rails_app/app/views/home/join.html.erb +1 -0
  179. data/test/rails_app/app/views/home/private.html.erb +1 -0
  180. data/test/rails_app/app/views/home/user_dashboard.html.erb +1 -0
  181. data/test/rails_app/app/views/layouts/application.html.erb +24 -0
  182. data/test/rails_app/app/views/users/index.html.erb +1 -0
  183. data/test/rails_app/app/views/users/mailer/confirmation_instructions.erb +1 -0
  184. data/test/rails_app/app/views/users/sessions/new.html.erb +1 -0
  185. data/test/rails_app/config.ru +4 -0
  186. data/test/rails_app/config/application.rb +41 -0
  187. data/test/rails_app/config/boot.rb +8 -0
  188. data/test/rails_app/config/database.yml +18 -0
  189. data/test/rails_app/config/environment.rb +5 -0
  190. data/test/rails_app/config/environments/development.rb +18 -0
  191. data/test/rails_app/config/environments/production.rb +33 -0
  192. data/test/rails_app/config/environments/test.rb +33 -0
  193. data/test/rails_app/config/initializers/backtrace_silencers.rb +7 -0
  194. data/test/rails_app/config/initializers/devise.rb +186 -0
  195. data/test/rails_app/config/initializers/inflections.rb +2 -0
  196. data/test/rails_app/config/initializers/secret_token.rb +2 -0
  197. data/test/rails_app/config/routes.rb +90 -0
  198. data/test/rails_app/db/migrate/20100401102949_create_tables.rb +77 -0
  199. data/test/rails_app/db/schema.rb +52 -0
  200. data/test/rails_app/lib/shared_admin.rb +14 -0
  201. data/test/rails_app/lib/shared_user.rb +26 -0
  202. data/test/rails_app/public/404.html +26 -0
  203. data/test/rails_app/public/422.html +26 -0
  204. data/test/rails_app/public/500.html +26 -0
  205. data/test/rails_app/public/favicon.ico +0 -0
  206. data/test/rails_app/script/rails +10 -0
  207. data/test/routes_test.rb +248 -0
  208. data/test/support/assertions.rb +42 -0
  209. data/test/support/helpers.rb +91 -0
  210. data/test/support/integration.rb +90 -0
  211. data/test/support/locale/en.yml +4 -0
  212. data/test/support/webrat/integrations/rails.rb +24 -0
  213. data/test/test_helper.rb +27 -0
  214. data/test/test_helpers_test.rb +134 -0
  215. metadata +451 -0
@@ -0,0 +1,10 @@
1
+ test/rails_app/log/*
2
+ test/rails_app/tmp/*
3
+ *~
4
+ coverage/*
5
+ *.sqlite3
6
+ .bundle
7
+ rdoc/*
8
+ pkg
9
+ log
10
+ test/tmp/*
@@ -0,0 +1,15 @@
1
+ script: "bundle exec rake test"
2
+ rvm:
3
+ - 1.8.7
4
+ - 1.9.2
5
+ - 1.9.3
6
+ - ree
7
+ gemfile:
8
+ - gemfiles/Gemfile.rails-3.1.x
9
+ - Gemfile
10
+ notifications:
11
+ recipients:
12
+ - jose.valim@plataformatec.com.br
13
+ - carlos@plataformatec.com.br
14
+ - rodrigo.flores@plataformatec.com.br
15
+ - rafael.franca@plataformatec.com.br
@@ -0,0 +1,846 @@
1
+ == trunk (2.1.0.rc2)
2
+
3
+ * enhancements
4
+ * Devise model generator now works with engines
5
+
6
+ * deprecations
7
+ * Deprecations warnings added on Devise 2.0 are now removed with their features
8
+ * use_salt_as_remember_token and apply_schema does not have any effect since 2.0 and are now deprecated
9
+ * valid_for_authentication? must now return a boolean
10
+
11
+ * bug fix
12
+ * `/users/sign_in` doesn't choke on protected attributes used to select sign in scope (by @Paymium)
13
+ * `failed_attempts` is set to zero after any sign in (including via reset password) (by @rodrigoflores)
14
+ * Added token expiration on timeout (by @antiarchitect)
15
+ * Do not accidentally mark `_prefixes` as private
16
+ * Better support for custom strategies on test helpers (by @mattconnolly)
17
+ * Return `head :no_content` in SessionsController now that most JS libraries handle it (by @julianvargasalvarez)
18
+
19
+ == 2.1.0.rc
20
+
21
+ * enhancements
22
+ * Add check_fields! method on Devise::Models to check if the model includes the fields that Devise uses
23
+ * Add `skip_reconfirmation!` to skip reconfirmation
24
+
25
+ * bug fix
26
+ * Ensure after sign in hook is not called without a resource
27
+ * Fix a term: now on Omniauth related flash messages, we say that we're authenticating from an omniauth provider instead of authorizing
28
+ * Fixed redirect when authenticated mounted apps (by @hakanensari)
29
+
30
+ * deprecation
31
+ * All devise modules should have a required_fields(klass) module method to help gathering missing attributes
32
+
33
+ == 2.0.4
34
+
35
+ Notes: https://github.com/plataformatec/devise/wiki/How-To:-Upgrade-to-Devise-2.0
36
+
37
+ * bug fix
38
+ * Fix when :host is used with devise_for (by @mreinsch)
39
+ * Fix a regression that caused Warden to be initialized too late
40
+
41
+ == 2.0.3 (yanked)
42
+
43
+ * bug fix
44
+ * Ensure warning is not shown by mistake on apps with mounted engines
45
+ * Fixes related to remember_token and rememberable_options
46
+ * Ensure serializable_hash does not depend on accessible attributes
47
+ * Ensure that timeout callback does not run on sign out action
48
+
49
+ == 2.0.2
50
+
51
+ * enhancements
52
+ * Add devise_i18n_options to customize I18n message
53
+
54
+ * bug fix
55
+ * Ensure Devise.available_router_name defaults to :main_app
56
+ * Set autocomplete to off for password on edit forms
57
+ * Better error messages in case a trackable model can't be saved
58
+ * Show a warning in case someone gives a pluralized name to devise generator
59
+ * Fix test behavior for rspec subject requests (by @sj26)
60
+
61
+ == 2.0.1
62
+
63
+ * enhancements
64
+ * Improved error messages on deprecation warnings
65
+ * Hide Devise's internal generators from `rails g` command
66
+
67
+ * bug fix
68
+ * Removed tmp and log files from gem
69
+
70
+ == 2.0.0
71
+
72
+ * enhancements
73
+ * Add support for e-mail reconfirmation on change (by @Mandaryn and @heimidal)
74
+ * Redirect users to sign in page after unlock (by @nashby)
75
+ * Redirect to the previous URL on timeout
76
+ * Inherit from the same Devise parent controller (by @sj26)
77
+ * Allow parent_controller to be customizable via Devise.parent_controller, useful for engines
78
+ * Allow router_name to be customizable via Devise.router_name, useful for engines
79
+ * Allow alternate ORMs to run compatibility setup code before Authenticatable is included (by @jm81)
80
+
81
+ * deprecation
82
+ * Devise now only supports Rails 3.1 forward
83
+ * Devise.confirm_within was deprecated in favor Devise.allow_unconfirmed_access_for
84
+ * Devise.stateless_token= is deprecated in favor of appending :token_auth to Devise.skip_session_storage
85
+ * Usage of Devise.apply_schema is deprecated
86
+ * Usage of Devise migration helpers are deprecated
87
+ * Usage of Devise.remember_across_browsers was deprecated
88
+ * Usage of rememberable with remember_token was removed
89
+ * Usage of recoverable without reset_password_sent_at was removed
90
+ * Usage of Devise.case_insensitive_keys equals to false was removed
91
+ * Move devise/shared/_links.erb to devise/_links.erb
92
+ * Deprecated support of nested devise_for blocks
93
+ * Deprecated support to devise.registrations.reasons and devise.registrations.inactive_signed_up in favor of devise.registrations.signed_up_but_*
94
+ * Protected method render_with_scope was removed.
95
+
96
+ == 1.5.3
97
+
98
+ * bug fix
99
+ * Ensure delegator converts scope to symbol (by @dmitriy-kiriyenko)
100
+ * Ensure passing :format => false to devise_for is not permanent
101
+ * Ensure path checker does not check invalid routes
102
+
103
+ == 1.5.2
104
+
105
+ * enhancements
106
+ * Add support for Rails 3.1 new mass assignment conventions (by @kirs)
107
+ * Add timeout_in method to Timeoutable, it can be overridden in a model (by @lest)
108
+
109
+ * bug fix
110
+ * OmniAuth error message now shows the proper option (:strategy_class instead of :klass)
111
+
112
+ == 1.5.1
113
+
114
+ * bug fix
115
+ * Devise should not attempt to load OmniAuth strategies. Strategies should be loaded before hand by the developer or explicitly given to Devise.
116
+
117
+ == 1.5.0
118
+
119
+ * enhancements
120
+ * Timeoutable also skips tracking if skip_trackable is given
121
+ * devise_for now accepts :failure_app as an option
122
+ * Models can select the proper mailer via devise_mailer method (by @locomotivecms)
123
+ * Migration generator now uses the change method (by @nashby)
124
+ * Support to markerb templates on the mailer generator (by @sbounmy)
125
+ * Support for Omniauth 1.0 (older versions are no longer supported) (by @TamiasSibiricus)
126
+
127
+ * bug fix
128
+ * Allow idempotent API requests
129
+ * Fix bug where logs did not show 401 as status code
130
+ * Change paranoid settings to behave as success instead of as failure
131
+ * Fix bug where activation messages were shown first than the credentials error message
132
+ * Instance variables are expired after sign out
133
+
134
+ * deprecation
135
+ * redirect_location is deprecated, please use after_sign_in_path_for
136
+ * after_sign_in_path_for now redirects to session[scope_return_to] if any value is stored in it
137
+
138
+ == 1.4.9
139
+
140
+ * bug fix
141
+ * url helpers were not being set under some circumstances
142
+
143
+ == 1.4.8
144
+
145
+ * enhancements
146
+ * Add docs for assets pipeline and Heroku
147
+
148
+ * bug fix
149
+ * confirmation_url was not being set under some circumstances
150
+
151
+ == 1.4.7
152
+
153
+ * bug fix
154
+ * Fix backward incompatible change from 1.4.6 for those using custom controllers
155
+
156
+ == 1.4.6 (yanked)
157
+
158
+ * enhancements
159
+ * Allow devise_for :skip => :all
160
+ * Allow options to be passed to authenticate_user!
161
+ * Allow --skip-routes to devise generator
162
+ * Add allow_params_authentication! to make it explicit when params authentication is allowed in a controller
163
+
164
+ == 1.4.5
165
+
166
+ * bug fix
167
+ * Failure app tries the root path if a session one does not exist
168
+ * No need to finalize Devise helpers all the time (by @bradleypriest)
169
+ * Reset password shows proper message if user is not active
170
+ * `clean_up_passwords` sets the accessors to nil to skip validations
171
+
172
+ == 1.4.4
173
+
174
+ * bug fix
175
+ * Do not always skip helpers, instead provide :skip_helpers as option to trigger it manually
176
+
177
+ == 1.4.3
178
+
179
+ * enhancements
180
+ * Improve Rails 3.1 compatibility
181
+ * Use serialize_into_session and serialize_from_session in Warden serialize to improve extensibility
182
+
183
+ * bug fix
184
+ * Generator properly generates a change_table migration if a model already exists
185
+ * Properly deprecate setup_mail
186
+ * Fix encoding issues with email regexp
187
+ * Only generate helpers for the used mappings
188
+ * Wrap :action constraints in the proper hash
189
+
190
+ * deprecations
191
+ * Loosened the used email regexp to simply assert the existent of "@". If someone relies on a more strict regexp, they may use https://github.com/SixArm/sixarm_ruby_email_address_validation
192
+
193
+ == 1.4.2
194
+
195
+ * bug fix
196
+ * Provide a more robust behavior to serializers and add :force_except option
197
+
198
+ == 1.4.1
199
+
200
+ * enhancements
201
+ * Add :defaults and :format support on router
202
+ * Add simple form generators
203
+ * Better localization for devise_error_messages! (by @zedtux)
204
+
205
+ * bug fix
206
+ * Ensure to_xml is properly white listened
207
+ * Ensure handle_unverified_request clean up any cached signed-in user
208
+
209
+ == 1.4.0
210
+
211
+ * enhancements
212
+ * Added authenticated and unauthenticated to the router to route the used based on his status (by @sj26)
213
+ * Improve e-mail regexp (by @rodrigoflores)
214
+ * Add strip_whitespace_keys and default to e-mail (by @swrobel)
215
+ * Do not run format and uniqueness validations on e-mail if it hasn't changed (by @Thibaut)
216
+ * Added update_without_password to update models but not allowing the password to change (by @fschwahn)
217
+ * Added config.paranoid, check the generator for more information (by @rodrigoflores)
218
+
219
+ * bug fix
220
+ * password_required? should not affect length validation
221
+ * User cannot access sign up and similar pages if he is already signed in through a cookie or token
222
+ * Do not convert booleans to strings on finders (by @xavier)
223
+ * Run validations even if current_password fails (by @crx)
224
+ * Devise now honors routes constraints (by @macmartine)
225
+ * Do not return the user resource when requesting instructions (by @rodrigoflores)
226
+
227
+ == 1.3.4
228
+
229
+ * bug fix
230
+ * Do not add formats if html or "*/*"
231
+
232
+ == 1.3.3
233
+
234
+ * bug fix
235
+ * Explicitly mark the token as expired if so
236
+
237
+ == 1.3.2
238
+
239
+ * bug fix
240
+ * Fix another regression related to reset_password_sent_at (by @alexdreher)
241
+
242
+ == 1.3.1
243
+
244
+ * enhancements
245
+ * Improve failure_app responses (by @indirect)
246
+ * sessions/new and registrations/new also respond to xml and json now
247
+
248
+ * bug fix
249
+ * Fix a regression that occurred if reset_password_sent_at is not present (by @stevehodgkiss)
250
+
251
+ == 1.3.0
252
+
253
+ * enhancements
254
+ * All controllers can now handle different mime types than html using Responders (by @sikachu)
255
+ * Added reset_password_within as configuration option to send the token for recovery (by @jdguyot)
256
+ * Bump password length to 128 characters (by @k33l0r)
257
+ * Add :only as option to devise_for (by @timoschilling)
258
+ * Allow to override path after sending password instructions (by @irohiroki)
259
+ * require_no_authentication has its own flash message (by @jackdempsey)
260
+
261
+ * bug fix
262
+ * Fix a bug where configuration options were being included too late
263
+ * Ensure Devise::TestHelpers can be used to tests Devise internal controllers (by @jwilger)
264
+ * valid_password? should not choke on empty passwords (by @mikel)
265
+ * Calling devise more than once does not include previously added modules anymore
266
+ * downcase_keys before validation
267
+
268
+ * backward incompatible changes
269
+ * authentication_keys are no longer considered when creating the e-mail validations, the previous behavior was buggy. You must double check if you were relying on such behavior.
270
+
271
+ == 1.2.1
272
+
273
+ * enhancements
274
+ * Improve update path messages
275
+
276
+ == 1.2.0
277
+
278
+ * bug fix
279
+ * Properly ignore path prefix on omniauthable
280
+ * Faster uniqueness queries
281
+ * Rename active? to active_for_authentication? to avoid conflicts
282
+
283
+ == 1.2.rc2
284
+
285
+ * enhancements
286
+ * Make friendly_token 20 chars long
287
+ * Use secure_compare
288
+
289
+ * bug fix
290
+ * Fix an issue causing infinite redirects in production
291
+ * rails g destroy works properly with devise generators (by @andmej)
292
+ * before_failure callbacks should work on test helpers (by @twinge)
293
+ * rememberable cookie now is httponly by default (by @JamesFerguson)
294
+ * Add missing confirmation_keys (by @JohnPlummer)
295
+ * Ensure after_* hooks are called on RegistrationsController
296
+ * When using database_authenticatable Devise will now only create an email field when appropriate (if using default authentication_keys or custom authentication_keys with email included)
297
+ * Ensure stateless token does not trigger timeout (by @pixelauthority)
298
+ * Implement handle_unverified_request for Rails 3.0.4 compatibility and improve FailureApp reliance on symbols
299
+ * Consider namespaces while generating routes
300
+ * Custom failure apps no longer ignored in test mode (by @jaghion)
301
+ * Do not depend on ActiveModel::Dirty
302
+ * Manual sign_in now triggers remember token
303
+ * Be sure to halt strategies on failures
304
+ * Consider SCRIPT_NAME on Omniauth paths
305
+ * Reset failed attempts when lock is expired
306
+ * Ensure there is no Mongoid injection
307
+
308
+ * deprecations
309
+ * Deprecated anybody_signed_in? in favor of signed_in? (by @gavinhughes)
310
+ * Removed --haml and --slim view templates
311
+ * Devise::OmniAuth helpers were deprecated and removed in favor of Omniauth.config.test_mode
312
+
313
+ == 1.2.rc
314
+
315
+ * deprecations
316
+ * cookie_domain is deprecated in favor of cookie_options
317
+ * after_update_path_for can no longer be defined in ApplicationController
318
+
319
+ * enhancements
320
+ * Added OmniAuth support
321
+ * Added ORM adapter to abstract ORM iteraction
322
+ * sign_out_via is available in the router to configure the method used for sign out (by @martinrehfeld)
323
+ * Improved Ajax requests handling in failure app (by @spastorino)
324
+ * Added request_keys to easily use request specific values (like subdomain) in authentication
325
+ * Increased the size of friendly_token to 60 characters (reduces the chances of a successful brute attack)
326
+ * Ensure the friendly token does not include "_" or "-" since some e-mails may not autolink it properly (by @rymai)
327
+ * Extracted encryptors into :encryptable for better bcrypt support
328
+ * :rememberable is now able to use salt as token if no remember_token is provided
329
+ * Store the salt in session and expire the session if the user changes his password
330
+ * Allow :stateless_token to be set to true avoiding users to be stored in session through token authentication
331
+ * cookie_options uses session_options values by default
332
+ * Sign up now check if the user is active or not and redirect him accordingly setting the inactive_signed_up message
333
+ * Use ActiveModel#to_key instead of #id
334
+ * sign_out_all_scopes now destroys the whole session
335
+ * Added case_insensitive_keys that automatically downcases the given keys, by default downcases only e-mail (by @adahl)
336
+
337
+ * default behavior changes
338
+ * sign_out_all_scopes defaults to true as security measure
339
+ * http authenticatable is disabled by default
340
+ * Devise does not intercept 401 returned from applications
341
+
342
+ * bugfix
343
+ * after_sign_in_path_for always receives a resource
344
+ * Do not execute Warden::Callbacks on Devise::TestHelpers (by @sgronblo)
345
+ * Allow password recovery and account unlocking to change used keys (by @RStankov)
346
+ * FailureApp now properly handles nil request.format
347
+ * Fix a bug causing FailureApp to return with HTTP Auth Headers for IE7
348
+ * Ensure namespaces has proper scoped views
349
+ * Ensure Devise does not set empty flash messages (by @sxross)
350
+
351
+ == 1.1.6
352
+
353
+ * Use a more secure e-mail regexp
354
+ * Implement Rails 3.0.4 handle unverified request
355
+ * Use secure_compare to compare passwords
356
+
357
+ == 1.1.5
358
+
359
+ * bugfix
360
+ * Ensure to convert keys on indifferent hash
361
+
362
+ * defaults
363
+ * Set config.http_authenticatable to false to avoid confusion
364
+
365
+ == 1.1.4
366
+
367
+ * bugfix
368
+ * Avoid session fixation attacks
369
+
370
+ == 1.1.3
371
+
372
+ * bugfix
373
+ * Add reply-to to e-mail headers by default
374
+ * Updated the views generator to respect the rails :template_engine option (by @fredwu)
375
+ * Check the type of HTTP Authentication before using Basic headers
376
+ * Avoid invalid_salt errors by checking salt presence (by @thibaudgg)
377
+ * Forget user deletes the right cookie before logout, not remembering the user anymore (by @emtrane)
378
+ * Fix for failed first-ever logins on PostgreSQL where column default is nil (by @bensie)
379
+ * :default options is now honored in migrations
380
+
381
+ == 1.1.2
382
+
383
+ * bugfix
384
+ * Compatibility with latest Rails routes schema
385
+
386
+ == 1.1.1
387
+
388
+ * bugfix
389
+ * Fix a small bug where generated locale file was empty on devise:install
390
+
391
+ == 1.1.0
392
+
393
+ * enhancements
394
+ * Rememberable module allows user to be remembered across browsers and is enabled by default (by @trevorturk)
395
+ * Rememberable module allows you to activate the period the remember me token is extended (by @trevorturk)
396
+ * devise_for can now be used together with scope method in routes but with a few limitations (check the documentation)
397
+ * Support `as` or `devise_scope` in the router to specify controller access scope
398
+ * HTTP Basic Auth can now be disabled/enabled for xhr(ajax) requests using http_authenticatable_on_xhr option (by @pellja)
399
+
400
+ * bug fix
401
+ * Fix a bug in Devise::TestHelpers where current_user was returning a Response object for non active accounts
402
+ * Devise should respect script_name and path_info contracts
403
+ * Fix a bug when accessing a path with (.:format) (by @klacointe)
404
+ * Do not add unlock routes unless unlock strategy is email or both
405
+ * Email should be case insensitive
406
+ * Store classes as string in session, to avoid serialization and stale data issues
407
+
408
+ * deprecations
409
+ * use_default_scope is deprecated and has no effect. Use :as or :devise_scope in the router instead
410
+
411
+ == 1.1.rc2
412
+
413
+ * enhancements
414
+ * Allow to set cookie domain for the remember token. (by @mantas)
415
+ * Added navigational formats to specify when it should return a 302 and when a 401.
416
+ * Added authenticate(scope) support in routes (by @wildchild)
417
+ * Added after_update_path_for to registrations controller (by @thedelchop)
418
+ * Allow the mailer object to be replaced through config.mailer = "MyOwnMailer"
419
+
420
+ * bug fix
421
+ * Fix a bug where session was timing out on sign out
422
+
423
+ * deprecations
424
+ * bcrypt is now the default encryptor
425
+ * devise.mailer.confirmations_instructions now should be devise.mailer.confirmations_instructions.subject
426
+ * devise.mailer.user.confirmations_instructions now should be devise.mailer.confirmations_instructions.user_subject
427
+ * Generators now use Rails 3 syntax (devise:install) instead of devise_install
428
+
429
+ == 1.1.rc1
430
+
431
+ * enhancements
432
+ * Rails 3 compatibility
433
+ * All controllers and views are namespaced, for example: Devise::SessionsController and "devise/sessions"
434
+ * Devise.orm is deprecated. This reduces the required API to hook your ORM with devise
435
+ * Use metal for failure app
436
+ * HTML e-mails now have proper formatting
437
+ * Allow to give :skip and :controllers in routes
438
+ * Move trackable logic to the model
439
+ * E-mails now use any template available in the filesystem. Easy to create multipart e-mails
440
+ * E-mails asks headers_for in the model to set the proper headers
441
+ * Allow to specify haml in devise_views
442
+ * Compatibility with Mongoid
443
+ * Make config.devise available on config/application.rb
444
+ * TokenAuthenticatable now works with HTTP Basic Auth
445
+ * Allow :unlock_strategy to be :none and add :lock_strategy which can be :failed_attempts or none. Setting those values to :none means that you want to handle lock and unlocking by yourself
446
+ * No need to append ?unauthenticated=true in URLs anymore since Flash was moved to a middleware in Rails 3
447
+ * :activatable is included by default in your models
448
+
449
+ * bug fix
450
+ * Fix a bug with STI
451
+
452
+ * deprecations
453
+ * Rails 3 compatible only
454
+ * Removed support for MongoMapper
455
+ * Scoped views are no longer "sessions/users/new". Now use "users/sessions/new"
456
+ * Devise.orm is deprecated, just require "devise/orm/YOUR_ORM" instead
457
+ * Devise.default_url_options is deprecated, just modify ApplicationController.default_url_options
458
+ * All messages under devise.sessions, except :signed_in and :signed_out, should be moved to devise.failure
459
+ * :as and :scope in routes is deprecated. Use :path and :singular instead
460
+
461
+ == 1.0.8
462
+
463
+ * enhancements
464
+ * Support for latest MongoMapper
465
+ * Added anybody_signed_in? helper (by @SSDany)
466
+
467
+ * bug fix
468
+ * confirmation_required? is properly honored on active? calls. (by @paulrosania)
469
+
470
+ == 1.0.7
471
+
472
+ * bug fix
473
+ * Ensure password confirmation is always required
474
+
475
+ * deprecations
476
+ * authenticatable was deprecated and renamed to database_authenticatable
477
+ * confirmable is not included by default on generation
478
+
479
+ == 1.0.6
480
+
481
+ * bug fix
482
+ * Do not allow unlockable strategies based on time to access a controller.
483
+ * Do not send unlockable email several times.
484
+ * Allow controller to upstram custom! failures to Warden.
485
+
486
+ == 1.0.5
487
+
488
+ * bug fix
489
+ * Use prepend_before_filter in require_no_authentication.
490
+ * require_no_authentication on unlockable.
491
+ * Fix a bug when giving an association proxy to devise.
492
+ * Do not use lock! on lockable since it's part of ActiveRecord API.
493
+
494
+ == 1.0.4
495
+
496
+ * bug fix
497
+ * Fixed a bug when deleting an account with rememberable
498
+ * Fixed a bug with custom controllers
499
+
500
+ == 1.0.3
501
+
502
+ * enhancements
503
+ * HTML e-mails now have proper formatting
504
+ * Do not remove MongoMapper options in find
505
+
506
+ == 1.0.2
507
+
508
+ * enhancements
509
+ * Allows you set mailer content type (by @glennr)
510
+
511
+ * bug fix
512
+ * Uses the same content type as request on http authenticatable 401 responses
513
+
514
+ == 1.0.1
515
+
516
+ * enhancements
517
+ * HttpAuthenticatable is not added by default automatically.
518
+ * Avoid mass assignment error messages with current password.
519
+
520
+ * bug fix
521
+ * Fixed encryptors autoload
522
+
523
+ == 1.0.0
524
+
525
+ * deprecation
526
+ * :old_password in update_with_password is deprecated, use :current_password instead
527
+
528
+ * enhancements
529
+ * Added Registerable
530
+ * Added Http Basic Authentication support
531
+ * Allow scoped_views to be customized per controller/mailer class
532
+ * [#99] Allow authenticatable to used in change_table statements
533
+
534
+ == 0.9.2
535
+
536
+ * bug fix
537
+ * Ensure inactive user cannot sign in
538
+ * Ensure redirect to proper url after sign up
539
+
540
+ * enhancements
541
+ * Added gemspec to repo
542
+ * Added token authenticatable (by @grimen)
543
+
544
+ == 0.9.1
545
+
546
+ * bug fix
547
+ * Allow bigger salt size (by @jgeiger)
548
+ * Fix relative url root
549
+
550
+ == 0.9.0
551
+
552
+ * deprecation
553
+ * devise :all is deprecated
554
+ * :success and :failure flash messages are now :notice and :alert
555
+
556
+ * enhancements
557
+ * Added devise lockable (by @mhfs)
558
+ * Warden 0.9.0 compatibility
559
+ * Mongomapper 0.6.10 compatibility
560
+ * Added Devise.add_module as hooks for extensions (by @grimen)
561
+ * Ruby 1.9.1 compatibility (by @grimen)
562
+
563
+ * bug fix
564
+ * Accept path prefix not starting with slash
565
+ * url helpers should rely on find_scope!
566
+
567
+ == 0.8.2
568
+
569
+ * enhancements
570
+ * Allow Devise.mailer_sender to be a proc (by @grimen)
571
+
572
+ * bug fix
573
+ * Fix bug with passenger, update is required to anyone deploying on passenger (by @dvdpalm)
574
+
575
+ == 0.8.1
576
+
577
+ * enhancements
578
+ * Move salt to encryptors
579
+ * Devise::Lockable
580
+ * Moved view links into partial and I18n'ed them
581
+
582
+ * bug fix
583
+ * Bcrypt generator was not being loaded neither setting the proper salt
584
+
585
+ == 0.8.0
586
+
587
+ * enhancements
588
+ * Warden 0.8.0 compatibility
589
+ * Add an easy for map.connect "sign_in", :controller => "sessions", :action => "new" to work
590
+ * Added :bcrypt encryptor (by @capotej)
591
+
592
+ * bug fix
593
+ * sign_in_count is also increased when user signs in via password change, confirmation, etc..
594
+ * More DataMapper compatibility (by @lancecarlson)
595
+
596
+ * deprecation
597
+ * Removed DeviseMailer.sender
598
+
599
+ == 0.7.5
600
+
601
+ * enhancements
602
+ * Set a default value for mailer to avoid find_template issues
603
+ * Add models configuration to MongoMapper::EmbeddedDocument as well
604
+
605
+ == 0.7.4
606
+
607
+ * enhancements
608
+ * Extract Activatable from Confirmable
609
+ * Decouple Serializers from Devise modules
610
+
611
+ == 0.7.3
612
+
613
+ * bug fix
614
+ * Give scope to the proper model validation
615
+
616
+ * enhancements
617
+ * Mail views are scoped as well
618
+ * Added update_with_password for authenticatable
619
+ * Allow render_with_scope to accept :controller option
620
+
621
+ == 0.7.2
622
+
623
+ * deprecation
624
+ * Renamed reset_confirmation! to resend_confirmation!
625
+ * Copying locale is part of the installation process
626
+
627
+ * bug fix
628
+ * Fixed render_with_scope to work with all controllers
629
+ * Allow sign in with two different users in Devise::TestHelpers
630
+
631
+ == 0.7.1
632
+
633
+ * enhancements
634
+ * Small enhancements for other plugins compatibility (by @grimen)
635
+
636
+ == 0.7.0
637
+
638
+ * deprecations
639
+ * :authenticatable is not included by default anymore
640
+
641
+ * enhancements
642
+ * Improve loading process
643
+ * Extract SessionSerializer from Authenticatable
644
+
645
+ == 0.6.3
646
+
647
+ * bug fix
648
+ * Added trackable to migrations
649
+ * Allow inflections to work
650
+
651
+ == 0.6.2
652
+
653
+ * enhancements
654
+ * More DataMapper compatibility
655
+ * Devise::Trackable - track sign in count, timestamps and ips
656
+
657
+ == 0.6.1
658
+
659
+ * enhancements
660
+ * Devise::Timeoutable - timeout sessions without activity
661
+ * DataMapper now accepts conditions
662
+
663
+ == 0.6.0
664
+
665
+ * deprecations
666
+ * :authenticatable is still included by default, but yields a deprecation warning
667
+
668
+ * enhancements
669
+ * Added DataMapper support
670
+ * Remove store_location from authenticatable strategy and add it to failure app
671
+ * Allow a strategy to be placed after authenticatable
672
+ * [#45] Do not rely attribute? methods, since they are not added on Datamapper
673
+
674
+ == 0.5.6
675
+
676
+ * enhancements
677
+ * [#42] Do not send nil to build (DataMapper compatibility)
678
+ * [#44] Allow to have scoped views
679
+
680
+ == 0.5.5
681
+
682
+ * enhancements
683
+ * Allow overwriting find for authentication method
684
+ * [#38] Remove Ruby 1.8.7 dependency
685
+
686
+ == 0.5.4
687
+
688
+ * deprecations
689
+ * Deprecate :singular in devise_for and use :scope instead
690
+
691
+ * enhancements
692
+ * [#37] Create after_sign_in_path_for and after_sign_out_path_for hooks to be
693
+ overwriten in ApplicationController
694
+ * Create sign_in_and_redirect and sign_out_and_redirect helpers
695
+ * Warden::Manager.default_scope is automatically configured to the first given scope
696
+
697
+ == 0.5.3
698
+
699
+ * bug fix
700
+ * MongoMapper now converts DateTime to Time
701
+ * Ensure all controllers are unloadable
702
+
703
+ * enhancements
704
+ * [#35] Moved friendly_token to Devise
705
+ * Added Devise.all, so you can freeze your app strategies
706
+ * Added Devise.apply_schema, so you can turn it to false in Datamapper or MongoMapper
707
+ in cases you don't want it be handlded automatically
708
+
709
+ == 0.5.2
710
+
711
+ * enhancements
712
+ * [#28] Improved sign_in and sign_out helpers to accepts resources
713
+ * [#28] Added stored_location_for as a helper
714
+ * [#20] Added test helpers
715
+
716
+ == 0.5.1
717
+
718
+ * enhancements
719
+ * Added serializers based on Warden ones
720
+ * Allow authentication keys to be set
721
+
722
+ == 0.5.0
723
+
724
+ * bug fix
725
+ * Fixed a bug where remember me module was not working properly
726
+
727
+ * enhancements
728
+ * Moved encryption strategy into the Encryptors module to allow several algorithms (by @mhfs)
729
+ * Implemented encryptors for Clearance, Authlogic and Restful-Authentication (by @mhfs)
730
+ * Added support for MongoMapper (by @shingara)
731
+
732
+ == 0.4.3
733
+
734
+ * bug fix
735
+ * [#29] Authentication just fails if user cannot be serialized from session, without raising errors;
736
+ * Default configuration values should not overwrite user values;
737
+
738
+ == 0.4.2
739
+
740
+ * deprecations
741
+ * Renamed mail_sender to mailer_sender
742
+
743
+ * enhancements
744
+ * skip_before_filter added in Devise controllers
745
+ * Use home_or_root_path on require_no_authentication as well
746
+ * Added devise_controller?, useful to select or reject filters in ApplicationController
747
+ * Allow :path_prefix to be given to devise_for
748
+ * Allow default_url_options to be configured through devise (:path_prefix => "/:locale" is now supported)
749
+
750
+ == 0.4.1
751
+
752
+ * bug fix
753
+ * [#21] Ensure options can be set even if models were not loaded
754
+
755
+ == 0.4.0
756
+
757
+ * deprecations
758
+ * Notifier is deprecated, use DeviseMailer instead. Remember to rename
759
+ app/views/notifier to app/views/devise_mailer and I18n key from
760
+ devise.notifier to devise.mailer
761
+ * :authenticable calls are deprecated, use :authenticatable instead
762
+
763
+ * enhancements
764
+ * [#16] Allow devise to be more agnostic and do not require ActiveRecord to be loaded
765
+ * Allow Warden::Manager to be configured through Devise
766
+ * Created a generator which creates an initializer
767
+
768
+ == 0.3.0
769
+
770
+ * bug fix
771
+ * [#15] Allow yml messages to be configured by not using engine locales
772
+
773
+ * deprecations
774
+ * Renamed confirm_in to confirm_within
775
+ * [#14] Do not send confirmation messages when user changes his e-mail
776
+ * [#13] Renamed authenticable to authenticatable and added deprecation warnings
777
+
778
+ == 0.2.3
779
+
780
+ * enhancements
781
+ * Ensure fail! works inside strategies
782
+ * [#12] Make unauthenticated message (when you haven't signed in) different from invalid message
783
+
784
+ * bug fix
785
+ * Do not redirect on invalid authenticate
786
+ * Allow model configuration to be set to nil
787
+
788
+ == 0.2.2
789
+
790
+ * bug fix
791
+ * [#9] Fix a bug when using customized resources
792
+
793
+ == 0.2.1
794
+
795
+ * refactor
796
+ * Clean devise_views generator to use devise existing views
797
+
798
+ * enhancements
799
+ * [#7] Create instance variables (like @user) for each devise controller
800
+ * Use Devise::Controller::Helpers only internally
801
+
802
+ * bug fix
803
+ * [#6] Fix a bug with Mongrel and Ruby 1.8.6
804
+
805
+ == 0.2.0
806
+
807
+ * enhancements
808
+ * [#4] Allow option :null => true in authenticable migration
809
+ * [#3] Remove attr_accessible calls from devise modules
810
+ * Customizable time frame for rememberable with :remember_for config
811
+ * Customizable time frame for confirmable with :confirm_in config
812
+ * Generators for creating a resource and copy views
813
+
814
+ * optimize
815
+ * Do not load hooks or strategies if they are not used
816
+
817
+ * bug fixes
818
+ * [#2] Fixed requiring devise strategies
819
+
820
+ == 0.1.1
821
+
822
+ * bug fixes
823
+ * [#1] Fixed requiring devise mapping
824
+
825
+ == 0.1.0
826
+
827
+ * Devise::Authenticable
828
+ * Devise::Confirmable
829
+ * Devise::Recoverable
830
+ * Devise::Validatable
831
+ * Devise::Migratable
832
+ * Devise::Rememberable
833
+
834
+ * SessionsController
835
+ * PasswordsController
836
+ * ConfirmationsController
837
+
838
+ * Create an example app
839
+ * devise :all, :except => :rememberable
840
+ * Use sign_in and sign_out in SessionsController
841
+
842
+ * Mailer subjects namespaced by model
843
+ * Allow stretches and pepper per model
844
+
845
+ * Store session[:return_to] in session
846
+ * Sign user in automatically after confirming or changing it's password