Releases: marimo-team/msgspec
0.19.3
0.19.2
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 msgspecNow, 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