chore: bump version to 0.12.2#20
Conversation
Patch release covering: * fix: is_done() over-counting + decoder poisoning across retries (#19) → resolves the silent-hang-after-"Installation finished!" bug a user hit during a TF2 install with one CDN-failing file. The actual fix is already on master via #19. This PR just bumps the on-disk version strings before tagging v0.12.2. Thanks to the `[workspace.package] version` inheritance from #17, only the workspace root Cargo.toml + NSIS `PRODUCT_VERSION` need updating; the five ship-binary crates inherit automatically via `version.workspace = true`. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
There was a problem hiding this comment.
Code Review
This pull request updates the project version to 0.12.2 in the Cargo workspace and the NSIS installer script. Feedback was provided regarding the need to update the Cargo.lock file to prevent CI failures and potential version mismatches in sub-crates. Additionally, there is a recommendation to include version metadata in the installer's resource table to ensure correct display within Windows system tools.
| # `maxima-resources` is a build-time helper crate). | ||
| [workspace.package] | ||
| version = "0.12.1" | ||
| version = "0.12.2" |
There was a problem hiding this comment.
Bumping the workspace version without updating Cargo.lock leads to an out-of-sync state that breaks CI builds using --locked. Additionally, since maxima-lib pins its own version (lines 18-21) for FInstall.txt, its version will remain at 0.12.1 unless explicitly bumped, potentially resulting in incorrect version reporting for the fixes mentioned in the PR description.
| !define PRODUCT_PUBLISHER "Armchair Developers" | ||
| !define PRODUCT_WEB_SITE "https://github.com/ArmchairDevelopers/Maxima" | ||
| !define PRODUCT_VERSION "0.12.1" | ||
| !define PRODUCT_VERSION "0.12.2" |
There was a problem hiding this comment.
It is recommended to add version metadata to the installer's resource table using VIProductVersion and VIAddVersionKey. This ensures the version information is correctly displayed in Windows File Explorer properties and other system tools.
!define PRODUCT_VERSION "0.12.2"
VIProductVersion "0.12.2.0"
VIAddVersionKey "ProductName" "${PRODUCT_NAME}"
VIAddVersionKey "ProductVersion" "${PRODUCT_VERSION}"
VIAddVersionKey "FileVersion" "${PRODUCT_VERSION}"
VIAddVersionKey "FileDescription" "${PRODUCT_NAME} Installer"
VIAddVersionKey "LegalCopyright" "${PRODUCT_PUBLISHER}"
There was a problem hiding this comment.
Code Review
This pull request updates the workspace and installer versions to 0.12.2. Feedback suggests also incrementing the maxima-lib crate version to ensure consistent metadata reporting and recommends adding version metadata to the installer executable for better visibility in Windows Explorer.
| # `maxima-resources` is a build-time helper crate). | ||
| [workspace.package] | ||
| version = "0.12.1" | ||
| version = "0.12.2" |
There was a problem hiding this comment.
If the bug fixes for #19 (such as the is_done() logic) are located within the maxima-lib crate, its version should also be incremented. Since maxima-lib opts out of workspace versioning to maintain its own version for the FInstall.txt metadata (as described in lines 18-21), failing to bump it will result in an outdated version being reported by the library despite the workspace-level patch.
| !define PRODUCT_PUBLISHER "Armchair Developers" | ||
| !define PRODUCT_WEB_SITE "https://github.com/ArmchairDevelopers/Maxima" | ||
| !define PRODUCT_VERSION "0.12.1" | ||
| !define PRODUCT_VERSION "0.12.2" |
There was a problem hiding this comment.
Consider adding version metadata to the installer executable. This ensures that the file properties (Right-click -> Details) correctly display the version, product name, and publisher information in Windows Explorer. Note that VIProductVersion requires a four-part version string.
!define PRODUCT_VERSION "0.12.2"
VIProductVersion "${PRODUCT_VERSION}.0"
VIAddVersionKey "FileVersion" "${PRODUCT_VERSION}"
VIAddVersionKey "ProductVersion" "${PRODUCT_VERSION}"
VIAddVersionKey "ProductName" "${PRODUCT_NAME}"
VIAddVersionKey "CompanyName" "${PRODUCT_PUBLISHER}"
VIAddVersionKey "FileDescription" "${PRODUCT_NAME} Installer"
…ata (#21) ## fix: maxima-cli `--game-args` rejects hyphen-prefixed values User-reported: every Draconis launch via Maxima failed with `error: unexpected argument '-n' found` because the launch command passes hyphen-prefixed Source-engine flags: ``` maxima-cli launch Origin.OFR.50.0001456 \ --game-path "...\NorthstarLauncher.exe" \ --game-args -noOriginStartup \ --game-args -novid \ --game-args -vanilla ``` clap, by default, rejects values that look like flags. `-noOriginStartup` got interpreted as an unknown short-flag-with-arg. Three-flag launches (the vanilla-with-NS row of Draconis's decision matrix) tripped it reproducibly; single-flag launches like `--game-args -novid` worked by accident because clap forgave the first occurrence. Fix: `#[arg(long, allow_hyphen_values = true)]` on `game_args`. clap now treats every value as opaque text, regardless of leading `-`. Bonus rationale dropped into the comment so future contributors don't re-bikeshed it. The repeated-flag form (`--game-args X --game-args Y --game-args Z`) stays — backward compat for any existing script. A cleaner trailing- args form (`maxima-cli launch SLUG ... -- -foo -bar`) is queued for v0.13.0 / PR-K alongside the verify+repair work. ## polish: NSIS VIProductVersion + VIAddVersionKey Caught by Gemini on PR #20 (deferred from v0.12.2). Without these, right-clicking `MaximaSetup.exe` → Properties → Details shows blank File Version / Product Version. Now populated with `${PRODUCT_VERSION}` plus standard fields (ProductName, FileDescription, CompanyName, etc.). `VIProductVersion` requires a four-part `x.y.z.w` version, so we pad `PRODUCT_VERSION` with `.0` for the build component. ## chore: bump to v0.12.3 Workspace + NSIS PRODUCT_VERSION 0.12.2 → 0.12.3. With the `[workspace.package] version` inheritance from #17, the five ship-binary crates pick it up automatically. Co-authored-by: AA-EION <contactus@eionstudios.com> Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Patch release covering #19 —
is_done()over-counting + decoder poisoning across retries.Only
Cargo.toml(workspace.package.version) andinstaller/maxima-setup.nsi(PRODUCT_VERSION) need updating; the five ship-binary crates inherit viaversion.workspace = true(set up in #17).