Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# 2.0.0

- Breaking: a new release of Igor is required to support LTS 2026, a major version release purges all outdated GM-CLI caches.

# 1.4.1

- Fix: Relative project paths are now handled correctly (e.g. `gm-cli run ./some/project.yyp` works as intended)
Expand Down
15 changes: 15 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,21 @@ pnpm build
pnpm link
```

## Versioning policy

GM-CLI uses [semantic versioning](https://semver.org), i.e. `MAJOR.MINOR.PATCH`. The public API surface consists of,

- Command-line arguments for the program, including their implicit defaults.
- The schema for the `gm-options.json` file.
- The internal structure of the `.gmcache` directory (and the minimum version requirement for external tools like Igor and ProjectTool).

A breaking change to any of these warents increasing the `MAJOR` version of the package. When this occurs GM-CLI will
automatically pruge any outdated caches and update the path in the `$schema` field in `gm-options.json`.

In some scenarios we make use of this cache purging mechanism to make sure users have access to more recent versions
of external tools that GM-CLI depends on. For instance, if we require a new version of Igor for GM-CLI to function, we may bump the
major version.

## Publish

```sh
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"url": "https://github.com/YoYoGames/gm-cli"
},
"type": "module",
"version": "1.4.1",
"version": "2.0.0",
"files": [
"dist",
"NOTICE"
Expand Down
Loading