diff --git a/README.md b/README.md index 25211f5..30e5fdd 100644 --- a/README.md +++ b/README.md @@ -159,7 +159,7 @@ curl -fsSL https://getjvm.dev/install.sh | bash curl -fsSL https://getjvm.dev/install.sh | bash -s -- --path --no-java --non-interactive # Install a specific version: -curl -fsSL https://getjvm.dev/install.sh | bash -s -- --version 0.2.0 --no-path --no-java +curl -fsSL https://getjvm.dev/install.sh | bash -s -- --version 0.2.1 --no-path --no-java ``` Windows PowerShell: @@ -169,7 +169,7 @@ iex (irm 'https://getjvm.dev/install.ps1') # Install a specific version with options: irm 'https://getjvm.dev/install.ps1' -OutFile "$env:TEMP\jvm-install.ps1" -& "$env:TEMP\jvm-install.ps1" -Version 0.2.0 -Path -NoJava -NonInteractive +& "$env:TEMP\jvm-install.ps1" -Version 0.2.1 -Path -NoJava -NonInteractive ``` The first question offers two choices: diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md new file mode 100644 index 0000000..2e31571 --- /dev/null +++ b/RELEASE_NOTES.md @@ -0,0 +1,21 @@ +# v0.2.1 + +Prepared release notes; publication is pending. + +Changes since v0.2.0: + +- Fix Windows CMD `env` output so its comment and environment assignments can + be copied and pasted, preserving the existing PATH through `%PATH%`. +- Include the MIT license notice in each runtime script and standalone + installer so it travels with redistributed copies. +- Offer local project installation alongside user installation in both + installers. Improve setup prompts and show the appropriate next command for + existing JDK installations. +- Refresh the installation website with copyable commands and Duke artwork, + and expand the README's installation and usage guidance. +- Simplify Pages publication to publish the current website files directly, + independently of runtime releases. + +The standalone installers and website are published separately from the +versioned runtime scripts. Release assets remain `jvm.tar.gz`, +`jvm.tar.gz.sha256` and `latest.txt`. diff --git a/RELEASING.md b/RELEASING.md index 68e11f5..f8dbd2d 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -16,8 +16,10 @@ Replace `VERSION`, `REVIEWED_COMMIT` and `DEFAULT_BRANCH` in the commands below. 1. Set the same version in `jvm` (`VERSION`), `jvm.ps1` (`$script:Version`) and - `web/latest.txt`. The text file must end with one LF. Commit and review the - changes before tagging. + `web/latest.txt`. The text file must end with one LF. Update the PowerShell + HTTP User-Agent, version-output test and pinned README examples to agree. + Prepare [release notes](RELEASE_NOTES.md) describing changes since the previous + tag. Commit and review the changes before tagging. 2. Tag the reviewed commit and push the tag: ```sh diff --git a/jvm b/jvm index b5c4716..cdbdca6 100755 --- a/jvm +++ b/jvm @@ -27,7 +27,7 @@ DEFAULT_VERSION=25 LC_ALL=C export LC_ALL -VERSION=0.2.0 +VERSION=0.2.1 BASE=https://getjvm.dev/index WORK= STAGE= CURRENT= PROJECT_CONFIG_READ= GLOBAL_CONFIG_READ= diff --git a/jvm.ps1 b/jvm.ps1 index ae5abb6..9c0a7dc 100644 --- a/jvm.ps1 +++ b/jvm.ps1 @@ -27,7 +27,7 @@ $script:DefaultVersion = '25' $script:ScriptInvocation = $MyInvocation $script:CmdOutput = $false -$script:Version = '0.2.0' +$script:Version = '0.2.1' $script:BaseUrl = 'https://getjvm.dev/index' $script:ExitCode = 1 $script:CommandExitCode = 0 @@ -263,7 +263,7 @@ function Invoke-HttpsTransfer { $request.AllowAutoRedirect = $false $request.Timeout = $TimeoutSeconds * 1000 $request.ReadWriteTimeout = $TimeoutSeconds * 1000 - $request.UserAgent = 'jvm/0.2.0' + $request.UserAgent = 'jvm/0.2.1' if ($Validator -eq 'If-None-Match') { $request.Headers[[Net.HttpRequestHeader]::IfNoneMatch] = $ValidatorValue } elseif ($Validator -eq 'If-Modified-Since') { diff --git a/tests/README.md b/tests/README.md index 2d6f5b9..50f7d41 100644 --- a/tests/README.md +++ b/tests/README.md @@ -1,5 +1,23 @@ # Discovery, installation and uninstallation verification +## Patch release preparation: 0.2.1 (2026-11-05) + +The runtime version constants, PowerShell HTTP User-Agent, version-output +assertion, pinned README examples and `web/latest.txt` now agree on 0.2.1. +Release notes are prepared in [RELEASE_NOTES.md](../RELEASE_NOTES.md). + +Local verification passed reproducible exact-byte packaging and checksum checks +(`python tests/release-tooling.py`), all 30 Windows PowerShell 5.1 smoke groups, +all 14 PowerShell installer groups and all 19 Git Bash installer groups. The +installer tests use isolated offline fixtures; Git Bash host cases are simulated. +All three entry points reported `jvm 0.2.1`. Bash syntax checks for `jvm` and +`web/install.sh`, LF-ending checks and `git diff --check` passed. The 0.2.1 +archive and its checksum were also built locally. + +ShellCheck is unavailable. No additional Linux, macOS, Cygwin, MSYS2 or Bash 3.2 +runs were performed, and no hosted workflows were dispatched for this change. +No commit, tag, push, release publication or deployment was performed. + ## CMD environment output (2026-11-05) `jvm.cmd` supplies the leading `--cmd` signal. CMD `env`/`e` now prints a diff --git a/tests/powershell.ps1 b/tests/powershell.ps1 index 801eb11..b280580 100644 --- a/tests/powershell.ps1 +++ b/tests/powershell.ps1 @@ -241,7 +241,7 @@ try { [IO.File]::WriteAllText((Join-Path $install '.jvm-manifest'), $manifest, [Text.UTF8Encoding]::new($false)) - Assert-Equal (Invoke-JvmTest @('--version')) 'jvm 0.2.0' 'Version output mismatch.' + Assert-Equal (Invoke-JvmTest @('--version')) 'jvm 0.2.1' 'Version output mismatch.' $list = Invoke-JvmTest @('list') if ($list -notmatch [regex]::Escape($id)) { throw "List omitted installed ID $id." } Assert-Equal (Invoke-JvmTest @('home', $id)) $install 'Exact-ID home resolution mismatch.' diff --git a/web/latest.txt b/web/latest.txt index 0ea3a94..0c62199 100644 --- a/web/latest.txt +++ b/web/latest.txt @@ -1 +1 @@ -0.2.0 +0.2.1