Skip to content

Bump nom-exif from 2.8.0 to 3.5.0#732

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/nom-exif-3.5.0
Closed

Bump nom-exif from 2.8.0 to 3.5.0#732
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/nom-exif-3.5.0

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github May 25, 2026

Bumps nom-exif from 2.8.0 to 3.5.0.

Release notes

Sourced from nom-exif's releases.

v3.5.0

Added

  • CameraSerialNumber EXIF tag (0xa431). Standard EXIF tag for the camera body serial number. #56

  • LensSerialNumber EXIF tag (0xa435). Standard EXIF tag for the lens serial number. #57


Full changelog: CHANGELOG.md · crates.io: nom-exif 3.5.0

v3.4.2

Fixed

  • Streaming PNG parsing for files with non-trivial IDAT — every real-world PNG (i.e. anything beyond a stripped-down test fixture) surfaced malformed iso-bmff box: PNG: bad signature from parse_exif / parse_image_metadata. Root cause was a two-part bug in the chunk walker: (a) ClearAndSkip(total - remaining) under-requested the skip distance by exactly cursor + remaining bytes — semantically the caller should advance the parser's logical position by cursor + total, not just past the buffer's end — leaving the parser stranded mid-IDAT; (b) on the resumed call extract_chunks always re-validated buf[..8] against the PNG signature, but the resumed buffer started mid-stream and the check failed. Fixed both: skip request is now cursor + total, and a new ParsingState::PngPastSignature tells the resumed call to skip the signature check. In-memory mode (from_memory) was unaffected because the full file is buffered at once and ClearAndSkip never fires. Fixes #55.

Fixed (behaviour)

  • Error::Malformed.kind correctly identifies the failing structural unit. Previously every parse failure that flowed through From<ParsedError> for Error or From<nom::Err<...>> for Error was hard-coded as MalformedKind::IsoBmffBox / MalformedKind::TiffHeader respectively — misleading for PNG / JPEG / EBML inputs. The MalformedKind is now threaded through ParsingError::Failed, ParsedError::Failed, and LoopAction::Failed, and surfaced unchanged at the Error boundary. Downstream code that (incorrectly) matched on kind == IsoBmffBox to catch any parse failure will need updating; conformant code that uses a _ => arm (required by #[non_exhaustive]) is unaffected.

Added

... (truncated)

Changelog

Sourced from nom-exif's changelog.

nom-exif v3.5.0 (2026-05-23)

Added

  • CameraSerialNumber EXIF tag (0xa431). Standard EXIF tag for the camera body serial number. #56

  • LensSerialNumber EXIF tag (0xa435). Standard EXIF tag for the lens serial number. #57

nom-exif v3.4.2 (2026-05-20)

Fixed

  • Streaming PNG parsing for files with non-trivial IDAT — every real-world PNG (i.e. anything beyond a stripped-down test fixture) surfaced malformed iso-bmff box: PNG: bad signature from parse_exif / parse_image_metadata. Root cause was a two-part bug in the chunk walker: (a) ClearAndSkip(total - remaining) under-requested the skip distance by exactly cursor + remaining bytes — semantically the caller should advance the parser's logical position by cursor + total, not just past the buffer's end — leaving the parser stranded mid-IDAT; (b) on the resumed call extract_chunks always re-validated buf[..8] against the PNG signature, but the resumed buffer started mid-stream and the check failed. Fixed both: skip request is now cursor + total, and a new ParsingState::PngPastSignature tells the resumed call to skip the signature check. In-memory mode (from_memory) was unaffected because the full file is buffered at once and ClearAndSkip never fires. Fixes #55.

Fixed (behaviour)

  • Error::Malformed.kind correctly identifies the failing structural unit. Previously every parse failure that flowed through From<ParsedError> for Error or From<nom::Err<...>> for Error was hard-coded as MalformedKind::IsoBmffBox / MalformedKind::TiffHeader respectively — misleading for PNG / JPEG / EBML inputs. The MalformedKind is now threaded through ParsingError::Failed, ParsedError::Failed, and LoopAction::Failed, and surfaced unchanged at the Error boundary. Downstream code that (incorrectly) matched on kind == IsoBmffBox to catch any parse failure will need updating; conformant code that uses a _ => arm (required by #[non_exhaustive]) is unaffected.

Added

  • MalformedKind::PngChunk variant. MalformedKind is #[non_exhaustive], so adding a variant is non-breaking.

... (truncated)

Commits
  • acb56d1 release: nom-exif v3.5.0 (2026-05-23) — CameraSerialNumber + LensSerialNumber...
  • f0030f0 Add LensSerialNumber
  • bc139f1 Add CameraSerialNumber
  • 383d0f6 release(rexiftool): v0.2.2 — pick up nom-exif 3.4.2 PNG streaming fix
  • 22f41ab release: nom-exif v3.4.2 (2026-05-20) — PNG streaming fix + MalformedKind plu...
  • 691c2ed refactor(error): drop blanket nom::Err → Error fallback, plumb kind at each c...
  • 3100a4b fix(error): plumb MalformedKind through ParsedError, retire IsoBmffBox fallback
  • a935b87 fix(png): streaming chunk walker strands mid-IDAT on retry (#55)
  • 12de899 ci/test: address aggregate review nits
  • 41fccb3 chore(clippy): silence while_let_loop / type_complexity / single_match_else
  • Additional commits viewable in compare view

Most Recent Ignore Conditions Applied to This Pull Request
Dependency Name Ignore Conditions
nom-exif [>= 3.4.a, < 3.5]

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 [nom-exif](https://github.com/mindeng/nom-exif) from 2.8.0 to 3.5.0.
- [Release notes](https://github.com/mindeng/nom-exif/releases)
- [Changelog](https://github.com/mindeng/nom-exif/blob/main/CHANGELOG.md)
- [Commits](mindeng/nom-exif@v2.8.0...v3.5.0)

---
updated-dependencies:
- dependency-name: nom-exif
  dependency-version: 3.5.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update Rust code labels May 25, 2026
@dependabot @github
Copy link
Copy Markdown
Contributor Author

dependabot Bot commented on behalf of github May 29, 2026

Superseded by #734.

@dependabot dependabot Bot closed this May 29, 2026
@dependabot dependabot Bot deleted the dependabot/cargo/nom-exif-3.5.0 branch May 29, 2026 03:34
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 rust Pull requests that update Rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants