Release/0.5.44 - #496
Release/0.5.44#496
Conversation
There was a problem hiding this comment.
1 issue found across 29 files
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name=".github/ISSUE_TEMPLATE/bug_report.yml">
<violation number="1" location=".github/ISSUE_TEMPLATE/bug_report.yml:4">
P3: This swap silently drops the automatic `bug` label from filed bug reports: GitHub issue types don't create or apply labels, so triage that filters on `label:bug` will stop catching new issues. `epic.yml` and `feature_request.yml` show the deliberate `type`-only pattern, but this is the only template that had a label, so confirm the removal is intentional or keep both keys.</violation>
</file>
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
| description: Report a bug in Grafeo | ||
| title: "[Bug]: " | ||
| labels: ["bug"] | ||
| type: Bug |
There was a problem hiding this comment.
P3: This swap silently drops the automatic bug label from filed bug reports: GitHub issue types don't create or apply labels, so triage that filters on label:bug will stop catching new issues. epic.yml and feature_request.yml show the deliberate type-only pattern, but this is the only template that had a label, so confirm the removal is intentional or keep both keys.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At .github/ISSUE_TEMPLATE/bug_report.yml, line 4:
<comment>This swap silently drops the automatic `bug` label from filed bug reports: GitHub issue types don't create or apply labels, so triage that filters on `label:bug` will stop catching new issues. `epic.yml` and `feature_request.yml` show the deliberate `type`-only pattern, but this is the only template that had a label, so confirm the removal is intentional or keep both keys.</comment>
<file context>
@@ -1,7 +1,7 @@
description: Report a bug in Grafeo
title: "[Bug]: "
-labels: ["bug"]
+type: Bug
body:
- type: textarea
</file context>
| type: Bug | |
| type: Bug | |
| labels: ["bug"] |
There was a problem hiding this comment.
All reported issues were addressed across 1 file (changes from recent commits).
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
There was a problem hiding this comment.
1 issue found across 1 file (changes from recent commits).
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="docs/architecture/feature-profiles.md">
<violation number="1" location="docs/architecture/feature-profiles.md:209">
P3: The `(standalone)` label is inaccurate: `compact-store` is already part of the WASM binding's `edge` profile (`edge = ["grafeo-engine/lpg", "gql", "compact-store", "grafeo-engine/regex-lite"]` in crates/bindings/wasm/Cargo.toml) and, since WASM's default is `browser = ["edge"]`, WASM users get it by default. It is also bundled in `embedded` in the Python/Node/C binding crates. So "Add `compact-store`" under the Edge profile instructs WASM users to opt into something their default profile already enables. Drop the `(standalone)` claim and note the crate-specific wiring, or the Atom Reference and Edge guidance contradict each other.</violation>
</file>
Tip: Review your code locally with the cubic CLI to iterate faster.
Re-trigger cubic
| | `async-storage` | (standalone) | Async WAL backend (tokio) | Implemented | | ||
| | `compact-store` | Edge | Read-only columnar store | Implemented | | ||
| | `async-storage` | Enterprise | Async WAL backend (tokio) | Implemented | | ||
| | `compact-store` | (standalone) | Columnar store for read-mostly datasets | Implemented | |
There was a problem hiding this comment.
P3: The (standalone) label is inaccurate: compact-store is already part of the WASM binding's edge profile (edge = ["grafeo-engine/lpg", "gql", "compact-store", "grafeo-engine/regex-lite"] in crates/bindings/wasm/Cargo.toml) and, since WASM's default is browser = ["edge"], WASM users get it by default. It is also bundled in embedded in the Python/Node/C binding crates. So "Add compact-store" under the Edge profile instructs WASM users to opt into something their default profile already enables. Drop the (standalone) claim and note the crate-specific wiring, or the Atom Reference and Edge guidance contradict each other.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At docs/architecture/feature-profiles.md, line 209:
<comment>The `(standalone)` label is inaccurate: `compact-store` is already part of the WASM binding's `edge` profile (`edge = ["grafeo-engine/lpg", "gql", "compact-store", "grafeo-engine/regex-lite"]` in crates/bindings/wasm/Cargo.toml) and, since WASM's default is `browser = ["edge"]`, WASM users get it by default. It is also bundled in `embedded` in the Python/Node/C binding crates. So "Add `compact-store`" under the Edge profile instructs WASM users to opt into something their default profile already enables. Drop the `(standalone)` claim and note the crate-specific wiring, or the Atom Reference and Edge guidance contradict each other.</comment>
<file context>
@@ -229,15 +205,16 @@ The complete list of individual feature flags (Layer 2) that profiles are compos
-| `async-storage` | (standalone) | Async WAL backend (tokio) | Implemented |
-| `compact-store` | Edge | Read-only columnar store | Implemented |
+| `async-storage` | Enterprise | Async WAL backend (tokio) | Implemented |
+| `compact-store` | (standalone) | Columnar store for read-mostly datasets | Implemented |
### Graph Model
</file context>
| | `compact-store` | (standalone) | Columnar store for read-mostly datasets | Implemented | | |
| | `compact-store` | Edge (WASM) and `embedded` (Python, Node.js, C bindings); standalone in the facade crate | Columnar store for read-mostly datasets | Implemented | |
backmerge
Benchmark Comparison (base vs PR)Measured on the same runner to eliminate hardware variance. Full resultsPerformance regressions
|
There was a problem hiding this comment.
All reported issues were addressed across 6 files (changes from recent commits).
Tip: Review your code locally with the cubic CLI to iterate faster.
Re-trigger cubic
Fix/411 wal transaction groups
concurrency problem fully fixed (#411)
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4 to 7. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](actions/setup-node@v4...v7) --- updated-dependencies: - dependency-name: actions/setup-node dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Updates the requirements on [pytest-benchmark](https://github.com/ionelmc/pytest-benchmark) to permit the latest version. - [Release notes](https://github.com/ionelmc/pytest-benchmark/releases) - [Changelog](https://github.com/ionelmc/pytest-benchmark/blob/master/CHANGELOG.rst) - [Commits](ionelmc/pytest-benchmark@v5.2.3...v5.3.0) --- updated-dependencies: - dependency-name: pytest-benchmark dependency-version: 5.3.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.48.0 to 1.50.3. - [Release notes](https://github.com/crate-ci/typos/releases) - [Changelog](https://github.com/crate-ci/typos/blob/main/CHANGELOG.md) - [Commits](crate-ci/typos@v1.48.0...v1.50.3) --- updated-dependencies: - dependency-name: crate-ci/typos dependency-version: 1.50.3 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [mozilla-actions/sccache-action](https://github.com/mozilla-actions/sccache-action) from 0.0.10 to 0.0.11. - [Release notes](https://github.com/mozilla-actions/sccache-action/releases) - [Commits](Mozilla-Actions/sccache-action@v0.0.10...v0.0.11) --- updated-dependencies: - dependency-name: mozilla-actions/sccache-action dependency-version: 0.0.11 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Fix/514 shortest path rows
added a warning to CHANGELOG.md for format change
- direct writes after use_graph("unknown") are logged for the graph
they went to; WAL buffer flushes keep push order
- incremental backups with nothing new no longer leave empty WAL
files; no checkpoint timer on a compacted read-only database;
compacted checkpoint headers count the base
- GQL INSERT treats MERGE variables as bound
- tests that did not test their claim, persistence and feature
profile docs, DDL replay logs skipped records
review findings for 0.5.44 related PR's
The direct write methods on GrafeoDB and Session (create_node, create_edge, set and remove property, add and remove label, delete, batch creates) now run as one transaction each through Session::write and the GraphWriter: checked against constraints and types, versioned, logged to the WAL, reported to CDC, on the selected graph, and they return Result. - UNIQUE checks see the transaction's own writes - CDC folds property changes of entities created in the same transaction into their create event; label events read labels through the transaction - every commit syncs the root store epoch - bindings pass the errors through; tests, benches and examples updated
test and fixes
Summary by cubic
Releases the 0.5.44 stabilization release, synced with
mainvia a backmerge. Fixes silent wrong query results, crashes, and data-loss edge cases: a commit that fails with a write-write conflict aborts the transaction, an interrupted checkpoint no longer corrupts the database, and checkpoints aftercompact()no longer drop schema, indexes, or RDF data. Adds a CHANGELOG heads-up that 0.5.45 changes the on-disk format — it migrates automatically on first open, after which 0.5.44 and older can no longer open the database.Bug Fixes
<file>.checkpointsidecar and copy it over the database only once complete, so a failed checkpoint leaves the last good state readable and the next open finishes an interrupted one; a checkpoint needs free disk space for a second copy while it runs.compact()write the complete state so schema, indexes, and RDF data survive a reopen; periodic andclose()checkpoints previously left them out..grafeodatabase that wasn't closed cleanly; WAL-directory databases are locked against a second open, andwal_checkpoint()no longer deletes uncheckpointed WAL files.shortestPath()/allShortestPaths()honor hop bounds;all()/any()and path comprehensions resolve properties; GQLINSERTcreates unlabeled endpoints and reuses matched nodes;Timecompares by UTC instant; Python aware datetimes roundtrip at year 1–9999; long^/-/+chains fail with a nesting-depth error; property and vector index cleanup after deletes and rollbacks is fixed, including labels with:.n.meta.route) resolves in both GQL and Cypher.New Features
db.graph(name)returns a handle that works in one named graph without switching the database's current graph, in the engine and the Python binding.features()andbuild_info()(version, gitcommit,dirty,features,profile); Louvain results are deterministic.GraphWriter: checked against constraints and types, versioned, WAL-logged, and CDC-reported, on the selected graph, returningResult;UNIQUEchecks see the transaction's own writes, and CDC folds a created entity's property changes into its create event.RdfPlanner::with_walis no longer public, and the mutation operators write through aGraphWriter.Also adds repository policy checks (
scripts/check_policy.py) as a required CI gate covering the repository tree, diffs, and pull request eligibility, plus pre-commit hooks that reject AI co-author andGenerated withcommit-message lines; the PR template now requires declaring AI tools used. Adds an Epic issue template, switches issue templates to issue types, refreshes the Discord invite link, rewrites the roadmap to per-release milestones, and updates the feature-profiles doc. Bumps the Rust dependency group (16 crates, includingparquetto 60 andregexto 1.13),pytest-benchmarkto>=5.3.0, and GitHub Actionssetup-node/setup-goto v7,sccache-actionto 0.0.11,typosto 1.50.3, andrust-toolchainto 1.120.0 (now ignored by dependabot).Written for commit dd52fe5. Summary will update on new commits.
Closes #411
Closes #395
Closes #417
Closes #509
Closes #418
Closes #511
Closes #513
Closes #514
Closes #424
Closes #420
Closes #421
Closes #344
Closes #405
Closes #409
Closes #419
Closes #422
Closes #410
Closes #454
Closes #356
Closes #526
Closes #460
Closes #462