Skip to content

0.6.0 - 2026-06-05

Choose a tag to compare

@github-actions github-actions released this 05 Jun 09:19

Release Notes

Added

Configurable Docker API Timeouts

  • Timeout configuration system — all Docker API call timeouts are now configurable via dol config set or YAML/TOML config file
  • DockerApiConfig struct with call_timeout, quick_timeout, max_retries, retry_base_ms — read from DolConfig via From<&DolConfig>
  • docker_call(), docker_call_quick(), docker_call_with_retry() — timeout-aware helper functions with exponential backoff retry
  • BollardDockerClient::connect_with_config() — create client with configurable timeout settings
  • BollardMetricsCollector::with_config() — create collector with configurable stats timeout
  • alerts::init_alert_timeouts() — global OnceLock-based alert timeout initialization from config
  • DockerError::Timeout(u64) — dedicated timeout error variant
  • 6 new config keys: api-timeout (30s), api-quick-timeout (10s), stats-timeout (10s), events-timeout (30s), webhook-timeout (10s), restart-timeout (30s)
  • 13 unit tests covering YAML/TOML round-trip, deserialization, DockerApiConfig conversion, and error handling

Parser Error Message Improvements

  • expect_ident() and expect() now show both expected and found tokens — e.g., expected \then`, found `emai`instead of justexpected `then``
  • Keyword similarity suggestionssuggest_keyword() with Levenshtein distance via strsim crate for pipeline nodes, analysis verbs, and alert actions (fltrfill, grpgroup, prntprint, fndfind)
  • suggest_keyword(input, keywords) — reusable helper filtering by first character + strsim::levenshtein() minimum
  • 9 new unit tests for keyword suggestions with close and distant misspellings

CLI Polish

  • Rich --help outputabout field rewritten with descriptive text; new long_about with DOL overview; after_help with 23 categorized example queries (basic, advanced, files/store, output/integration, interactive modes)
  • Improved subcommand descriptionsrepl (+tab completion, history, syntax-colored errors), top (+CPU, memory, network stats), dashboard (+event stream, resource gauges)
  • dol config --help enrichedConfigAction variants (init, set, view) now have doc comments with usage hints

API Documentation

  • Module-level //! docs with examples — added to all 18 library modules (alerts, ast, cli, config, dashboard, docker, eval, events, executor, export, lib, metrics, parser, planner, repl, semantic, sqlite_store, storage)
  • lib.rs crate root doc — module overview table with one-line descriptions for all 19 submodules
  • All examples use ignore blocks (require Docker), format: description + # Example + code
  • cargo doc --no-deps: 0 warnings

Changed

Non-breaking

  • BollardDockerClient::connect() now uses DockerApiConfig::default() for backward compatibility
  • BollardDockerClient::connect_with_host() accepts &DolConfig for timeout configuration
  • str_similarity() replaced with strsim::levenshtein() for accurate Levenshtein edit distance
  • suggest_similar_target() refactored to use suggest_keyword() internally

Documentation

  • README.md restructured — features list condensed from 30+ to 15 items; duplicate "Query Timeout" section removed; REPL/Dashboard sections shortened with links to docs/; new "Error Messages" section showcasing improved parser errors; CLI Flags table deduplicated
  • docs/spec.md — new "Docker API Timeout Configuration" section with all 6 timeout keys, defaults, and example YAML
  • docs/architecture.md — updated Docker Client (timeout/retry helpers), Alerting Engine (configurable timeouts), and Config Loader (12-key table) sections
  • docs/examples.md — new section 32 "Configurable Timeouts" with dol config set examples and YAML config template
  • docs/examples.html — regenerated from examples.md via pandoc, includes new section 32
  • docs/index.html — feature grid updated with "Configurable Docker API timeouts (with retry)"
  • Fixed metrics_interval (10→30) and snapshot_interval (60→300) defaults in architecture.md to match code constants

Code Quality

  • 21 new tests (13 config + 8 parser)
  • Test count: 413 total (+21), 0 failed, 1 ignored
  • cargo clippy — zero warnings
  • cargo audit — zero vulnerabilities
  • CI: example validationscripts/validate_examples.sh now runs in CI after tests, validating all 101 .dol example files with dol --explain
  • CI: rust-cacheSwatinem/rust-cache@v2 added for faster incremental builds

Dependencies

  • Added: strsim = "0.11.1" (Levenshtein distance for keyword suggestions)
  • Updated: bitflags 2.11.1 → 2.12.1, chrono 0.4.44 → 0.4.45, log 0.4.30 → 0.4.32, yoke 0.8.2 → 0.8.3 (cargo update, 2026-06-05)
  • Added: DEPENDENCY_POLICY.md — formal dependency upgrade policy (cadence, pinning, audit requirements, adding new dependencies)

Install dol 0.6.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/genc-murat/DockQL/releases/download/v0.6.0/dol-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/genc-murat/DockQL/releases/download/v0.6.0/dol-installer.ps1 | iex"

Download dol 0.6.0

File Platform Checksum
dol-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
dol-x86_64-apple-darwin.tar.xz Intel macOS checksum
dol-x86_64-pc-windows-msvc.zip x64 Windows checksum
dol-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
dol-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum