Changelog¶
This page contains the full changelog for all ndspy versions. All old versions can be downloaded from the Releases page on GitHub.
4.2.0 (Sept. 13, 2024)¶
Added type annotations for the
ndspy.bmg
,ndspy.code
,ndspy.codeCompression
,ndspy.fnt
,ndspy.lz10
,ndspy.narc
, andndspy.rom
modules. These can help type-checkers analyze your own code if desired, and improve code suggestions in certain IDEs. Thanks to mike8699 for this!A few small improvements to documentation, error messages, and testing infrastructure.
4.1.0 (July 28, 2023)¶
Replaced the crcmod dependency with a pure-Python CRC16 implementation in ndspy itself.
Fixed a bug in the undocumented
ndspy.graphics2D
module.A few documentation improvements.
4.0.0 (Mar. 15, 2022)¶
Many bugfixes. Thank you to everyone who reported bugs!
The
ndspy.codeCompression
andndspy.lz10
now have CLIs. They also gained convenience functions for compressing and decompressing to/from files rather thanbytes
objects.ndspy.bmg.BMG
now calls encoding value 1'cp1252'
rather than'latin-1'
; the latter was just a guess on my part. It also gained a new read-only attributendspy.bmg.BMG.fullEncoding
that is useful for manually decoding BMG strings, in case you need to do that for some reason.ndspy.rom.NintendoDSRom.iconBanner
now supports all versions of icon/banner data, not just the first version. TheICON_BANNER_LEN
constant has been removed, since it is not actually meaningful (different versions have different lengths).ndspy.Processor
is now anenum.IntEnum
, rather than just anenum.Enum
.Assertions now have messages indicating what went wrong.
Changes pertaining to undocumented modules:
ndspy.color
’s API has been redesigned. However, this may be reverted or redesigned again before the module is stabilized.Almost all
ndspy.texture.TextureFormat
enum members were renamed.ndspy.graphics2D
got further API improvements.ndspy.extras.music
now automatically parses unparsed SSEQs.
3.0.0 (Feb. 10, 2019)¶
Completely redesigned
ndspy.narc
’s API in order to add compatibility with New Super Mario Bros. This is a very backwards-incompatible change, and any code using the module definitely needs to be updated.Medium-sized changes to
ndspy.bmg
’s API in order to add compatibility with… pretty much every game except The Legend of Zelda: Phantom Hourglass and The Legend of Zelda: Spirit Tracks. This is a pretty important change, of course, but it’s also backwards-incompatible. Depending on what parts of the module your code uses, though, your code might still run correctly without any changes.Converted the names of
ndspy.soundSequence.MonoPolySequenceEvent.Value
andndspy.soundSequence.VibratoTypeSequenceEvent.Value
members to upper-case, since that’s the recommended style for enum members now. This is backward-incompatible, but only if your code uses these enums.Added the first two tutorials to the documentation, and added example code for certain modules.
Reorganized the folder structure of the documentation. This makes most previous documentation links invalid, unfortunately, but the reorganization was done with an eye toward avoiding this having to happen again in the future.
Changes pertaining to undocumented modules:
ndspy.bnbl
andndspy.bncl
were addedndspy.graphics2D
got some API improvementsSwapped the interpretation of alpha values in
ndspy.color
Added the ability to render textures with
ndspy.texture
2.0.0 (Jan. 23, 2019)¶
Updated the
ndspy.soundBank
API to reflect the new discovery that note definition type values are defined for all instrument types, not just single-note instruments. (Thanks, Gota7!) This is a backwards-incompatible change, hence the major version number bump.Fixed some bugs in
ndspy.soundBank
andndspy.soundSequence
that caused crashes in some situations. If your code didn’t crash on 1.0.x, this doesn’t affect you.Added
ndspy.VERSION
.Added this changelog page to the documentation.
1.0.1 (Jan. 18, 2019)¶
Fixed an issue that caused pip to erroneously attempt to install on unsupported versions of Python, instead of giving the correct error message.
1.0.0 (Jan. 18, 2019)¶
First release! The API has changed a lot in the weeks prior to this release, so if you find yourself in possession of any code written for pre-1.0.0 ndspy, you’ll probably need to make adjustments.
Note
This release had to be removed from PyPI due to a bug fixed in 1.0.1. If you really must have it for some reason, you can find it on GitHub.