Repository navigation
1.0.1
What's changed
- Scoped client ownership: DockerClient implements AutoCloseable and supports Kotlin .use {}. Raw exec/attach sessions retain their own lifecycle.
- Connection diagnostics: opt-in diagnoseConnection and diagnoseFailure provide classified failures and actionable guidance. Diagnostic reports omit raw exceptions, socket paths, credentials and response data; diagnostic probes bypass SDK HTTP logging.
- Exception context: failures carry safe HTTP method, route template, API version, stage and status when available. Access them through Throwable.dockerContext; original exception types and causes remain available for trusted debugging.
- Documentation: expanded KDoc, clarified input units/defaults, error and ownership contracts, and embedded compiled usage examples directly into Dokka API pages.
- Dashboard terminal: hide the scrollbar in the alternate screen used by mc/vim and restore it for shell scrollback, including refitting on buffer changes.
- Dashboard binary: Release CI and one PR CI matrix cell publish htmxDashboard.kexe as the htmx-dashboard-linux-x64 workflow artifact. Download it from the Actions run's Artifacts section, extract it, and run chmod +x htmxDashboard.kexe.
Compatibility notes
- getOrThrow() on SDK errors with context now throws DockerResultException, still an IllegalStateException. Its error property and available cause retain original details.
- DockerApiException messages contain the numeric HTTP status without raw daemon text; its error property remains available.
- Non-HTTP exec/attach handshake failures now propagate their original exception instead of being reduced to an ErrorResponse string.
- Raw exception graphs and error values may contain sensitive data. Only SDK-generated diagnostic reports and operation context are intended for safe display.
- Supported targets remain Linux JVM, Node.js and Linux X64 Native with fixed Docker API 1.51. macOS/Windows support is future work.
- The existing API extension mechanism is unchanged. Replacing the diagnostic route allowlist with metadata supplied by extensions is recorded in the roadmap.
User guide and API reference · Migration notes · Dashboard instructions
Maven coordinates: dev.limebeck.libs:docker-client:1.0.1. Release CI passed and Central Portal accepted the automatic publication. Public Maven Central propagation is still in progress; dependency resolution may temporarily return 404.