Releases: thoughtbot/clearance
Releases · thoughtbot/clearance
v2.5.0
[2.5.0] - September 10, 2021
Fixed
- Fix open redirect vulnerability
Changed
- Rename default branch to
main
v2.4.0
v2.3.1
Fixed
- Support for accessing Rails 6.x primary_key_type in generator.
- Fix password reset URLs when using a custom model
- Fix flaky test that relied on too specific time delta
- Revert case sensitivity for email uniqueness
- Bump nokogiri and actionview dependencies to address security vulnerabilities
v2.3.0
2.3.0 - August 14, 2020
Fixed
- Delete cookie correctly when a callable object is set as the custom domain
setting. - Strip
as
parameter when signing in through the back door. - Remove broken autoload for deprecated password strategies.
Changed
- Deliver password reset email inline rather than in the background.
- Remove unnecessary unsafe interpolation in erb templates.
v2.2.1
v2.2.0
Added
- Add an Argon2 password strategy
Fixed
- Use strings instead of classes on guard classes, avoids Rails deprecation
warning. - Use
find_by
style for finders, improves neo4j support - Provide explicit case sensitivity option for email uniqueness, avoid Rails
deprecation warning.
v2.1.0
Added
- Add a
parent_controller
configuration option to specify the controller that
Clearance'sBaseController
will inherit from. Defaults to a value of
ApplicationController
. - Use the configured
primary_key_type
from the Active Record settings of the
project including Clearance, if it is set, while generating migrations. For
example, a setting of:uuid
in a Rails app using Clearance will cause the
clearance-generated migrations to use this for theusers
table id type.
Fixed
- Delete cookies correctly when a custom domain setting is being used.
- Do not set the authorization cookie on requests which did not exercise the
authorization code. Reduces the chances of leaving an auth cookie in a
publicly cacheable page that didn't require authorization to access.
Changed
- Update the
email_validator
gem to a newer version embrace the more relaxed
email validation options which it now defaults to. - When a password reset request is submitted without an email address, a flash
alert is now provided. Previously this continued silently as though it had
worked. We still proceed that way when there is an invalid (but present)
value, so as not to reveal existent vs. non-existent emails in the database.
Removed
- Remove an unused route to
passwords#create
nested underusers
. - No longer include the (rarely used in practice) application layout as part of
the views installer; but continue to provide some stock sign-in/out and flash
partial code in the gem installation README output.
Deprecated
- Remove the existing deprecation notice around the
rotate_csrf_on_sign_in
setting, and make that setting default to true.
v2.0.0
Added
- Add support for Rails version 6
- Allow
cookie_domain
to be configured with a lambda for custom configuration - Add ability to configure BCrypt computational cost of hash calculation.
- Add
same_site
configuration option for increased CSRF protection.
Fixed
- Fix issue where invalid params could raise
NoMethodError
when updating and
resetting passwords. - The backdoor auth mechanism now supports scenarios where
Rails.env
has been
configured via env variables other thanRAILS_ENV
(RACK_ENV
for example).
Removed
- Removed support for Ruby versions older than 2.4
- Removed support for Rails versions older than 5.0
- Removed all deprecated code from Clearance 1.x
Changed
- Flash messages now use
flash[:alert]
rather thanflash[:notice]
as they
were used as errors more often than notices.
v1.17.0
Changed
- Update the
HttpOnly
cookie setting for the remember token to default to
true, which prevents the value from being available to JavaScript. - Add configuration option to allow the auth backdoor to work in specified
environments (defaults totest
,development
,ci
).
v1.16.2
Fixed
- Added missing translation keys
- Fix issue where a cookie value could be set more than once when interacting
with thehttponly
option
Changed
- Remove Rails as a dependency so that clearance does not trigger a cascade of
requirements as rails pulls in every framework. Instead, depend on just the
frameworks relevant to Clearance. - Prevent
Clearance::BackDoor
from being used outside the "test" environment.