All of these have been deprecated for years, if we're releasing a new major version, let's take the opportunity to do some cleanup. * Remove deprecated `:bypass` option from `sign_in` helper, use `bypass_sign_in` instead. * Remove deprecated `devise_error_messages!` helper, use `render "devise/shared/error_messages", resource: resource` instead. * Remove deprecated `scope` second argument from `sign_in(resource, :admin)` controller test helper, use `sign_in(resource, scope: :admin)` instead. * Remove deprecated `Devise::TestHelpers`, use `Devise::Test::ControllerHelpers` instead. Closes #5739
2.5 KiB
Unreleased
- breaking changes
-
Drop support to Ruby < 2.7
-
Drop support to Rails < 7.0
-
Remove deprecated
:bypassoption fromsign_inhelper, usebypass_sign_ininstead. #5803 -
Remove deprecated
devise_error_messages!helper, userender "devise/shared/error_messages", resource: resourceinstead. #5803 -
Remove deprecated
scopesecond argument fromsign_in(resource, :admin)controller test helper, usesign_in(resource, scope: :admin)instead. #5803 -
Remove deprecated
Devise::TestHelpers, useDevise::Test::ControllerHelpersinstead. #5803 -
Remove
SecretKeyFinderand useapp.secret_key_baseas the default secret key forDevise.secret_keyif a customDevise.secret_keyis not provided.This is potentially a breaking change because Devise previously used the following order to find a secret key:
app.credentials.secret_key_base > app.secrets.secret_key_base > application.config.secret_key_base > application.secret_key_baseNow, it always uses
application.secret_key_base. Make sure you're using the same secret key after the upgrade; otherwise, previously generated tokens forrecoverable,lockable, andconfirmablewill be invalid. #5645
-
- enhancements
-
Removed deprecations warning output for
Devise::Models::Authenticatable::BLACKLIST_FOR_SERIALIZATION(@soartec-lab) -
Add Rails 8 support.
- Routes are lazy-loaded by default in test and development environments now so Devise loads them before
Devise.mappingscall.
- Routes are lazy-loaded by default in test and development environments now so Devise loads them before
-
Add Ruby 3.4 support.
-
Password length validator is changed from
validates_length_of :password, within: password_length, allow_blank: true`to
validates_length_of :password, minimum: proc { password_length.min }, maximum: proc { password_length.max }, allow_blank: trueso it's possible to override
password_lengthat runtime. (@manojmj92) -
Reenable Mongoid test suite across all Rails 7+ versions, to ensure we continue supporting it. Changes to dirty tracking to support Mongoid 8.0+. #5568
-
- bug fixes
- Make
Devisework withoutActionMailerwhenZeitwerkautoloader is used.
- Make
Please check 4-stable for previous changes.