rmello-devise 2.1.0.2

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