Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Dec 2, 2025

This PR contains the following updates:

Package Change Age Confidence Type Update
github.com/moov-io/iso8583 v0.23.5 -> v0.25.1 age confidence require minor
go (source) 1.25.4 -> 1.25.5 age confidence toolchain patch

Release Notes

moov-io/iso8583 (github.com/moov-io/iso8583)

v0.25.1

Compare Source

What's Changed

  • allow preserving unknown fields instead of discarding them by @​alovak in #​397

Full Changelog: moov-io/iso8583@v0.25.0...v0.25.1

v0.25.0

Compare Source

v0.24.0

Compare Source

What's Changed

Lazy load field by @​alovak in #​392

Performance Improvements

Lazy field loading delivers significant performance gains:

Operation Time Memory Allocations
Marshal -27% -33% -10%
Unpack -29% -28% -5%

Fields are now created on-demand rather than pre-allocated from the specification. Only fields actually used in a message consume memory.

In production scenarios where specs define many more fields than individual message types use, improvements across all metrics can exceed 80%.

Features

  • Lazy field instantiation: Fields are created only when needed via internal getOrCreateField() and createField() methods
  • New Instantiator interface: Allows custom field types to define their own instantiation logic via NewInstance() method
⚠️ Breaking Changes
  1. Partial unpacking on failure: When unpacking fails on a field, that field is now created on the message/composite with its zero value, whereas previously it wasn't created at all. This allows partial data recovery but changes behavior for error handling code that checks field presence.

  2. Error message changes: Several error messages have been updated for clarity:

    • "field X does not exist" → "field X is not defined in the spec"
    • "no specification found" → "is not defined in the spec"
    • Error messages now include additional context
  3. Removed exported APIs:

    • CompositeWithSubfields interface
    • ConstructSubfields() method on Composite
    • CreateSubfield() function
    • CreateSubfields() function

Full Changelog: moov-io/iso8583@v0.23.5...v0.24.0

golang/go (go)

v1.25.5


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot changed the title fix(deps): update module github.com/moov-io/iso8583 to v0.24.0 fix(deps): update all Dec 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant