1
0

feat: add support for multiple immutable release tag URLs in a repo

Adds detection and version tracking for URLs like:
- releases/download/{tag}/{asset}
- releases/tag/{tag}

This enables monorepo workflows where multiple mods share a repository
but use immutable tags (e.g., mod-name__latest) instead of the automatic
releases/latest endpoint.

Uses asset creation timestamps to generate sequential versions in
YYYYMMDD_HHMMSS format, ensuring each mod gets independent version
tracking rather than sharing the repository's latest release version.

Maintains full backward compatibility with existing URL patterns.
This commit is contained in:
Gabriel Freitas
2025-06-18 13:02:41 -03:00
parent 96811ac2bf
commit 2777af675b
2 changed files with 55 additions and 5 deletions

View File

@@ -52,8 +52,11 @@ This file stores essential metadata in JSON format. **Make sure you adhere to th
- **version**: The version number of the mod files available at `downloadURL`.
- *folderName*: (*Optional*) The name for the mod's install folder. This must be **unique**, and cannot contain characters `<` `>` `:` `"` `/` `\` `|` `?` `*`
- *automatic-version-check*: (*Optional* but **recommended**) Set to `true` to let the Index automatically update the `version` field.
- Updates happen once every hour, by checking either your mod's latest Release **or** latest commit, depending on the `downloadURL`.
- Enable this option **only** if your `downloadURL` points to an automatically updating source, using a link to [releases/latest](https://docs.github.com/en/repositories/releasing-projects-on-github/linking-to-releases) (recommended), or a link to the [latest commit (HEAD)](https://docs.github.com/en/repositories/working-with-files/using-files/downloading-source-code-archives#source-code-archive-urls).
- Updates happen once every hour, by checking either your mod's latest Release, latest commit, or specific release tag, depending on the `downloadURL`.
- Enable this option **only** if your `downloadURL` points to an automatically updating source:
- **Latest release** (recommended): Using a link to [releases/latest](https://docs.github.com/en/repositories/releasing-projects-on-github/linking-to-releases)
- **Latest commit**: Using a link to the [latest commit (HEAD)](https://docs.github.com/en/repositories/working-with-files/using-files/downloading-source-code-archives#source-code-archive-urls)
- **Permanent release tag**: Using a link to a specific release tag where you upload new files: `https://github.com/author/repo/releases/tag/my-release-tag`. **(This will always use the latest uploaded file)**.
### 3. thumbnail.jpg (Optional)
If included, this image will appear alongside your mod in the index. Maximum and recommended size is 1920x1080 pixels.