Skip to content
Merged
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: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -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:
Expand Down
21 changes: 21 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -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`.
6 changes: 4 additions & 2 deletions RELEASING.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion jvm
Original file line number Diff line number Diff line change
Expand Up @@ -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=
Expand Down
4 changes: 2 additions & 2 deletions jvm.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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') {
Expand Down
18 changes: 18 additions & 0 deletions tests/README.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down
2 changes: 1 addition & 1 deletion tests/powershell.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -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.'
Expand Down
2 changes: 1 addition & 1 deletion web/latest.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.2.0
0.2.1
Loading