Skip to content

Releases: marimo-team/msgspec

0.19.3

14 Nov 20:31
2ecf9bf

Choose a tag to compare

What's Changed

  • Cherry-pick Python 3.14 support and free-threading from upstream by @manzt in #8

Full Changelog: 0.19.2...0.19.3

0.19.2

15 Oct 15:08
549b2a2

Choose a tag to compare

Summary

This release reverts commit b573a8e, restoring the original package name msgspec instead of requiring explicit imports from msgspec_m.

-- import msgspec_m as msgspec
++ import msgspec

Now, users can simply install msgspec_m, which acts as a drop-in replacement for msgspec. The package name has been reverted to match the original.

Although this change is BREAKING relative to the previous release of msgspec_m, we have kept it as a patch bump to stay aligned with the current msgspec semantic version range and minimize confusion.

If you are using msgspec_m, please pin your dependency to version >=0.19.2 in your pyproject.toml.

Background

Originally, we wanted to make imports of this re-distribution in marimo more explicit. At marimo, we need to be cautious about our core dependencies, since they must coexist with user dependencies in the same environment. Renaming the provided package guaranteed that we wouldn’t conflict with the original msgspec module (if installed by a user) in any way.

However, we've decided reverting that decision is the better approach, for several reasons:

  • Better for the community. This project can serve as a drop-in replacement for users seeking bug fixes (as discussed in #5 (comment)).

  • Smaller diffs. We can minimize changes to the source code. Only modifying what’s necessary for bug fixes, instead of maintaining a renamed fork.

  • The original concern was that installing both msgspec and msgspec_m in the same environment could cause conflicts, since they both provide a top-level msgspec package. To be clear, that concern is valid: if both distributions are installed in the same environment, their files will conflict. In practice, whichever distribution is installed last will overwrite the other’s files, and import msgspec will resolve to that version. While not ideal, we think this is acceptable — such an environment would be explicitly user-created, and it would encourage either migration to our drop-in replacement msgspec_m or continued use of the original msgspec.

Full Changelog: 0.19.1...0.19.2

0.19.1

14 Oct 18:09
fc72485

Choose a tag to compare

What's Changed

  • Build 3.14 wheels by @manzt in #2
  • Rename modules and files to msgspec_m by @manzt in #3
  • Upgrade cibuildwheel for 3.14 wheels by @manzt in #6

Full Changelog: 0.19.0...0.19.1

0.19.0

13 Oct 19:33

Choose a tag to compare

Rebrand fork as `msgspec-m` for PyPI publishing