Skip to content

v1.8.1

Choose a tag to compare

@github-actions github-actions released this 26 Sep 23:07
· 13 commits to main since this release

[1.8.1] — 2026-09-27

The first module edit after the daemon starts updates the call graph in 0.24 s instead of 5.5 s (cold database of a stock trade configuration, 57k files); on a working installation — 0.39 s instead of 15.5. The graph after a batch matches 1.8.0 row for row.

Fixed

  • Call-graph layers were rebuilt by scanning every edge on each .bsl edit. In 1.8.0 the full index on the call kind was replaced by a partial one (WHERE call_type <> 'direct'), and SQLite uses a partial index only when the query condition explicitly implies it. Deleting the extension-override, subscription and form-event layers scanned all 614k edges, and inserting overrides scanned all 261k functions. The partial-index condition is now part of the query, and overrides get a partial index idx_functions_override: 5.28 → 0.023 s on a cold database, 0.50 → 0.006 s on a warm one.
  • Batch call resolution built temporary maps over every exported procedure in the database. It now looks up the name and owner indexes directly: 0.93 → 0.001 s cold, 0.22 → 0.001 s warm. The resolved targets match the full resolution.

Compatibility

  • Data and response formats are unchanged, no reindex is needed; the idx_functions_override index is created in place on first start.

Verification

  • cargo fmt --all, cargo clippy --all-targets --all-features -- -D warnings, cargo test --workspace --all-features — 1016 tests, 0 failed. New tests: layer deletion uses the partial index, override insertion uses the new index, batch resolution matches the full one.
  • Copy of a stock trade configuration (57k files), cold database: first edit — graph 5.5 → 0.24 s; batch of 100 modules — graph 3.2 → 2.3 s; graph after the batch — 614,328 edges, row for row identical to 1.8.0.
  • Working installation: first edit after start — graph 15.5 → 0.39 s, subsequent edits — 0.8 s → 40 to 54 ms.
  • Linux federation node (local build before publishing): startup reconciliation of six 1C databases without errors; statistics, search, callers, object profile and call-graph path through federation — green.

Russian version of the changelog: CHANGELOG.md.

Full Changelog: v1.8.0...v1.8.1