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.
🚨 We recommend to merge and deploy this update as soon as possible! 🚨
Here is everything you need to know about this update. Please take a good look at what changed and the test results before merging this pull request.
#after_database_authentication callback was not called after authentication on password reset (by @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)
Fix unclosed li tag in error_messages partial (by @mracos)
Fix Routes issue when devise engine is mounted in another engine on Rails versions lower than 5.1 (by @a-barbieri)
Make #increment_failed_attempts concurrency safe (by @tegon)
Apply Test Helper fix to Rails 6.0 as well as 5.x (by @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)
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)
Make public Loofah::HTML5::Scrub.force_correct_attribute_escaping!,
which was previously a private method. This is so that downstream gems
(like rails-html-sanitizer) can use this logic directly for their own
attribute scrubbers should they need to address CVE-2018-8048.
[MRI] During installation, handle Xcode 10's new library pathOS. [#1801, #1851] (Thanks, @mlj and @deepj!)
Avoid unnecessary creation of Procs in many methods. [#1776] (Thanks, @chopraanmol1!)
Bug fixes
CSS selector :has() now correctly matches against any descendant. Previously this selector matched against only direct children). [#350] (Thanks, @Phrogz!)
NodeSet#attr now returns nil if it's empty. Previously this raised a NoMethodError.
[MRI] XPath errors are no longer suppressed during XSLT::Stylesheet#transform. Previously these errors were suppressed which led to silent failures and a subsequent segfault. [#1802]
Fix a bug introduced in v1.9.0 where XML::DocumentFragment#dup no longer returned an instance of the callee's class, instead always returning an XML::DocumentFragment. This notably broke any subclass of XML::DocumentFragment including HTML::DocumentFragment as well as the Loofah gem's Loofah::HTML::DocumentFragment. [#1846]
The first release in the 1.0.0 series. 🎉 For the 1.x releases, we will follow Semantic Versioning very strictly; please keep this in mind when submitting fixes/suggesting changes.
Breaking changes:
Always set CONTENT_TYPE for non-GET requests
(Per Lundberg #223)
Minor enhancements / bug fixes:
Create tempfile using the basename without extension
(Edouard Chin #201)
Save session during follow_redirect!
(Alexander Popov #218)
Document how to use URL params with DELETE method
(Timur Platonov #220)
Support recursively (deep) freezing Country and Timezone instances. #80.
Allow negative daylight savings time offsets to be derived when reading from zoneinfo files. The utc_offset and std_offset are now derived correctly for Europe/Dublin in the 2018a and 2018b releases of the Time Zone Database.
Depfu will automatically keep this PR conflict-free, as long as you don't add any commits to this branch yourself. You can also trigger a rebase manually by commenting with @depfu rebase.
All Depfu comment commands
@depfu rebase
Rebases against your default branch and redoes this update
@depfu merge
Merges this PR once your tests are passing and conflicts are resolved
@depfu reopen
Restores the branch and reopens this PR (if it's closed)
@depfu pause
Ignores all future updates for this dependency and closes this PR
@depfu pause [minor|major]
Ignores all future minor/major updates for this dependency and closes this PR
@depfu resume
Future versions of this dependency will create PRs again (leaves this PR as is)
🚨 Your version of devise has known security vulnerabilities 🚨
Advisory: CVE-2019-5421 Disclosed: February 07, 2019 URL: https://github.com/plataformatec/devise/issues/4981
Devise Gem for Ruby Time-of-check Time-of-use race condition with lockable module
🚨 We recommend to merge and deploy this update as soon as possible! 🚨
Here is everything you need to know about this update. Please take a good look at what changed and the test results before merging this pull request.
What changed?
✳️ devise (4.4.1 → 4.6.1) · Repo · Changelog
Release Notes
4.6.1 (from changelog)
4.6.0 (from changelog)
Does any of this look wrong? Please let us know.
Commits
See the full diff on Github. The new version differs by more commits than we can show here.
↗️ bcrypt (indirect, 3.1.11 → 3.1.12) · Repo · Changelog
Release Notes
3.1.12
Does any of this look wrong? Please let us know.
Commits
See the full diff on Github. The new version differs by 20 commits:
Merge pull request #172 from codahale/gem_3-1-12-rc
3.1.12 final
RC for 3.1.12 release
Merge pull request #164 from besser82/libxcrypt
Merge pull request #171 from codahale/windows_ci
Use AppVeyor for testing Windows gem installs
Merge branch 'master' into libxcrypt
Merge pull request #167 from codahale/update-lockfile
Use RBX 3
Try updating Bundler too
Merge branch 'master' into update-lockfile
Merge pull request #169 from codahale/travis_more_rubies
Test on more Rubies in CI; looser version definition
Update RG and see if that fixes the build
bcrypt_ext: Add compatibility with libxcrypt
Update lockfile so newer Ruby works with JSON gem
Merge pull request #159 from cbrnrd/patch-1
Add syntax highlighting where applicable
Merge pull request #136 from remvee/fix/remove-forgot-password-example
Remove Rails forgot password example
↗️ concurrent-ruby (indirect, 1.0.5 → 1.1.5) · Repo · Changelog
Release Notes
1.1.5 (from changelog)
1.1.4 (from changelog)
1.1.0
Does any of this look wrong? Please let us know.
Commits
See the full diff on Github. The new version differs by more commits than we can show here.
↗️ crass (indirect, 1.0.3 → 1.0.4) · Repo · Changelog
Release Notes
1.0.4
Does any of this look wrong? Please let us know.
Commits
See the full diff on Github. The new version differs by 5 commits:
chore: Release 1.0.4
chore: Enable warnings when running tests
Address `warning: mismatched indentations at 'when' with 'case'`
Merge pull request #6 from nicolasleger/patch-1
[CI] Test against Ruby 2.5
↗️ erubi (indirect, 1.7.0 → 1.8.0) · Repo · Changelog
Release Notes
1.8.0 (from changelog)
Does any of this look wrong? Please let us know.
Commits
See the full diff on Github. The new version differs by 18 commits:
Bump version to 1.8.0
Fix and expand on documentation for :yield_returns_buffer
Rename return_buffer option to yield_returns_buffer
Modify test to work with new :return_buffer behavior
Flip `result` and `code` for :return_buffer option
Disable minitest plugins when testing
Modify spec to show how :return_buffer can be used when modifying buffers
Simplify test in attempt to get 1.8.7 passing
Add return_buffer option to CaptureEndEngine
Update the README with an example of how to write a method that works with capture_end (Fixes #15)
Remove has_rdoc from gemspec, since it is deprecated
Bump version to 1.7.1
Remove one difference from README
Minor tweak to README
Bump copyright year
Make whitespace handling for <%# %> tags more compatible with Erubis (Fixes #14)
Test on ruby 2.5 on Travis
remove unnecessary ternary operation
↗️ i18n (indirect, 0.9.3 → 0.9.5) · Repo · Changelog
Release Notes
0.9.5
0.9.4
Does any of this look wrong? Please let us know.
↗️ loofah (indirect, 2.1.1 → 2.2.3) · Repo · Changelog
Release Notes
2.2.3
2.2.2
Does any of this look wrong? Please let us know.
Commits
See the full diff on Github. The new version differs by 52 commits:
version bump to v2.2.3 and update CHANGELOG
remove the svg animate attribute `from` from the allowlist
add formatting to CHANGELOG
updated mailing list to a new Google Group
extract msword html data into an asset file
version bump to 2.2.2
Make public `force_correct_attribute_escaping!`
use VersionInfo.instance
version bump to 2.2.1
update Manifest.txt and CHANGELOG.md
Merge branch 'flavorjones-remediate-attribute-escaping'
tests and fix for CVE-2018-8048
SECURITY.md to publish vuln reporting process
bump the fake gemspec
fix remaining rdoc format in README
fix Hoe config to use README.md
version bump to v2.2.0
finishes previous logical commit
convert README from rdoc to markdown
remove travis config
update CHANGELOG
Merge pull request #142 from eventfuel/added_list_type_style_to_css_props
whitelist CSS function `rgb`
Added list-type-style as a safe CSS property to whitelist by default (replacement for PR #137)
Merge branch 'pr136-block-level'
update CHANGELOG
tidy elements.rb, cover html5 block elements
update CHANGELOG
Merge pull request #123 from eventfuel/enable_whitelisting_css_functions
Merge pull request #141 from david-a-wheeler/doc-xxe
Merge pull request #138 from rmacklin/fix-inaccurate-example-in-readme
concourse: fix rubinius builds
Document doesn't use dangerous Nokogiri config
Fix inaccurate example in README
add html5 block-level elements
frozen-string-literal support in tests
update CHANGELOG
Merge branch '127-nested-script-tags'
handle nested script tags
update CHANGELOG
Merge pull request #131 from baopham/add-symbol
update CHANGELOG
Merge pull request #134 from MothOnMars/whitelist_main
whitelist HTML5 <main> element
concourse: remove serialness of PR builds
concourse: run PRs on all MRIs
nest non-spec tests to avoid duplicate test runs
Add symbol to list of SVG_ELEMENTS
Merge pull request #126 from aried3r/patch-1
Update CHANGELOG.md
concourse: add windows tests
jruby shouldn't be a blocker to PR success for now
↗️ method_source (indirect, 0.9.0 → 0.9.2) · Repo
Commits
See the full diff on Github. The new version differs by 12 commits:
Merge pull request #55 from banister/release-0-9-2
Release v0.9.2
Merge pull request #54 from banister/52-jruby-patch-removal
Revert "method_source: fix broken Procs on JRuby 9.2.0.0"
bump version number to 0.9.1
Merge pull request #51 from kyrylo/jruby-9200-fix
method_source: fix broken Procs on JRuby 9.2.0.0
Merge pull request #50 from mensfeld/master
remove gemfile lock
license for the gemspec
tweaks to .travis.yml
Run rake gemspec task to bump gemspec data (incl version number)
↗️ mini_portile2 (indirect, 2.3.0 → 2.4.0) · Repo · Changelog
Commits
See the full diff on Github. The new version differs by 10 commits:
version bump to v2.4.0
update CHANGELOG in preparation for v2.4.0
update dev dependencies
Merge pull request #86 from eagletmt/skip-progress-when-chunked
Merge pull request #87 from halfbyte/patch-1
Make version in changelog fit release version.
Skip progress report when Content-Length is unavailable
update test:examples to libiconv 1.15
concourse: test most-recent two rubies
convert to using windows-ruby-dev-tools-release
↗️ minitest (indirect, 5.11.1 → 5.11.3) · Repo · Changelog
↗️ nokogiri (indirect, 1.8.1 → 1.10.1) · Repo · Changelog
Release Notes
1.10.1
1.10.0
1.9.1
1.9.0
Does any of this look wrong? Please let us know.
Commits
See the full diff on Github. The new version differs by more commits than we can show here.
↗️ rack (indirect, 2.0.3 → 2.0.6) · Repo · Changelog
Commits
See the full diff on Github. The new version differs by 19 commits:
Bumping version for release
Whitelist http/https schemes
Reduce buffer size to avoid pathological parsing
Merge tag '2.0.5' into 2-0-stable
Merge pull request #1296 from tomelm/fix-prefers-plaintext
Bump version for release
Merge pull request #1268 from eileencodes/forwardport-pr-1249-to-2-0-stable
Merge pull request #1249 from mclark/handle-invalid-method-parameters
Stick with a passing version of Rubygems and bundler
Leahize
Bumping version
webrick: remove concurrent-ruby dev dependency
Merge pull request #1190 from hugoabonizio/master
Merge pull request #1193 from tompng/multipart_less_memory
Merge pull request #1192 from jkowens/master
Merge pull request #1179 from tompng/master
Merge pull request #1151 from cremno/simplify-some-string-creations
Merge pull request #1189 from lugray/fix_rack_lock
Require the right file for the digest we're using
↗️ rack-test (indirect, 0.8.2 → 1.1.0) · Repo · Changelog
Release Notes
1.1.0
1.0.0
0.8.3
Does any of this look wrong? Please let us know.
Commits
See the full diff on Github. The new version differs by 20 commits:
Release 1.1.0
Add simplecov (#227)
Follow relative locations correctly. Fixes #228 (#230)
follow_direct: Include rack.session.options (#233)
Added configuration for Stale (#232)
Release v1.0.0
Create tempfile using the basename without extension: (#201)
Always set CONTENT_TYPE for non-GET requests (#223)
README.md: Removed 'require' in Gemfile
Added missing 0.8.3 commit
RFC 6265 adjustment: Delimit cookies by semicolon and single space (#221)
History.md: Added note about #220
Document how to use URL params with DELETE method (#220)
:cop: Exclude bin/ in Rubocop
Save `session` during `follow_redirect!` (#218)
README.md: Add note about Capybara incompatibility
Do not set Content-Type if params are explicitly set to nil (#212)
:cop: Change the BlockDelimieter setting
[CI] Test against Ruby 2.5 (#217)
Fix UploadedFile#new regression (#215)
↗️ rails-html-sanitizer (indirect, 1.0.3 → 1.0.4) · Repo · Changelog
Commits
See the full diff on Github. The new version differs by 16 commits:
Prepare to 1.0.4 release
Make sure we address CVE-2018-8048
Remove rbx since it doesn't seem to install.
Merge pull request #66 from fschwahn/improve-tests
Fix deprecation warning from Minitest
Make tests pass again with recent nokogiri versions
Rename test to better reflect what is actually tested
typos
We're still testing against ruby 1.9 and 2.0 that aren't supported by nokogiri 1.7
activesupport 5 doesn't support ruby < 2.2.2 that are still tested in this repo
bundle with the newest released bundler
Test against newer released rubies
[ci skip] Remove faulty overrides in scrubber example.
[ci skip] Change override method in PermitScrubber.
Merge pull request #47 from pvalena/patch-1
Correct license filename
↗️ rake (indirect, 12.3.0 → 12.3.2) · Repo · Changelog
Commits
See the full diff on Github. The new version differs by more commits than we can show here.
↗️ responders (indirect, 2.4.0 → 2.4.1) · Repo · Changelog
Release Notes
2.4.1 (from changelog)
Does any of this look wrong? Please let us know.
Commits
See the full diff on Github. The new version differs by 15 commits:
Prepare for `2.4.1` release
Merge pull request #201 from plataformatec/revert-197-rails_6_undefined_local_variable_or_method_mimes_for_respond_to
Revert "Allow rails 6"
Merge pull request #197 from oystersauce8/rails_6_undefined_local_variable_or_method_mimes_for_respond_to
Merge pull request #199 from jfeaver/patch-1
use "these" for plural noun phrase
Allow rails 6
Merge pull request #188 from Fudoshiki/master
change travis matrix
change right border
Allow rails 6
Merge pull request #185 from uuushiro/master
fix typo
Merge pull request #183 from amatsuda/https
GitHub is HTTPS by default
↗️ thor (indirect, 0.20.0 → 0.20.3) · Repo · Changelog
Commits
See the full diff on Github. The new version differs by 73 commits:
Prepare to 0.20.3
Merge pull request #637 from y-yagi/add_care_of_old_did_you_mean
Add care about old version of `did_you_mean`
Prepare to 0.20.2 release
Merge pull request #636 from y-yagi/fixes_build
Remove the globally installed gem by rvm
Run command with bundle exec
Make sure did_you_mean feature works when the gem is available
Prepare to 0.20.1 release
Merge pull request #630 from kddeisz/did-you-mean
Merge pull request #628 from deivid-rodriguez/abort_on_failure
Merge pull request #629 from deivid-rodriguez/fix_warnings
Fix up keyword argument usage in did_you_mean for ruby 1.8
Fix up did_you_mean on older ruby versions
Support did-you-mean functionality in thor
Fix "warning: setting Encoding.default_external"
Add `abort_on_failure` option to #run action
Remove unused stuff
Fix "warning: assigned but unused variable - junk"
Merge pull request #616 from Choms/master
Re-add version
Merge pull request #623 from marcandre/remove_dup
Remove duplicate option creation in spec
Delete version.rb
Merge pull request #620 from MaxLap/fix-invalid-path-display
Fix relative_to_original_destination_root and better tests
Remove the root path from the absolute path only once
Merge pull request #618 from MaxLap/fix_check_unknown
Merge pull request #589 from pocke/correct-lineno
Fix check_unknown_options! when parsing gets stopped
Fix indent calculation
Small change to use more of the terminal size
Fix print_wrapped to properly parse "\x5" newline character
Merge pull request #610 from deivid-rodriguez/skip_exit_status_specs_on_1.8.7
Document possible attack vector on `get`
Merge pull request #611 from bosoxbill/doc-for-cve-2016-10545
Add open-uri reference
Add language about how not to use Thor
Skip exit status specs on 1.8.7
Merge pull request #578 from jmax315/master
Merge pull request #608 from y-yagi/fix_typo_in_inject_into_module_test
Fix typo in `inject_into_module` test
Merge pull request #605 from y-yagi/add_merge_action_to_file_collision
Merge pull request #606 from y-yagi/remove_gemnasium_badge
Remove Gemnasium badge
Merge pull request #604 from y-yagi/test_against_latest_rubies
Add `merge` action to file colision menu
Test against latest Rubies
Merge pull request #600 from jonathanhefner/fix-comment-regex
Merge pull request #601 from pallan/patch-1
Updates method documentation for ask
Fix comment_lines regexp
Merge pull request #599 from utilum/identifiy_future_ERB_versions
Make sure future versions of ERB are invoked appropriately
Merge pull request #594 from koic/deprecate_safe_level_of_erb_new_in_ruby_2_6
Merge pull request #598 from yahonda/diag595
Address #595 by duplicating string objects
Deprecate safe_level of ERB.new in Ruby 2.6
Use correct line numbers for `class_eval` and `module_eval` methods
Merge pull request #586 from hsbt/fix-misspell
Fixed misspelling words.
Merge pull request #584 from lostapathy/bump_travis_versions
Merge pull request #583 from lostapathy/fix_travis
update ruby version in travis config
lock hashdiff to <0.3.6 to fix travis
Fix incorrect use of Process::exit. This fixes open issue #244.
Merge pull request #576 from sshaw/master
require open-uri when loading http template
Merge pull request #572 from sschuberth/master
Introduce a constant for the default terminal width
Merge pull request #568 from segiddins/seg-hash-fetch-tests
Add more tests for HashWithIndifferentAccess#fetch
Release should use invoke not execute
↗️ tzinfo (indirect, 1.2.4 → 1.2.5) · Repo · Changelog
Release Notes
1.2.5
Does any of this look wrong? Please let us know.
Commits
See the full diff on Github. The new version differs by 10 commits:
Preparing v1.2.5.
Update copyright years.
Use Ruby 1.8 compatible syntax.
Document that utc_offset and std_offset may be inaccurate with zoneinfo.
Allow zoneinfo offset derivation to pick a negative std_offset.
Don't store lazily-evaluated results if the object has been frozen.
Remove unnecessary calls to Country.get in tests.
Restore $SAFE after running a safe mode test (if possible).
Disable Minitest's use of external diff tools during safe mode tests.
Add Ruby 2.5.0 and update to the latest Ruby, JRuby and Rbx releases.
↗️ warden (indirect, 1.2.7 → 1.2.8) · Repo · Changelog
Depfu will automatically keep this PR conflict-free, as long as you don't add any commits to this branch yourself. You can also trigger a rebase manually by commenting with
@depfu rebase
.All Depfu comment commands