What's Changed
- Remove
mcmod-infosubproject. This format has not been used for eons. - Update to Java 21.
- Remove
Container#mappings. It was supposed to allow remapping plugins but it was never implemented and it is now irrelevant. - Use
URIs instead ofURLs in models. - Migrate most models to records.
- (De)serialization has been migrated to proper Gson adapters for a simpler implementation.
- Add unit tests ensuring no regression for the parser.
- Convert legacy plugin ids (-) during deserialization.
- Remove
ContainerandInheritablefrom the API. The standard manifest still supports inheritable values. - Add
PluginEntrypointswhich allow specifying server or client sided entrypoints as well as the usual ones. - Add
PluginConflictwhich allow specifying known conflicts between mods or plugins.
Overall there are many breaking changes in the API but the most frequently used methods in PluginMetadata has been left untouched, which allow a good retro-compatibility with most plugins. The format of manifest has evolved but is still fully retro-compatible.
Full Changelog: 0.8.2...0.9.0