diff --git a/.gitignore b/.gitignore index e7b87831..fbe3f796 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,6 @@ buildNumber.properties # VS Code .vscode/ + +# Copilot modernization session artifacts +.github/modernize/ diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md new file mode 100644 index 00000000..25e135f3 --- /dev/null +++ b/RELEASE-NOTES.md @@ -0,0 +1,123 @@ +# d1_libclient_java Release Notes + +## 2.4.0 (2026-07-06) + +- Intent: Deliver a modernization and maintenance release aligned with current Java runtimes and the current d1_common_java line. +- Security fixes: Updated Bouncy Castle dependencies to patch known security issues and hardened supporting behavior in related client paths. +- New features: Java 17/21/25 compatibility updates, migration of deploy/build flow to maven.dataone.org and wagon-ssh, and CI coverage with Maven verify on pushes and pull requests. +- Bug fixes: Refactored deprecated IOUtils usage, removed unused or extraneous dependencies/plugins/resources, adapted to d1_common API/library changes, and tightened runtime error handling in tests and client integration paths. +- Dependency and tooling updates: Bumped d1_common_java dependency through 2.5.0 and refreshed project/build metadata for current release practices. + +## 2.3.1 (2018-02-09) + +- Intent: Provide a focused patch release for trust-store updates and NodeList retrieval robustness. +- New features: Added LE and IdenTrust root certificates and refined fallback behavior when CN NodeList retrieval fails. +- Bug fixes: Improved D1Client error messaging and reduced complexity in node location/selection paths used by v1 and v2 implementations. + +## 2.3.0 (2016-11-08) + +- Intent: Strengthen HTTP client behavior and align exception handling with the 2.3 generation of shared APIs. +- New features: Added client-side HTTP caching, improved keep-alive/connection monitoring controls, and introduced utility classes for safer stream/HTTP-client lifecycle management. +- Bug fixes: Replaced legacy JiBXException usage with MarshallingException, fixed latent NPE/class-cast edge cases in download and resolve flows, and removed outdated caching/dependency pieces. + +## 2.2.0 (2016-06-14) + +- Intent: Advance 2.2 compatibility and tighten client concurrency/transport defaults. +- New features: Expanded connection-pool and timeout controls and improved monitor-thread behavior for HTTP connection management. +- Bug fixes: Addressed thread-safety issues in request/header handling and synchronized client behavior with evolving DataONE endpoint expectations. + +## 2.1.1 (2016-03-15) + +- Intent: Deliver an incremental stabilization patch on top of 2.1.0. +- New features: Point-release packaging and branch alignment updates. +- Bug fixes: Minor release-engineering and integration adjustments to keep the 2.1 stream stable. + +## 2.1.0 (2016-02-24) + +- Intent: Evolve client authorization and v2 API ergonomics for broader DataONE usage. +- New features: Added AuthTokenSession support and related token-aware REST client path selection for multipart operations. +- Bug fixes: Tightened method signatures/exception behavior (including hasReservation and getCN(session) deprecations) and improved node-locator refresh and endpoint fallback logic. + +## 2.0.0 (2015-11-24) + +- Intent: Establish the 2.x line of the Java client library. +- New features: Added broader v2 service support for package and object retrieval/use cases and refreshed test/build composition for the major release line. +- Bug fixes: Corrected endpoint selection and fallback behavior in get/download paths and fixed stream/resource cleanup issues in multipart client operations. + +## 1.3.1 (2014-11-26) + +- Intent: Publish a patch-level follow-up to the 1.3.0 line. +- New features: Version/packaging alignment with companion DataONE components. +- Bug fixes: Dependency and release-preparation cleanup. + +## 1.3.0 (2014-05-02) + +- Intent: Open the 1.3 release branch and stabilize client behavior for the next cycle. +- New features: Consolidated 1.3 branch baseline and compatibility updates. +- Bug fixes: General release hardening and branch synchronization. + +## 1.2.5 (2013-08-08) + +- Intent: Provide a focused parsing refinement release. +- New features: Refined ResourceMapFactory parsing to support serialized maps where only one side of inverse cito relationships is present. +- Bug fixes: Improved resilience of ResourceMap ingestion for partially expressed relationship graphs. + +## 1.2.4 (2013-07-01) + +- Intent: Prepare the client library for the CCI-1.2 release train. +- New features: Release alignment with coordinated DataONE component versions. +- Bug fixes: Branch/version stabilization and release packaging updates. + +## 1.2.3 (2013-06-05) + +- Intent: Keep dependency behavior in sync with updated d1_common_java scope constraints. +- New features: Updated dependency targeting to match new scope decisions in shared libraries. +- Bug fixes: Reduced unnecessary transitive dependency exposure. + +## 1.2.2 (2013-06-04) + +- Intent: Improve distribution ergonomics for downstream consumers. +- New features: Added jar-with-dependencies Maven assembly configuration. +- Bug fixes: Build/distribution configuration cleanup for packaged client delivery. + +## 1.2.1 (2013-02-22) + +- Intent: Pull in the d1_common_java 1.1.1 compatibility/temp-file fix line. +- New features: Updated shared dependency baseline. +- Bug fixes: Indirectly resolves temp-file portability behavior through dependency alignment. + +## 1.2.0 (2013-02-12) + +- Intent: Establish the 1.2 release line. +- New features: 1.2 baseline packaging and API alignment with companion components. +- Bug fixes: Release consistency improvements and branch stabilization. + +## 1.1.0 (2013-01-08) + +- Intent: Deliver the first 1.1 generation of the client library. +- New features: 1.1 baseline updates and coordinated dependency progression. +- Bug fixes: General maintenance and release preparation changes. + +## 1.0.4 (2012-07-11) + +- Intent: Continue 1.0 patch-line hardening. +- New features: Patch-level packaging and compatibility updates. +- Bug fixes: Minor maintenance and release corrections. + +## 1.0.3 (2012-07-03) + +- Intent: Publish a maintenance patch after 1.0.2. +- New features: Incremental release alignment with service/API revisions. +- Bug fixes: Stabilization fixes and release engineering updates. + +## 1.0.2 (2012-06-19) + +- Intent: Add ORE-generation improvements in the 1.0 maintenance line. +- New features: Incorporated ORE generation behavior using a #aggregation URI. +- Bug fixes: Minor patch-level corrections accompanying the ORE update. + +## 1.0.1 (2012-06-05) + +- Intent: First general-availability release of d1_libclient_java after release candidates. +- New features: Consolidated RC-era client utilities, multipart behaviors, and service-call wiring into the first stable 1.0 release. +- Bug fixes: Included RC-stage fixes for stream handling, object format/cache behavior, and endpoint compatibility. diff --git a/pom.xml b/pom.xml index 87123d4d..808c0c66 100644 --- a/pom.xml +++ b/pom.xml @@ -5,14 +5,14 @@ org.dataone d1_libclient_java jar - 2.4.0-SNAPSHOT + 2.4.0 DataONE Java Client Library http://dataone.org UTF-8 1.84 - 2.5.0-SNAPSHOT - 2.4.0-SNAPSHOT + 2.5.0 + 2.4.0 25