PackageTrack
Sign in Get early access

github.com/moov-io/iso8583

v0.26.1 #2516 most downloaded on Go modules moov-io/iso8583

What this package is like to depend on

Last release 10 days ago

13 Aug 2026

Ships fairly regularly

a new release about every 3 weeks

Rarely documented

notes for 10 of 91 stable releases

Nothing withdrawn

no release was ever pulled

6 years old

205 releases · first in 2020

16 releases in the last 12 months

see the full history below

Release timeline

205 releases · Jul 2020 to Aug 2026
2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 60 of 205
  1. v0.26.2-0.20260813235143-17f15162ffff 13 Aug 2026 pre-release

    Nothing published for this version

  2. v0.26.1 13 Aug 2026
    Release notes

    What's Changed

    • fix(composite): return error on truncated unknown TLV value instead of panicking (#415) by @SAY-5 in #416
    • test(fuzz): add native Go fuzzers for Unpack/Pack and MessageScanner by @adamdecaf in #425
    • ci(fuzz): anchor -fuzz patterns to avoid multi-match failures by @adamdecaf in #428
    • fix(specs): register missing field types and encodings in the spec builder by @andresantoniuk in #430
    • fix(composite): bounds-check unknown TLV length in skip path by @SashaMIT in #427

    New Contributors

    Full Changelog: v0.26.0...v0.26.1

    Open source →
  3. v0.26.1-0.20260807203210-38361d20b31d 07 Aug 2026 pre-release

    Nothing published for this version

  4. v0.26.1-0.20260708231246-0683146d967b 08 Jul 2026 pre-release

    Nothing published for this version

  5. v0.26.1-0.20260608220115-45c6b37cb75d 08 Jun 2026 pre-release

    Nothing published for this version

  6. v0.26.0 10 Apr 2026
    Release notes

    What's Changed

    • fix: support TagSpec TLV fields in JSON export/import by @alovak in #408
    • feat: add YAML serialization/deserialization for message specs by @alovak in #409
    • feat: add support for re-marshaling unknown TLV tags in MarshalPath by @MassimilianoPoggiQonto in #412
    • feat: add MessageScanner for partial message parsing by @alovak in #413

    New Contributors

    Full Changelog: v0.25.3...v0.26.0

    Open source →
  7. v0.25.4-0.20260325210811-dbe9f2b728d9 25 Mar 2026 pre-release

    Nothing published for this version

  8. v0.25.3 04 Mar 2026
    Release notes

    What's Changed

    • feat: add UnknownTags helper function to get skipped unknown tags by @alovak in #405

    Full Changelog: v0.25.2...v0.25.3

    Open source →
  9. v0.25.3-0.20260220120310-69c7ef145591 20 Feb 2026 pre-release

    Nothing published for this version

  10. v0.25.2 26 Jan 2026
    Release notes

    What's Changed

    • Support composites with optional repeating fields by @gyrolc in #398

    New Contributors

    Full Changelog: v0.25.1...v0.25.2

    Open source →
  11. v0.25.1 15 Dec 2025
    Release notes

    What's Changed

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

    Full Changelog: v0.25.0...v0.25.1

    Open source →
  12. v0.25.0 06 Dec 2025
    Release notes

    What's Changed

    • allow preserving unknown fields instead of discarding them by @alovak in #393
    • Fix getters by @alovak in #396

    ⚠️ Breaking Changes

    GetField() now returns nil for unset fields: GetField(id) returns nil if the field is not set or not defined in the specification, whereas previously it always returned a field instance.

    Migration:

    • Add nil checks before using the returned field
    • Or migrate to GetString(id) / GetBytes(id) which handle nil safely and return zero values for unset fields

    This change aligns with the new lazy field loading behavior and makes field presence checking explicit. It fixes the issue introduced in v0.24.0 where getting the value of a field that wasn't set was setting it.

    Full Changelog: v0.24.0...v0.25.0

    Open source →
  13. v0.24.1-0.20251202115857-bdf5ff34601d 02 Dec 2025 pre-release

    Nothing published for this version

  14. v0.24.0 02 Dec 2025
    Release notes

    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: v0.23.5...v0.24.0

    Open source →
  15. v0.23.5 27 Nov 2025
    Release notes

    What's Changed

    Full Changelog: v0.23.4...v0.23.5

    Open source →
  16. v0.23.5-0.20251021152053-eb817e9d75ea 21 Oct 2025 pre-release

    Nothing published for this version

  17. v0.23.5-0.20250807203721-706777ebe523 07 Aug 2025 pre-release

    Nothing published for this version

  18. v0.23.5-0.20250710025246-9bafc8578d49 10 Jul 2025 pre-release

    Nothing published for this version

  19. v0.23.4 30 Jun 2025
    Release notes

    What's Changed

    • fix: a binary field can marshal to a named string by @Inuart in #371
    • docs: clarify composite spec.Legth by @alovak in #360
    • docs: clarify usage DisableAutoExpand of the Bitmap field spec by @alovak in #368

    Full Changelog: v0.23.3...v0.23.4

    Open source →
  20. v0.23.4-0.20250607001446-42c34d8a3938 07 Jun 2025 pre-release

    Nothing published for this version

  21. v0.23.3 06 Jun 2025
    Release notes

    What's Changed

    • docs: rework, reorg and improve readme by @alovak in #345
    • fix(deps): update module golang.org/x/text to v0.22.0 by @renovate in #347
    • fix: DecodeLength() for long values in variable length HEX field by @svz-ya in #348
    • chore(deps): update golang docker tag to v1.24 by @renovate in #349
    • docs: add guide for composite fields by @alovak in #352
    • fix(deps): update module golang.org/x/text to v0.23.0 by @renovate in #353
    • docs: Explain that subfields can get reordered when packing by @Inuart in #354
    • fix a tiny bug by @Viminice in #358
    • fix: unmarshaling to []byte for Binary and String fields by @alovak in #364
    • fix: resolve G115 integer overflow and exhaustive warnings by @alovak in #365
    • feat: add support for anonymous embedded structs in Marshal/Unmarshal by @lsadehaan in #361

    New Contributors

    Full Changelog: v0.23.2...v0.23.3

    Open source →
  22. v0.23.3-0.20250605174337-a63c5d71bede 05 Jun 2025 pre-release

    Nothing published for this version

  23. v0.23.3-0.20250605154242-e529380be41a 05 Jun 2025 pre-release

    Nothing published for this version

  24. v0.23.2 29 Jan 2025

    Nothing published for this version

  25. v0.23.1 27 Jan 2025

    Nothing published for this version

  26. v0.23.0 27 Jan 2025

    Nothing published for this version

  27. v0.22.4-0.20241123164333-9183e0ca4e9b 23 Nov 2024 pre-release

    Nothing published for this version

  28. v0.22.3 12 Nov 2024

    Nothing published for this version

  29. v0.22.3-0.20241112200227-60f539991848 12 Nov 2024 pre-release

    Nothing published for this version

  30. v0.22.3-0.20241108042605-1f2f3afe37f4 08 Nov 2024 pre-release

    Nothing published for this version

  31. v0.22.2 28 Oct 2024

    Nothing published for this version

  32. v0.22.2-0.20241028154340-c352ad7741f7 28 Oct 2024 pre-release

    Nothing published for this version

  33. v0.22.2-0.20241027145108-8c09e8283ff8 27 Oct 2024 pre-release

    Nothing published for this version

  34. v0.22.2-0.20241002165148-b2065f8b8819 02 Oct 2024 pre-release

    Nothing published for this version

  35. v0.22.1 09 Sep 2024

    Nothing published for this version

  36. v0.22.1-0.20240909193955-55330b065104 09 Sep 2024 pre-release

    Nothing published for this version

  37. v0.22.1-0.20240819140728-159e2941ab41 19 Aug 2024 pre-release

    Nothing published for this version

  38. v0.22.0 15 Jul 2024

    Nothing published for this version

  39. v0.21.4-0.20240715160329-dfac6bdd86a0 15 Jul 2024 pre-release

    Nothing published for this version

  40. v0.21.4-0.20240712211002-edc9020f3398 12 Jul 2024 pre-release

    Nothing published for this version

  41. v0.21.4-0.20240704073057-85239638962d 04 Jul 2024 pre-release

    Nothing published for this version

  42. v0.21.4-0.20240611091119-0e5c8d4c921b 11 Jun 2024 pre-release

    Nothing published for this version

  43. v0.21.3 11 Jun 2024

    Nothing published for this version

  44. v0.21.3-0.20240607210908-77c1c9cbef14 07 Jun 2024 pre-release

    Nothing published for this version

  45. v0.21.3-0.20240506140531-a234a4a4118c 06 May 2024 pre-release

    Nothing published for this version

  46. v0.21.3-0.20240304150911-cd615f396724 04 Mar 2024 pre-release

    Nothing published for this version

  47. v0.21.3-0.20240216180924-0813da9c0621 16 Feb 2024 pre-release

    Nothing published for this version

  48. v0.21.3-0.20240116134112-e656fa30fe53 16 Jan 2024 pre-release

    Nothing published for this version

  49. v0.21.2 12 Jan 2024

    Nothing published for this version

  50. v0.21.2-0.20240112225916-27feb74ecf2b 12 Jan 2024 pre-release

    Nothing published for this version

  51. v0.21.1 30 Nov 2023

    Nothing published for this version

  52. v0.21.0 30 Oct 2023

    Nothing published for this version

  53. v0.20.2-0.20231030175603-8f4cb18cf46e 30 Oct 2023 pre-release

    Nothing published for this version

  54. v0.20.2-0.20231010194914-add4df165bc5 10 Oct 2023 pre-release

    Nothing published for this version

  55. v0.20.2-0.20231006185658-f42243f83894 06 Oct 2023 pre-release

    Nothing published for this version

  56. v0.20.1 26 Sep 2023

    Nothing published for this version

  57. v0.20.0 26 Sep 2023

    Nothing published for this version

  58. v0.19.3 26 Sep 2023

    Nothing published for this version

  59. v0.19.3-0.20230925174208-a0dcd00569a7 25 Sep 2023 pre-release

    Nothing published for this version

  60. v0.19.3-0.20230922192946-2f27b3c8b7b0 22 Sep 2023 pre-release

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive