PackageTrack
Sign in Get early access

rybakit/msgpack

A pure PHP implementation of the MessagePack serialization format.

v0.10.0 11M downloads/mo #1082 most downloaded on Packagist rybakit/msgpack.php

What this package is like to depend on

Last release 4 months ago

22 Apr 2026

Ships unpredictably

gaps range from 2 weeks to 3.8 years

Some releases are documented

notes for 10 of 23 stable releases

Nothing withdrawn

no release was ever pulled

11 years old

23 releases · first in 2015

2 releases in the last 12 months

see the full history below

Release timeline

23 releases · Dec 2015 to Apr 2026
2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 23
  1. v0.10.0 22 Apr 2026
    Release notes
    • Raised the minimum supported PHP version to 8.2
    • Updated the development toolchain: PHPUnit 11, PHP CS Fixer 3, and Psalm 5/6
    • Removed the old PHPUnit compatibility layer and updated the test suite/configuration accordingly
    • Replaced manual array/list detection with array_is_list()
    • Improved examples and README, including a few defensive fixes and PHP 8.2-style cleanups
    • Added ext-decimal to require-dev
    • Updated GitHub Actions to use the current actions/checkout version
    Open source →
  2. v0.9.2 18 Dec 2025
    Release notes

    What's Changed

    • Mask chr input to prevent deprecation warnings on PHP 8.5 by @DemonTPx in #40

    New Contributors

    Full Changelog: v0.9.1...v0.9.2

    Open source →
  3. v0.9.1 16 Feb 2022
    Release notes
    • Added support for the Timestamp extension type
    • Added PHP 8.1 to the test matrix and bumped test coverage to 100%
    Open source →
  4. v0.9.0 25 Oct 2021
    Release notes
    • Moved the MessagePack\Ext class to MessagePack\Type\Ext
    • Moved the MessagePack\TypeTransformer\CanPack interface to MessagePack\CanPack
    • Moved the MessagePack\TypeTransformer\Extension interface to MessagePack\Extension
    • Introduced the MessagePack\CanBePacked interface, updated the MessagePack\Type\Map, MessagePack\Type\Bin and MessagePack\Type\Ext classes to implement the interface
    • Removed the obsolete MessagePack\TypeTransformer\MapTransformer and MessagePack\TypeTransformer\BinTransformer transformers, added MessagePack\TypeTransformer\TraversableTransformer
    • Overflowed map integer keys are now always unpacked to strings, even if the BIGINT_AS_GMP or BIGINT_AS_DEC unpacking option is set
    • Added more examples and improved existing ones
    • Added Psalm, a static analysis tool for PHP
    Open source →
  5. v0.8.0 18 Mar 2021
    Release notes
    • Made the PackOptions::FORCE_STR option the default
    • Micro-optimized the creation of GMP objects
    • Updated README and example scripts
    • Switched to GH actions
    Open source →
  6. v0.7.2 18 Dec 2020
    Release notes

    Added Packer::packFloat32() and Packer::packFloat64()

    Open source →
  7. v0.7.1 04 Dec 2020
    Release notes
    • Added PHP 8 support
    • Added MessagePack\TypeTransformer\StreamTransformer to pack stream resources into MP_BIN
    • Removed trailing dot from error messages
    Open source →
  8. v0.7.0 27 Jan 2020
    Release notes

    Added

    • BufferUnpacker::getRemainingCount()
    • BufferUnpacker::hasRemaining()
    • BufferUnpacker::release()
    • UnpackOptions::BIGINT_AS_DEC

    Removed

    • InsufficientDataException::unexpectedLength()
    • IntegerOverflowException
    • UnpackOptions::BIGINT_AS_EXCEPTION

    Changed

    • BufferUnpacker::tryUnpack() no longer releases the read buffer, to release the buffer use BufferUnpacker::release()

    Fixed

    • Fixed the BufferUnpacker constructor to accept UnpackOptions instead of PackOptions
    • Fixed checking the buffer size required to unpack Ext (previously the Ext "type" byte wasn't taken into account which could result in a notice Uninitialized string offset for extensions with zero-length data)
    • Forbade non-int/string map keys (previously they were silently cast to int/string which could result in a warning Illegal offset type)

    Misc

    • Added a target file for PHP-Fuzzer
    • Added .gitattributes
    • Switched default PHP version in Docker to 7.4
    • Applied minor optimizations
    Open source →
  9. v0.6.1 02 Oct 2019
    Release notes

    Gave transformers a higher priority than raw extensions while packing

    Open source →
  10. v0.6.0 30 Sep 2019
    Release notes

    Added

    • Methods:
      • BufferUnpacker::extendWith()
      • BufferUnpacker::withBuffer()
      • BufferUnpacker::read()
      • Packer::extendWith()
    • Interfaces:
      • TypeTransformer\Extension
    • Classes:
      • Tests\Perf\Benchmark\PausableBenchmark

    Renamed

    • Type\BinaryType\Bin
    • TypeTransformer\BinaryTransformerTypeTransformer\BinTransformer
    • TypeTransformer\PackableTypeTransformer\CanPack

    Changed

    • BufferUnpacker::__construct() now accepts Extension[] $extensions as the third argument
    • Packer::__construct() now accepts CanPack[] $transformers as the second argument

    Removed

    • Methods:
      • BufferUnpacker::__clone()
        Cloning a BufferUnpacker object no longer resets the internal buffer, to get the old behavior
        use $unpacker = $unpacker->withBuffer('')
      • BufferUnpacker::registerTransformer()
      • Packer::registerTransformer()
    • Interfaces:
      • TypeTransformer\Unpackable
    Open source →
  11. v0.5.4 01 Jan 2019

    Nothing published for this version

  12. v0.5.3 15 Jun 2018

    Nothing published for this version

  13. v0.5.2 15 Jun 2018

    Nothing published for this version

  14. v0.5.1 24 May 2018

    Nothing published for this version

  15. v0.5.0 22 May 2018

    Nothing published for this version

  16. v0.4.1 18 May 2018

    Nothing published for this version

  17. v0.4.0 13 May 2018

    Nothing published for this version

  18. v0.3.1 18 Apr 2018

    Nothing published for this version

  19. v0.3.0 15 Apr 2018

    Nothing published for this version

  20. v0.2.2 11 Mar 2017

    Nothing published for this version

  21. v0.2.1 27 Sep 2016

    Nothing published for this version

  22. v0.2.0 24 Sep 2016

    Nothing published for this version

  23. v0.1.0 22 Dec 2015

    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