Skip to content

1.0.1

Choose a tag to compare

@LimeBeck LimeBeck released this 15 Sep 10:48
· 23 commits to master since this release
4eb181d

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.

Release CI and dashboard artifact · Passed PR matrix