Bumps devise from 4.4.3 to 4.6.2. This update includes security fixes.
Vulnerabilities fixed
*Sourced from [The Ruby Advisory Database](https://github.com/rubysec/ruby-advisory-db/blob/master/gems/devise/CVE-2019-5421.yml).*
> **Devise Gem for Ruby Time-of-check Time-of-use race condition with lockable module**
> Devise ruby gem before 4.6.0 when the `lockable` module is used is vulnerable to a
> time-of-check time-of-use (TOCTOU) race condition due to `increment_failed_attempts`
> within the `Devise::Models::Lockable` class not being concurrency safe.
>
> Patched versions: >= 4.6.0
> Unaffected versions: none
Changelog
*Sourced from [devise's changelog](https://github.com/plataformatec/devise/blob/master/CHANGELOG.md).*
> ### 4.6.2 - 2019-03-26
>
> * bug fixes
> * Revert "Set `encrypted_password` to `nil` when `password` is set to `nil`" since it broke backward compatibility with existing applications. See more on https://github-redirect.dependabot.com/plataformatec/devise/issues/5033#issuecomment-476386275 (by [@mracos](https://github.com/mracos))
>
> ### 4.6.1 - 2019-02-11
>
> * bug fixes
> * Check if `root_path` is defined with `#respond_to?` instead of `#present` (by [@tegon](https://github.com/tegon))
>
> ### 4.6.0 - 2019-02-07
>
> * enhancements
> * Allow to skip email and password change notifications (by [@iorme1](https://github.com/iorme1))
> * Include the use of `nil` for `allow_unconfirmed_access_for` in the docs (by [@joaumg](https://github.com/joaumg))
> * Ignore useless files into the `.gem` file (by [@huacnlee](https://github.com/huacnlee))
> * Explain the code that prevents enumeration attacks inside `Devise::Strategies::DatabaseAuthenticatable` (by [@tegon](https://github.com/tegon))
> * Refactor the `devise_error_messages!` helper to render a partial (by [@prograhamer](https://github.com/prograhamer))
> * Add an option (`Devise.sign_in_after_change_password`) to not automatically sign in a user after changing a password (by [@knjko](https://github.com/knjko))
>
> * bug fixes
> * Fix missing comma in Simple Form generator (by [@colinross](https://github.com/colinross))
> * Fix error with migration generator in Rails 6 (by [@oystersauce8](https://github.com/oystersauce8))
> * Set `encrypted_password` to `nil` when `password` is set to `nil` (by [@sivagollapalli](https://github.com/sivagollapalli))
> * Consider whether the request supports flash messages inside `Devise::Controllers::Helpers#is_flashing_format?` (by [@colinross](https://github.com/colinross))
> * Fix typo inside `Devise::Generators::ControllersGenerator` (by [@kopylovvlad](https://github.com/kopylovvlad))
> * Sanitize parameters inside `Devise::Models::Authenticatable#find_or_initialize_with_errors` (by [@rlue](https://github.com/rlue))
> * `#after_database_authentication` callback was not called after authentication on password reset (by [@kanmaniselvan](https://github.com/kanmaniselvan))
> * Fix corner case when `#confirmation_period_valid?` was called at the same second as `confirmation_sent_at` was set. Mostly true for date types that only have second precisions. (by [@stanhu](https://github.com/stanhu))
> * Fix unclosed `li` tag in `error_messages` partial (by [@mracos](https://github.com/mracos))
> * Fix Routes issue when devise engine is mounted in another engine on Rails versions lower than 5.1 (by [@a](https://github.com/a)-barbieri)
> * Make `#increment_failed_attempts` concurrency safe (by [@tegon](https://github.com/tegon))
> * Apply Test Helper fix to Rails 6.0 as well as 5.x (by [@matthewrudy](https://github.com/matthewrudy))
>
>
> * deprecations
> * The second argument of `DatabaseAuthenticatable`'s `#update_with_password` and `#update_without_password` is deprecated and will be removed in the next major version. It was added to support a feature deprecated in Rails 4, so you can safely remove it from your code. (by [@ihatov08](https://github.com/ihatov08))
> * The `DeviseHelper.devise_error_messages!` is deprecated and will be removed in the next major version. Use the `devise/shared/error_messages` partial instead. (by [@mracos](https://github.com/mracos))
>
> ### 4.5.0 - 2018-08-15
>
> * enhancements
> * Use `before_action` instead of `before_filter` (by [@edenthecat](https://github.com/edenthecat))
> * Allow people to extend devise failure app, through invoking `ActiveSupport.run_load_hooks` once `Devise::FailureApp` is loaded (by [@wnm](https://github.com/wnm))
> * Use `update` instead of `update_attributes` (by [@koic](https://github.com/koic))
> * Split IP resolution from `update_tracked_fields` (by [@mckramer](https://github.com/mckramer))
> * upgrade dependencies for rails and responders (by [@lancecarlson](https://github.com/lancecarlson))
> * Add `autocomplete="new-password"` to new password fields (by [@gssbzn](https://github.com/gssbzn))
> * Add `autocomplete="current-password"` to current password fields (by [@gssbzn](https://github.com/gssbzn))
> * Remove redundant `self` from `database_authenticatable` module (by [@abhishekkanojia](https://github.com/abhishekkanojia))
> ... (truncated)
Commits
- [`2e5b5fc`](https://github.com/plataformatec/devise/commit/2e5b5fcd705b06c518ab0156b96badb91c4cb6ea) Prepare for `4.6.2` release
- [`241e807`](https://github.com/plataformatec/devise/commit/241e8077e366f3baa70518e4bc5e24fbbddc27dc) Update `CHANGELOG.md` [ci skip]
- [`55e726e`](https://github.com/plataformatec/devise/commit/55e726e4a7a54be81c052100b5a7976dabfc90fe) Merge pull request [#5051](https://github-redirect.dependabot.com/plataformatec/devise/issues/5051) from plataformatec/mf-revert-update-encrypted-passwo...
- [`f9d13f0`](https://github.com/plataformatec/devise/commit/f9d13f015a80ca25713d30a49312390db390229d) Revert "[#4245] Allowing password to nil ([#4261](https://github-redirect.dependabot.com/plataformatec/devise/issues/4261))"
- [`e704221`](https://github.com/plataformatec/devise/commit/e704221842cccf37d6867d1da3f88019748d94dc) Revert "Add more tests ([#4970](https://github-redirect.dependabot.com/plataformatec/devise/issues/4970))"
- [`2a6d608`](https://github.com/plataformatec/devise/commit/2a6d608bd85db3bda9755403049ab115c7aa5b03) Merge pull request [#5050](https://github-redirect.dependabot.com/plataformatec/devise/issues/5050) from softwaregravy/patch-1
- [`b2dc388`](https://github.com/plataformatec/devise/commit/b2dc388556aa882048a1ab1ca142721cb53e2037) Fix dead link
- [`214ce91`](https://github.com/plataformatec/devise/commit/214ce91bf7fdf17014c2d938d95f2a80fb676e19) Merge pull request [#5045](https://github-redirect.dependabot.com/plataformatec/devise/issues/5045) from matheusbn/small-text-fix-in-strategies/authenti...
- [`a460d79`](https://github.com/plataformatec/devise/commit/a460d79b0889d90c6bd1eb9c69755bc2720761ba) fix text redundancy
- [`2f3a596`](https://github.com/plataformatec/devise/commit/2f3a59640b39c28934ae5dfce64d600f3f07bf17) Added mention of API mode complications to README ([#5041](https://github-redirect.dependabot.com/plataformatec/devise/issues/5041)) [ci skip]
- Additional commits viewable in [compare view](https://github.com/plataformatec/devise/compare/v4.4.3...v4.6.2)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot ignore this [patch|minor|major] version` will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
Finally, you can contact us by mentioning @dependabot.
Bumps devise from 4.4.3 to 4.6.2. This update includes security fixes.
Vulnerabilities fixed
*Sourced from [The Ruby Advisory Database](https://github.com/rubysec/ruby-advisory-db/blob/master/gems/devise/CVE-2019-5421.yml).* > **Devise Gem for Ruby Time-of-check Time-of-use race condition with lockable module** > Devise ruby gem before 4.6.0 when the `lockable` module is used is vulnerable to a > time-of-check time-of-use (TOCTOU) race condition due to `increment_failed_attempts` > within the `Devise::Models::Lockable` class not being concurrency safe. > > Patched versions: >= 4.6.0 > Unaffected versions: noneChangelog
*Sourced from [devise's changelog](https://github.com/plataformatec/devise/blob/master/CHANGELOG.md).* > ### 4.6.2 - 2019-03-26 > > * bug fixes > * Revert "Set `encrypted_password` to `nil` when `password` is set to `nil`" since it broke backward compatibility with existing applications. See more on https://github-redirect.dependabot.com/plataformatec/devise/issues/5033#issuecomment-476386275 (by [@mracos](https://github.com/mracos)) > > ### 4.6.1 - 2019-02-11 > > * bug fixes > * Check if `root_path` is defined with `#respond_to?` instead of `#present` (by [@tegon](https://github.com/tegon)) > > ### 4.6.0 - 2019-02-07 > > * enhancements > * Allow to skip email and password change notifications (by [@iorme1](https://github.com/iorme1)) > * Include the use of `nil` for `allow_unconfirmed_access_for` in the docs (by [@joaumg](https://github.com/joaumg)) > * Ignore useless files into the `.gem` file (by [@huacnlee](https://github.com/huacnlee)) > * Explain the code that prevents enumeration attacks inside `Devise::Strategies::DatabaseAuthenticatable` (by [@tegon](https://github.com/tegon)) > * Refactor the `devise_error_messages!` helper to render a partial (by [@prograhamer](https://github.com/prograhamer)) > * Add an option (`Devise.sign_in_after_change_password`) to not automatically sign in a user after changing a password (by [@knjko](https://github.com/knjko)) > > * bug fixes > * Fix missing comma in Simple Form generator (by [@colinross](https://github.com/colinross)) > * Fix error with migration generator in Rails 6 (by [@oystersauce8](https://github.com/oystersauce8)) > * Set `encrypted_password` to `nil` when `password` is set to `nil` (by [@sivagollapalli](https://github.com/sivagollapalli)) > * Consider whether the request supports flash messages inside `Devise::Controllers::Helpers#is_flashing_format?` (by [@colinross](https://github.com/colinross)) > * Fix typo inside `Devise::Generators::ControllersGenerator` (by [@kopylovvlad](https://github.com/kopylovvlad)) > * Sanitize parameters inside `Devise::Models::Authenticatable#find_or_initialize_with_errors` (by [@rlue](https://github.com/rlue)) > * `#after_database_authentication` callback was not called after authentication on password reset (by [@kanmaniselvan](https://github.com/kanmaniselvan)) > * Fix corner case when `#confirmation_period_valid?` was called at the same second as `confirmation_sent_at` was set. Mostly true for date types that only have second precisions. (by [@stanhu](https://github.com/stanhu)) > * Fix unclosed `li` tag in `error_messages` partial (by [@mracos](https://github.com/mracos)) > * Fix Routes issue when devise engine is mounted in another engine on Rails versions lower than 5.1 (by [@a](https://github.com/a)-barbieri) > * Make `#increment_failed_attempts` concurrency safe (by [@tegon](https://github.com/tegon)) > * Apply Test Helper fix to Rails 6.0 as well as 5.x (by [@matthewrudy](https://github.com/matthewrudy)) > > > * deprecations > * The second argument of `DatabaseAuthenticatable`'s `#update_with_password` and `#update_without_password` is deprecated and will be removed in the next major version. It was added to support a feature deprecated in Rails 4, so you can safely remove it from your code. (by [@ihatov08](https://github.com/ihatov08)) > * The `DeviseHelper.devise_error_messages!` is deprecated and will be removed in the next major version. Use the `devise/shared/error_messages` partial instead. (by [@mracos](https://github.com/mracos)) > > ### 4.5.0 - 2018-08-15 > > * enhancements > * Use `before_action` instead of `before_filter` (by [@edenthecat](https://github.com/edenthecat)) > * Allow people to extend devise failure app, through invoking `ActiveSupport.run_load_hooks` once `Devise::FailureApp` is loaded (by [@wnm](https://github.com/wnm)) > * Use `update` instead of `update_attributes` (by [@koic](https://github.com/koic)) > * Split IP resolution from `update_tracked_fields` (by [@mckramer](https://github.com/mckramer)) > * upgrade dependencies for rails and responders (by [@lancecarlson](https://github.com/lancecarlson)) > * Add `autocomplete="new-password"` to new password fields (by [@gssbzn](https://github.com/gssbzn)) > * Add `autocomplete="current-password"` to current password fields (by [@gssbzn](https://github.com/gssbzn)) > * Remove redundant `self` from `database_authenticatable` module (by [@abhishekkanojia](https://github.com/abhishekkanojia)) > ... (truncated)Commits
- [`2e5b5fc`](https://github.com/plataformatec/devise/commit/2e5b5fcd705b06c518ab0156b96badb91c4cb6ea) Prepare for `4.6.2` release - [`241e807`](https://github.com/plataformatec/devise/commit/241e8077e366f3baa70518e4bc5e24fbbddc27dc) Update `CHANGELOG.md` [ci skip] - [`55e726e`](https://github.com/plataformatec/devise/commit/55e726e4a7a54be81c052100b5a7976dabfc90fe) Merge pull request [#5051](https://github-redirect.dependabot.com/plataformatec/devise/issues/5051) from plataformatec/mf-revert-update-encrypted-passwo... - [`f9d13f0`](https://github.com/plataformatec/devise/commit/f9d13f015a80ca25713d30a49312390db390229d) Revert "[#4245] Allowing password to nil ([#4261](https://github-redirect.dependabot.com/plataformatec/devise/issues/4261))" - [`e704221`](https://github.com/plataformatec/devise/commit/e704221842cccf37d6867d1da3f88019748d94dc) Revert "Add more tests ([#4970](https://github-redirect.dependabot.com/plataformatec/devise/issues/4970))" - [`2a6d608`](https://github.com/plataformatec/devise/commit/2a6d608bd85db3bda9755403049ab115c7aa5b03) Merge pull request [#5050](https://github-redirect.dependabot.com/plataformatec/devise/issues/5050) from softwaregravy/patch-1 - [`b2dc388`](https://github.com/plataformatec/devise/commit/b2dc388556aa882048a1ab1ca142721cb53e2037) Fix dead link - [`214ce91`](https://github.com/plataformatec/devise/commit/214ce91bf7fdf17014c2d938d95f2a80fb676e19) Merge pull request [#5045](https://github-redirect.dependabot.com/plataformatec/devise/issues/5045) from matheusbn/small-text-fix-in-strategies/authenti... - [`a460d79`](https://github.com/plataformatec/devise/commit/a460d79b0889d90c6bd1eb9c69755bc2720761ba) fix text redundancy - [`2f3a596`](https://github.com/plataformatec/devise/commit/2f3a59640b39c28934ae5dfce64d600f3f07bf17) Added mention of API mode complications to README ([#5041](https://github-redirect.dependabot.com/plataformatec/devise/issues/5041)) [ci skip] - Additional commits viewable in [compare view](https://github.com/plataformatec/devise/compare/v4.4.3...v4.6.2)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot ignore this [patch|minor|major] version` will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Automerge options (never/patch/minor, and dev/runtime dependencies) - Pull request limits (per update run and/or open at any time) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired) Finally, you can contact us by mentioning @dependabot.