Tags: Juniper/netconf-java
Tags
feat: negotiate NETCONF capabilities and type rpc-errors Teach sessions to negotiate the shared NETCONF base capability and gate operations against what the server actually advertises. Add structured RpcErrorException and ValidateException flows, harden rpc-error parsing for namespaced replies, and update commit/load/validate behavior to preserve server detail. Back the change with unit and integration coverage, Javadocs for the new public API, and a sanitized integration runner/docs path story.
Refactor netconf-java to remove Lombok and improve Java compatibility
- Removed all Lombok annotations and replaced with explicit builders, constructors, and accessors
- Fixed SpotBugs warnings (EI_EXPOSE_REP, UPM, DLS) with defensive copies and suppression annotations
- Improved XML parsing robustness and logging for better debuggability
- Removed unused or redundant private methods and variables
- Prepped codebase for modern Java versions (Java 17+ compatibility)
This refactor preserves public APIs but improves maintainability, static analysis, and future extensibility.
Highlights
• Gradle 8 / Java 17 compatibility
• Added Gradle wrapper & build instructions, updated .gitignore (build/)
• Upgraded SpotBugs to 6.x; replaced deprecated string→enum coercion
• Adopted Gradle Testing Suites DSL (useJUnitJupiter('5.11.1')) and removed manual JUnit deps
• Eliminated all empty <p> tags, malformed HTML, missing @param/@return, and default-ctor warnings
• Added @SuppressWarnings("unchecked") where parent class returns raw types
• Deprecated API cleanup
• Replaced MockitoAnnotations.initMocks with openMocks + AutoCloseable teardown
• README refresh
These changes remove all Javadoc/SpotBugs/Gradle deprecation warnings and prepare the project for Gradle 9 + Java 17 while keeping Maven support intact.
* Merged :confirmed-commit:1.1, cancel-commit & kill-session bullet-points
into the existing **v2.2.0** changelog
* Updated headline, feature list, build instructions (Gradle wrapper note),
and Maven/Gradle code snippet (try-with-resources)
Added Integration tests. You can use juniper crpd eval and run with docker/colima. Once you set up a basic config to enable ssh and netconf, you can run the integration tests
Added tests to validate RFC 6242 MUSTs
Only depend on the SLF4 API (#56) The user of the library includes a logging dependency. Most spring and micronaut projects use logback, and that works perfectly with the slf4j APIs. It conflicts with the slf4j-log4j12 dependency, however, and that's surprising as a library consumer, it requires special logic to exclude the dependency.
NETCONF RFC6241 and RFC6242 conformance fixes (#22) * - NETCONF RFC6241 and RFC6242 conformance fixes . xml version conformance . hello message conformance . rpc message conformance . framing protocol conformance - Extracting reused strings to constants - updated gitignore * - used single imports - fixed broken idents caused by auto-formatting * increased version to 2.0.1
PreviousNext