Repository navigation
Releases
v3.3.2
Fixes
- Fixed an issue where the version inferred from the release tag would be preferred over the actual mod version specified in its metadata file
Full Changelog: v3.3.1...v3.3.2
v3.3.1
Features
- New
environmentinput (#64, #170)
Fixes
- Links to files uploaded to Modrinth are now reported using version IDs instead of version numbers in order to avoid ambiguity (#104)
- Tokens can once again be omitted by setting them to an empty string (#106, #137)
- (Neo)Forge mods can now be automatically recognized without an explicit dependency on their respective mod loader in the metadata file (#130, #139)
- If the Piston server is temporarily inaccessible due to being hosted on perfectly stable and very robust Microsoft infrastructure,
mc-publishwill now retry querying it a few times instead of immediately giving up (#131) - Uploads should no longer be accidentally marked as pre-releases on some very rare occasions (#148)
- Latest April Fools snapshots are now recognized as valid game versions (#168)
- Projects targeting old Minecraft betas can now be successfully uploaded to CurseForge (#156)
- The
modloaderloader value is now recognized as Risugami's ModLoader when uploading to CurseForge, the same way it has always been for Modrinth
Full Changelog: v3.3.0...v3.3.1
v3.3.0
Features
- Node.js 16 support (#39)
- CurseForge project IDs in dependency declarations support (#56)
- NeoForge support (#85)
- Game version ranges support (#25)
- Any range, such as
>=1.19 <1.19.3or even[3D Shareware v1.34,19w45b), is now interpretable by the action as intended - As a result,
version-resolveris now deprecated as it is no longer needed - New
game-version-filterinput
- Any range, such as
- Enhanced
dependenciesformat - More descriptive and user-friendly error messages (#40, #87)
- The automatic unfeaturing of Modrinth versions now considers version types (i.e., alpha, beta, or release) (#41)
- New
modrinth-unfeature-modeflags:version-type-subset,version-type-intersection, andversion-type-any. These have been automatically integrated into the existingsubset,intersection, andanypresets, respectively
- New
- The action now provides useful outputs (#54)
Fixes
- Older Modrinth versions will no longer be unfeatured if the publication of a new version fails (#37)
- The action will no longer fail when attempting to upload a plugin or resource pack to CurseForge (#42)
- An issue causing
files-secondaryto be ignored has been resolved;files-secondaryis now deprecated and should no longer be used. This counts as a fix, right? (#47)
Obsolete Functionality
This version initiates the migration away from legacy design decisions, aiming for complete deprecation by v4.0. To be clear, your existing configurations should still operate as expected, so there's no immediate rush to update your configurations, especially if they are complex. At most, the action may emit a few deprecation warnings.
files-primary and files-secondary
This change is rather straightforward. files now accept an array of globs. Honestly, I'm not sure why it wasn't like this from the start - it seems much more logical. So, instead of:
files-primary: primary-file*.jar
files-secondary: secondary-files*.jarYou should now use:
files: |
primary-file*.jar
secondary-files*.jar
even-tertiary-files-which-was-not-possible-before*.jardependencies
Rest assured, the input itself is not being deprecated, but its format is. Currently, you specify your dependencies like this:
dependencies: |
required-dependency | depends | *
optional-dependency | recommends | 0.1.0
suggested-dependency | suggests | 0.2.0
included-dependency | includes | 0.3.0
conflicting-dependency | conflicts | *
incompatible-dependency | breaks | *This format is simple but lacks flexibility. It doesn't accommodate features such as platform-specific aliases (useful when a dependency uses different slugs on Modrinth/CurseForge/etc., or wants to specify IDs instead of slugs for each platform) or ignored platforms (handy when your dependencies are not available on a particular platform, e.g., the latest Sodium on CurseForge). Also, this format uses Fabric-like dependency types that, although fine in a metadata file, seem awkwardly worded in this context.
The same list of dependencies can be formatted as follows in the new format:
dependencies: |
required-dependency
recommended-dependency@0.1.0(recommended)
optional-dependency@0.2.0(optional)
embedded-dependency@0.3.0(embedded)
conflicting-dependency(conflicting)
incompatible-dependency(incompatible)To specify platform-specific aliases or to ignore a dependency on some platforms, you can format it like this:
dependencies: |
sodium@0.4.10(required){modrinth:AANobbMI}{curseforge:394468}#(ignore:curseforge,github)version-resolver
With mc-publish now capable of understanding version ranges, even those including the most obscure Minecraft snapshots, additional hints via version-resolver have become unnecessary. However, version-resolver served a vital role in filtering the resulting version range. Its successor, game-version-filter, can help you filter out snapshots, select only the latest or earliest version, etc.
Here are some rough equivalents of version-resolver as game-version-filter values, which mc-publish uses to remap your deprecated inputs:
version-resolver |
game-version-filter |
|---|---|
exact |
min | releases |
latest |
min-major | min-minor | max-patch | releases |
all |
min-major | min-minor |
releases |
min-major | min-minor | releases |
releasesIfAny |
min-major | min-minor | releases |
"quilt": true
To indicate your Fabric mod's compatibility with Quilt Loader, you should now overload loaders in your fabric.mod.json instead.
"custom": {
"mc-publish": {
- "quilt": true
+ "loaders": ["fabric", "quilt"]
}
}New Contributors
- @osfanbuff63 made their first contribution in #43
- @Minecraftschurli made their first contribution in #89
- @LukenSkyne made their first contribution in #98
Full Changelog: v3.2.0...v3.3.0
v3.2.0
Warning
This version is deprecated, as GitHub no longer supports actions based on Node.js 12.
Please update to a newer version.
Features
javadocjars are excluded from primary files by default (#18)
New Contributors
Full Changelog: v3.1.0...v3.2.0
v3.1.0
Warning
This version is deprecated, as GitHub no longer supports actions based on Node.js 12.
Please update to a newer version.
Features
- Target-specific inputs (e.g.,
modrinth-dependencies,curseforge-dependencies, etc.) are officially supported now (#13) 🛈 - Added support for Modrinth
embeddeddependency type (#15) - Changed default publishing order to CurseForge, Modrinth, GitHub (#16)
- New
fail-modeinput. Determines how errors that occur during mod publishing process are handled - Fabric mods can be marked as Quilt-compatible 🛈
Fixes
- Sequential uploads to GitHub could not find previously created releases
Full Changelog: v3.0.0...v3.1.0
v3.0.0
Warning
This version is deprecated, as GitHub no longer supports actions based on Node.js 12.
Please update to a newer version.
Features
- Quilt support (#5)
- Modrinth Dependencies now work the same way as CurseForge's Relations (#4, #8)
- New
modrinth-featuredinput. Indicates whether the version should be featured on Modrinth or not (#9) - New
modrinth-unfeature-modeinput. Determines the way automatic unfeaturing of older Modrinth versions works (#9) mc-publishis able to create GitHub Releases now (#7)- New
github-generate-changeloginput. Indicates whether to automatically generate the changelog for this release - New
github-draftinput.trueto create a draft (unpublished) release,falseto create a published one - New
github-prereleaseinput.trueto identify the release as a prerelease,falseto identify the release as a full release - New
github-commitishinput. Specifies the commitish value that determines where the git tag is created from - New
github-discussioninput. If specified, a discussion of the specified category is created and linked to the release
- New
github-tagcan be inferred from theGITHUB_REFenvironment variable now
Fixes
- CurseForge upload fails when dependency list only consists of non-accessible dependencies (#6)
New Contributors
Full Changelog: v2.1.0...v3.0.0
v2.1.0
Warning
This version is deprecated, as GitHub no longer supports actions based on Node.js 12.
Please update to a newer version.
Features
- Added the ability to retry publishing assets. This behavior can be configured with the new
retry-attemptsandretry-delayoptions
Fixes
- Sometimes a primary file on Modrinth was not set correctly
Full Changelog: v2.0.0...v2.1.0
v2.0.0
Warning
This version is deprecated, as GitHub no longer supports actions based on Node.js 12.
Please update to a newer version.
Features
modrinth-idandcurseforge-idcan be retrieved from the config file of your modgame-versionscan be retrieved from the config file of your mod- Default value of the
loadersproperty is nowfabricfor Fabric mods andforgefor Forge mods - Added ability to make use of CurseForge's relations via the new
dependenciesproperty
Fixes
- The action won't try to publish assets if no token was specified (#2)
Full Changelog: v1.1.0...v2.0.0
v1.1.0
Warning
This version is deprecated, as GitHub no longer supports actions based on Node.js 12.
Please update to a newer version.
Features
- Added
version-resolverinput namecan be omitted with an empty string
Full Changelog: v1.0.0...v1.1.0
v1.0.0
Warning
This version is deprecated, as GitHub no longer supports actions based on Node.js 12.
Please update to a newer version.
Features
- Initial release
Full Changelog: ...v1.0.0