af-devise 2.1.2

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