Skip to content

Bump active_storage_validations from 4.1.0 to 4.1.1 - #4534

Merged
github-actions[bot] merged 1 commit into
mainfrom
dependabot/bundler/active_storage_validations-4.1.1
Sep 7, 2026
Merged

Bump active_storage_validations from 4.1.0 to 4.1.1#4534
github-actions[bot] merged 1 commit into
mainfrom
dependabot/bundler/active_storage_validations-4.1.1

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 7, 2026

Copy link
Copy Markdown
Contributor

Bumps active_storage_validations from 4.1.0 to 4.1.1.

Changelog

Sourced from active_storage_validations's changelog.

  • 4.1.1
    • FIXED
      • Fix size / metadata matchers raising on Minitest 6 after Minitest::Mock was extracted (igorkasyanchuk/active_storage_validations#430). Matchers now stub via a singleton method and do not need minitest-mock
      • Fix Swedish aspect_ratio interpolation placeholders (authorized_aspect_ratios)
      • Fix filename error option for UploadedFile / File / Pathname attachables
      • Fix with_audio rejecting audio files: the audio analyzer now reports an audio metadata key, so with_audio works on audio attachments and not only on videos
      • Fix metadata analysis running again on every validation when the analyzer cannot extract the requested key (e.g. duration on an image). Unavailable metadata is now memoized on the blob, so those files are analyzed once. Files that yield no metadata at all (missing command-line tool, timed out command, unreadable file) are still retried
      • Fix processable_file accepting unprocessable files when content_type with spoofing_protection was declared on the same attribute. The cached asv_content_type counted as a successful analysis, so the media analyzer never ran. Content-type keys are no longer visible to the metadata validators
      • Fix duration rejecting media shorter than one second. The guard meant to catch unreadable metadata truncated the duration to an integer, so a 0.5s file reported media_metadata_missing instead of being compared against the bounds
      • Fix content_type and aspect_ratio keeping per-validation state on the validator instance. Active Model reuses one validator per class across threads, so concurrent validations could report another record's content type or aspect ratio — and, with spoofing_protection, compare a file against another file's detected type
      • Fix PDF first-page dimensions for sizes with two or more fractional digits (e.g. A4 595.276 x 841.89). The pdfinfo parser used to split extra digits into a second number, so height became 8
      • Fix ImageAnalyzer support cache being keyed by instance. A new analyzer is built per attachable, so the cache never hit and retained every instance (and its attachable) for the process lifetime. It is now keyed by analyzer class
      • Fix validate_limits_of / validate_processable_file_of #allow_blank being a no-op (the matchers included the concern but never called it). #allow_blank now checks the validator option
      • Fix comparison matcher #equal_to matching looser bounds (e.g. less_than_or_equal_to). It now also requires exact ± the smallest unit to fail
      • Fix comparison matchers #less_than_or_equal_to / #greater_than_or_equal_to / #between matching exclusive bounds (e.g. less_than). They now require the inclusive endpoint itself to pass
      • Stop inserting an active_storage_blobs row from a bare valid? on a new record. asv_* metadata stays in memory on the unsaved blob and is written when the record is saved. Already-persisted blobs still save! so the cache survives reload
  • MISC
    • Add a locale key / interpolation contract spec; include ru in I18n.available_locales
    • Clarify why file_field skips Proc content_type options when inferring the HTML accept attribute
    • Document the analyze.active_storage_validations notification alongside timeout.active_storage_validations
    • Remove an unreachable de-duplication guard in ASVErrorable#add_error; every offending file already gets its own error
    • Resolve the declared content type once per attachable instead of twice, saving a find_signed! query for attachables passed as a signed id
    • Collapse attachable type dispatch (Blob / UploadedFile / Hash / File / Pathname / signed id) into ASVAttachableAdapter used by validators, analyzers, and error filenames
    • Add Dependabot for GitHub Actions and the root Gemfile; upload SimpleCov from the Ruby 3.4 / Rails 8.1 / vips CI job (artifact only; Codecov upload removed)
    • Bump CI GitHub Actions to latest majors (actions/checkout@v7, actions/upload-artifact@v7)
    • Bump development gems (mini_magick, rubocop, rubocop-performance, simplecov, sqlite3, webmock, vernier) and the local Rails pin to 8.1.3.1
    • Remove invalid validate_attached_of(...).allow_blank matcher example (attached rejects :allow_blank)
    • Align bench workflow Actions with CI (checkout / upload-artifact v7); pin Magika CLI to cli/v1.1.0; run apt-get update once per job
    • Raise CommandLineToolNotInstalledError from a shared ContentTypeAnalyzer ancestor so both file and magika backends can be rescued together
    • Fail the suite when SimpleCov line coverage drops below 50% (spec/spec_helper.rb)
Commits

Dependabot compatibility score

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 show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor 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)

Bumps [active_storage_validations](https://github.com/igorkasyanchuk/active_storage_validations) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/igorkasyanchuk/active_storage_validations/releases)
- [Changelog](https://github.com/igorkasyanchuk/active_storage_validations/blob/master/CHANGES.md)
- [Commits](https://github.com/igorkasyanchuk/active_storage_validations/commits)

---
updated-dependencies:
- dependency-name: active_storage_validations
  dependency-version: 4.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file ruby Pull requests that update Ruby code labels Sep 7, 2026
@github-actions
github-actions Bot enabled auto-merge (squash) September 7, 2026 00:25
@github-actions
github-actions Bot merged commit d6a8483 into main Sep 7, 2026
3 checks passed
@github-actions
github-actions Bot deleted the dependabot/bundler/active_storage_validations-4.1.1 branch September 7, 2026 00:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file ruby Pull requests that update Ruby code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants