Releases: SpongePowered/plugin-meta
Release list
plugin-meta 0.9.0
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
plugin-meta 0.8.2
- Add
MetadataContainer#toBuilder(). - Fix
MetadataContainer.Builder#metadata(List)not overriding existing elements. - Add
MetadataContainer.Builder#addMetadata(List).
plugin-meta 0.8.1
This is a minor release that adds a full module descriptor to plugin-meta, in preparation for a JPMS-compliant world.
To do this, several dependencies have been bumped to versions with full module metadata, though going no further than the versions of these dependencies in Minecraft 1.18.2 for compatibility's sake.
plugin-meta 0.8.0
This is another breaking release to make the metadata format more extensible.
- Break loader into a separate category
- Add the concept of inheritable metadata that is applied to every plugin in the container
- Add a
mappingscontainer-level field for declaring the Minecraft mappings used in a plugin - Add
brandinginformation for each plugin - Rename
main-classtoentrypoint
plugin-meta 0.7.0
This is a breaking release to align plugin-meta API naming standards with the rest of SpongeAPI
- Drop
get-prefix from methods.
plugin-meta 0.6.2
Correct Maven metadata for publication to Central
plugin-meta 0.6.1
Many things have changed.
See the comparison from 0.4.1 for details.
plugin-meta 0.4.1
- Allow loading plugin metadata with invalid plugin IDs
plugin-meta 0.4
- Added Javadocs
- Refactored the way dependencies are defined in
PluginMetadata(breaking change):- Load order and if the dependency is required is stored on
PluginDependency,PluginMetadatahas a set of dependencies (can only have one dependency for each plugin ID) collectRequiredDependencies()andgroupDependenciesByLoadOrder()return an immutable copy similar to the oldgetRequiredDependencies()orgetLoadAfter()
- Load order and if the dependency is required is stored on
PluginMetadataonly accepts plugins with valid plugin ID- Removed
SpongeExtension
plugin-meta 0.3
- Removed custom asset directories
- Removed
.as valid character for Sponge plugin IDs - Remove support for setting the Minecraft version directly, set is as part of a dependency on
minecraftinstead