Skip to content

Releases: jrodolfo/java-evolution

java-evolution v1.7.4

Choose a tag to compare

@jrodolfo jrodolfo released this 10 Sep 18:58

Release Notes: v1.7.4

java-evolution v1.7.4 is a patch release that restores package descriptions
for Java 27 in the generated JavaDoc and aligns the Maven project version with
the release.

Highlights

  • Added package-info.java descriptions to all nine Java 27 feature packages,
    so their descriptions appear in the generated Javadoc package overview.
  • Updated the Maven project version to 1.7.4.

Validation

  • make show-versions confirmed JDK 27 and Maven 3.9.16.
  • make check-build passed with 478 tests, 0 failures, 0 errors, and 16 skips.
  • make audit-docs passed.
  • ./mvnw javadoc:javadoc passed.
  • git diff --check passed.

Suggested GitHub Release Text

java-evolution v1.7.4 restores Java 27 package descriptions in the generated JavaDoc and updates the Maven project version to 1.7.4.

All nine Java 27 feature packages now use the repository's established package-info.java convention, so their descriptions appear in the generated package overview.

java-evolution v1.7.3

Choose a tag to compare

@jrodolfo jrodolfo released this 10 Sep 18:29

Release Notes: v1.7.3

java-evolution v1.7.3 is a patch release that corrects the Maven project
version and improves the presentation of generated JavaDoc pages.

Highlights

  • Updated the Maven project version from 0.0.1-SNAPSHOT to 1.7.3, ensuring
    the project metadata matches the release tag.
  • Added explicit document and browser-window titles to generated JavaDoc.

Validation

  • make show-versions confirmed JDK 27 and Maven 3.9.16.
  • make check-build passed with 478 tests, 0 failures, 0 errors, and 16 skips.
  • make audit-docs passed.
  • ./mvnw javadoc:javadoc passed.
  • git diff --check passed.

Suggested GitHub Release Text

java-evolution v1.7.3 corrects the Maven project version to 1.7.3 and improves generated JavaDoc page titles.

The release keeps the Java 27 build baseline and aligns the project metadata with the v1.7.3 release tag.

java-evolution v1.7.2

Choose a tag to compare

@jrodolfo jrodolfo released this 10 Sep 18:00

Release Notes: v1.7.2

java-evolution v1.7.2 is a patch release that makes the JDK 27 build
requirement explicit for direct Maven commands and keeps repository automation
aligned with the current main branch structure.

Highlights

  • Added Maven Enforcer validation in the validate phase with the exact Java
    version range [27,28). Direct Maven commands now stop before compilation
    with Java 27 setup guidance when Maven uses another JDK.
  • Updated Javadoc CI to use the temporary JDK 27 early-access setup and removed
    the obsolete java-27 branch trigger.
  • Added direct links for Maven, GNU Make, and Node.js in the root requirements
    documentation.

Validation

  • make show-versions confirmed JDK 27 and Maven 3.9.16.
  • ./mvnw test passed with 478 tests, 0 failures, 0 errors, and 16 skips.
  • make audit-docs passed.
  • ./mvnw javadoc:javadoc passed.
  • make check-links was attempted, but external requests were blocked in the
    local environment; rerun it in an unrestricted environment.
  • git diff --check passed.

Suggested GitHub Release Text

java-evolution v1.7.2 makes the JDK 27 build requirement explicit for direct Maven commands and keeps CI aligned with the current main branch structure.

Maven now validates the active Java runtime before compilation and reports clear platform-specific instructions when Java 27 is not selected. Javadoc CI no longer targets the obsolete java-27 branch, and the root requirements documentation links the required build and documentation tools.

java-evolution v1.7.1

Choose a tag to compare

@jrodolfo jrodolfo released this 09 Sep 18:31

Release Notes: v1.7.1

java-evolution v1.7.1 is a patch release that improves the Windows GitHub
Actions workflow and standardizes the repository build commands after the
v1.7.0 release.

Highlights

  • Updated the build workflow so Windows runs the existing Makefile check target
    through Bash, allowing the POSIX-style Maven Wrapper invocation to work on
    the hosted runner.
  • Passed JAVA_CMD=java to the Makefile in CI so Java is resolved from the
    JDK 27 setup action's PATH rather than from a Windows-form JAVA_HOME path.
  • Updated the Makefile to select mvnw.cmd on Windows and standardized the
    repository targets for showing versions, running tests, generating docs,
    auditing docs, checking links, and running the release gate.
  • Updated current documentation and project templates to use the standardized
    targets and linked the JDK 27 download from the root requirements.
  • Removed the obsolete Java 26 environment helpers and prerequisite checker now
    that JDK 27 is the repository baseline.
  • No Java production or test source files changed after v1.7.0.

Validation

The Windows GitHub Actions job passed after this correction. Local validation
results:

  • make show-versions confirmed JDK 27 and Maven 3.9.16.
  • make check-build passed with 478 tests, 0 failures, 0 errors, and 16 skips.
  • ./mvnw test passed with 478 tests, 0 failures, 0 errors, and 16 skips.
  • make generate-docs completed successfully.
  • make audit-docs passed.
  • make check-links could not complete in the restricted environment because
    96 external-link requests failed; rerun it in an unrestricted environment.
  • git diff --check passed.

Suggested GitHub Release Text

java-evolution v1.7.1 improves Windows GitHub Actions execution and standardizes the repository's Java 27 build commands.

The workflow now runs Makefile recipes through Bash and resolves Java from the configured PATH, allowing the existing Maven Wrapper command to work correctly on the Windows hosted runner.

The workflow now runs Makefile recipes through Bash and resolves Java from the configured PATH. The Makefile also selects the Windows Maven Wrapper command and uses consistent names for the repository validation targets.

No Java production or test source files changed after v1.7.0.

java evolution v1.7.0

Choose a tag to compare

@jrodolfo jrodolfo released this 09 Sep 15:52

java-evolution v1.7.0 extends the repository through Java 27 and moves the build baseline to JDK 27.

This is a stable release of the Java Evolution project. JDK 27 remains pre-GA at the time of this release, so the Java 27 material reflects the current pre-GA JDK state and may receive a focused follow-up after the final JDK 27 build.

Highlights:

  • added Java 27 feature examples and explanatory modules
  • strengthened historical Java-version fidelity and preview evolution checks
  • improved Java 26 executable Vector API and Generational Shenandoah coverage
  • expanded behavioral tests for Java 27 runtime, preview, security, and API features
  • synchronized learning guides, reference indexes, setup documentation, and CI for the JDK 27 baseline

v1.6.3

Choose a tag to compare

@jrodolfo jrodolfo released this 30 Aug 19:14

Release Notes: v1.6.3

java-evolution v1.6.3 is a maintenance release focused on completing selected Java 26 C1 migrations and aligning the learner documentation with the current feature coverage.

Highlights

  • Converted Java 26 Structured Concurrency, Lazy Constants, PEM Encodings, and Primitive Patterns from explanatory notes into executable child-JVM examples with focused tests.
  • Updated Java 26 feature maps, learning guides, migration guidance, demo scripts, package documentation, and README content to identify eight C1 examples and two C2 explanatory modules.
  • Corrected the PowerShell JDK 26 activation documentation so the helper is dot-sourced and environment changes persist in the current session.

Validation

Run the following commands before publishing:

make java-version
make check-java-26
mvn test
make docs
make links
node scripts/check-doc-navigation.mjs
make demos
git diff --check

Observed validation during release preparation:

  • JDK 26 Maven test suite passed with 459 tests, 0 failures, 0 errors, and 11 expected skips.
  • JavaDoc generation passed.
  • Documentation navigation audit passed.
  • Markdown link validation passed with 1,092 links checked and 0 errors.
  • git diff --check passed.

Suggested GitHub Release Text

java-evolution v1.6.3 is a maintenance release focused on completing selected Java 26 C1 migrations and aligning learner documentation with the current feature coverage.

Highlights:
- converted Java 26 Structured Concurrency, Lazy Constants, PEM Encodings, and Primitive Patterns into executable child-JVM examples
- updated Java 26 documentation to identify eight C1 examples and two C2 explanatory modules
- corrected PowerShell JDK 26 activation guidance so environment changes persist in the current session

Validation:
- JDK 26 Maven test suite: 459 tests, 0 failures, 0 errors, 11 expected skips
- JavaDoc generation
- documentation navigation audit
- Markdown link validation: 1,092 links checked, 0 errors
- git diff --check

v1.6.2

Choose a tag to compare

@jrodolfo jrodolfo released this 28 Aug 23:03

Release Notes: v1.6.2

java-evolution v1.6.2 is a maintenance release for the JDK 26 build baseline.

Highlights

  • Fixed macOS GitHub Actions builds so the Makefile honors the JDK 26 selected by actions/setup-java through JAVA_HOME.
  • Kept local macOS JDK discovery available when JAVA_HOME is not explicitly set.
  • Removed repeated JDK 26 removal warnings from the intentional Java 2 SocketPermission example without hiding unrelated compiler diagnostics.

Validation

Run the following commands before publishing:

make java-version
make check-java-26
mvn test
make docs
make links
node scripts/check-doc-navigation.mjs
make demos
git diff --check

Observed validation during release preparation:

  • macOS, Ubuntu, and Windows GitHub Actions build jobs passed with JDK 26 after the Makefile fix.
  • Focused security test passed with 5 tests, 0 failures/errors.
  • Full Maven suite passed with 451 tests, 0 failures/errors, and 11 expected skips.
  • JavaDoc generation passed.
  • Documentation navigation audit passed.
  • git diff --check passed.
  • No SocketPermission removal warnings remained in the JDK 26 Maven build output.
  • make links should be run locally before publishing because external network access is restricted in the Codex sandbox.

Suggested GitHub Release Text

java-evolution v1.6.2 is a maintenance release for the JDK 26 build baseline.

Highlights:
- fixed macOS GitHub Actions JDK selection through JAVA_HOME
- preserved local macOS JDK discovery when JAVA_HOME is not explicitly set
- removed repeated expected SocketPermission removal warnings from the historical Java 2 example

Validation:
- JDK 26 GitHub Actions builds passed on Ubuntu, macOS, and Windows
- mvn test
- make docs
- node scripts/check-doc-navigation.mjs
- git diff --check
- make links locally before publishing

v1.6.1

Choose a tag to compare

@jrodolfo jrodolfo released this 28 Aug 22:44

Release Notes: v1.6.1

java-evolution v1.6.1 is a maintenance release following the move to the JDK 26 build baseline.

Highlights

  • Hardened socket-binding skip handling for restricted test environments, including wrapped socket failures.
  • Improved child-process lifecycle handling with asynchronous output draining, bounded waits, forced cleanup, and Windows executable resolution.
  • Restored Java 1.1 through Java 4 examples to historically appropriate APIs for reflection, security, JNDI, and JAXP.
  • Documented the distinction between Java 4-era XML processing APIs and later XML security hardening.
  • Removed order dependence from the in-memory JNDI test.
  • Updated documentation to reference v1.6.0 as the previous release and to include Java 26 AOT object caching consistently.

Validation

Run the following commands before publishing:

make java-version
make check-java-26
mvn test
make docs
make links
node scripts/check-doc-navigation.mjs
make demos
git diff --check

Observed validation during release preparation:

  • Focused tests passed with 7 tests, 0 failures/errors, and 1 expected sandbox skip.
  • Full Maven suite passed with 451 tests, 0 failures/errors, and 11 skips.
  • JavaDoc generation passed.
  • Documentation navigation audit passed.
  • git diff --check passed.
  • make links was not run in the restricted Codex sandbox; run it locally before publishing.

Suggested GitHub Release Text

java-evolution v1.6.1 is a maintenance release following the move to the JDK 26 build baseline.

Highlights:
- hardened socket-binding skip handling for restricted environments
- improved child-process output draining, timeouts, cleanup, and Windows executable resolution
- restored historically appropriate APIs in Java 1.1 through Java 4 examples
- documented the Java 4 JAXP boundary versus later XML security hardening
- updated documentation consistency for the v1.6.0 release and Java 26 AOT object caching

Validation:
- mvn test
- make docs
- node scripts/check-doc-navigation.mjs
- git diff --check
- make links locally before publishing

v1.6.0

Choose a tag to compare

@jrodolfo jrodolfo released this 28 Aug 15:20

Release Notes: v1.6.0

java-evolution v1.6.0 moves the repository build baseline from JDK 25 to JDK 26.

The repository still covers Java 1 through Java 26 as a didactic history of the language and platform. Java 26 is now the build and JavaDoc baseline, while Java 26 feature modules remain notes-only until each topic is separately evaluated for a faithful executable example.

Highlights

  • Updated Maven compilation and JavaDoc generation to use Java 26.
  • Updated GitHub Actions build and JavaDoc workflows to install Oracle JDK 26.
  • Replaced Java 25 helper scripts with Java 26 helper scripts for macOS, Linux, Windows Git Bash, and Windows PowerShell.
  • Updated the Makefile guard from check-java-25 to check-java-26.
  • Updated documentation and JavaDoc-facing comments so learners see JDK 26 as the active project baseline.
  • Preserved Java 25 preview examples as Java 25 material. Under JDK 26, tests skip only the child-compilation workflows that require a JDK 25 preview compiler, while still checking generated source and explanatory boundaries.
  • Updated Class-File API validation for the Java 26 class-file version.
  • Adjusted the ZGC generational-mode test for modern JDK behavior where the removed ZGenerational option can be rejected outright.

Why This Matters

Moving the build baseline to JDK 26 keeps the repository current while preserving its historical teaching model.

The important boundary remains intact: a newer project JDK does not automatically turn every current-release feature into a normal executable example. Preview APIs, incubator modules, removed APIs, runtime behavior, and performance-oriented features still need feature-by-feature evaluation before they move from notes-only material to runnable examples.

The Java 25 preview examples also remain historically honest. A JDK 26 compiler cannot serve as a JDK 25 preview compiler, so those child-process tests skip the old-preview execution path on JDK 26 instead of silently becoming Java 26 examples.

Validation

Before publishing this release, run:

make java-version
make check-java-26
mvn test
make docs
make links
node scripts/check-doc-navigation.mjs
make demos
git diff --check

Expected result:

  • Java and Maven report JDK 26
  • full Maven test suite passes on JDK 26
  • JavaDoc generation succeeds
  • Markdown link check passes
  • documentation navigation audit passes
  • practical demo test group passes
  • whitespace diff check passes
  • GitHub Actions build workflow passes on Ubuntu, macOS, and Windows with Oracle JDK 26

Observed release-preparation context:

  • make java-version reported Homebrew OpenJDK 26.0.2.1 and Maven using Java 26.0.2.1
  • make check-java-26 passed
  • make test passed with 437 tests, 0 failures, 0 errors, and 11 skipped
  • make docs passed
  • make docs-audit passed
  • make demos passed
  • git diff --check passed
  • make links could not complete inside the restricted Codex sandbox because broad external URL checks failed with connection errors; it should be run locally before publishing

Suggested GitHub Release Text

java-evolution v1.6.0 moves the repository build baseline from JDK 25 to JDK 26.

Highlights:
- updated Maven, Makefile guards, helper scripts, and GitHub Actions workflows for JDK 26
- replaced Java 25 helper scripts with Java 26 helpers for macOS, Linux, Windows Git Bash, and Windows PowerShell
- updated repository documentation and JavaDoc-facing comments for the JDK 26 baseline
- kept Java 26 feature modules notes-only until feature-by-feature executable-example review
- preserved Java 25 preview examples as Java 25 material by skipping old-preview child-compilation workflows under JDK 26
- updated Class-File API and ZGC runtime-boundary tests for JDK 26 behavior

Validation:
- make java-version
- make check-java-26
- make test
- make docs
- make docs-audit
- make demos
- git diff --check
- make links locally before publishing

v1.5.3

Choose a tag to compare

@jrodolfo jrodolfo released this 27 Aug 21:57

java-evolution v1.5.3 is a cross-platform validation patch for the JDK 25 build baseline.

Highlights:

  • expanded the GitHub Actions build workflow to run on Ubuntu, macOS, and Windows
  • kept Oracle JDK 25 as the required CI runtime for the build matrix
  • kept the build job running make check, matching the local compilation and test gate
  • left docs, pages, and link checks in their dedicated workflows for clearer failure reports

Validation:

  • GitHub Actions build workflow on Ubuntu, macOS, and Windows with Oracle JDK 25
  • Windows 11 IntelliJ Maven install
  • Windows 11 make test
  • Windows 11 make links