You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Compose events (batch) — compose <project> events collects Docker events filtered by compose project label with full pipeline support (where, select, limit, etc.). Note: this is a batch operation, not a live stream.
Compose logs streaming — compose <project> logs <service> streams real-time container logs for a compose service with pipeline filtering (where message contains "error", select message, line, limit) and --timeout support
Compose networks streaming — compose <project> networks with a pipeline streams real-time Docker network events filtered by compose project label (compose myapp networks | where action = connect | select time, actor_id)
Container log streaming — logs container <name> now supports streaming mode (follow) when a pipeline is present; pipeable with where, select, limit; --timeout auto-stops after a duration
REPL
Tab completion enhancements — 23 new keywords added: compose sub-targets (services, health, stats, ps, port, config, ls), pipeline nodes (having, offset, distinct, fill, let, debug, assert), string operators (starts_with, ends_with, between), window functions (row_number, rank, lag, lead), and end for case/when expressions
Testing
stream_compose_logs unit tests — 4 new tests with MockDockerClient: basic multi-container, select pipeline filtering, no-matching-containers early return, limit pipeline truncation
stream_compose_networks unit tests — 4 new tests: basic filtering by compose project, non-network event filtering, select pipeline, limit pipeline
Documentation
README.md — compose events, logs, and networks streaming examples in top examples, features, quick start, and bottom examples list
docs/spec.md — sections 2.8 and 9.2 updated with compose networks streaming; execution mode updated for all streaming targets
docs/tutorial.md — section 15 updated with compose events, compose logs streaming, compose networks streaming, and container log streaming examples
docs/examples.md — compose streaming examples added to all relevant sections
docs/index.html, spec.html, tutorial.html, examples.html — all HTML docs updated with compose streaming examples
docs/architecture.md — executor section updated with compose streaming dispatch description
Fixed
Compose events streaming documentation — compose myapp events is a batch operation (collects events via compose_events() in executor), not true streaming. Removed from --help and .help streaming targets list (events, logs, networks → logs, networks). The batch query still works correctly.
Install dol 0.7.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/genc-murat/DockQL/releases/download/v0.7.0/dol-installer.sh | sh
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 suggestions — suggest_keyword() with Levenshtein distance via strsim crate for pipeline nodes, analysis verbs, and alert actions (fltr → fill, grp → group, prnt → print, fnd → find)
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 output — about 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)
dol config --help enriched — ConfigAction 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