CVOYA Graph is downloadable open-source computer software published by CVOYA. Download the tagged source archive (cvoya-graph-source.zip) below, or install the packages from NuGet.
The current packages use the Cvoya.Graph.* IDs and replace the earlier Cvoya.Graph.Model.* package line. See the CVOYA software catalog for the project overview and download links.
What's Changed
- Fixed the testing infrastructure when using containers and starting to setup github actions by @savasp in #3
- Improve Graph.Model readability and modularization by @savasp with @Copilot in #2
- Update all documentation in the repository to reflect current state by @savasp with @Copilot in #27
- Fix examples 4 and 5 by @savasp with @Copilot in #44
- Bump rexml from 3.4.1 to 3.4.2 in the bundler group across 1 directory by @dependabot[bot] in #55
- Migrate solution to .NET 10 only in #56
- docs: AI agent docs (CLAUDE.md, AGENTS.md, skills) and .NET 10 cleanup in #57
- remove unecessary file by @savasp in #58
- feat: multi-agent setup with hooks, skills, and orchestration in #59
- Fix transaction leaks, deadlocks, and test infrastructure in #60
- chore: add frontmatter to all agent definitions by @savasp in #63
- Bump addressable from 2.8.7 to 2.9.0 in the bundler group across 1 directory by @dependabot[bot] in #61
- Bump the nuget group with 2 updates by @dependabot[bot] in #62
- chore: overhaul AI agent configuration and add Codex setup by @savasp in #92
- Bump the nuget group with 2 updates by @dependabot[bot] in #64
- Bump concurrent-ruby from 1.3.5 to 1.3.7 in the bundler group across 1 directory by @dependabot[bot] in #65
- chore: adopt spring-voyage's CI job structure and required-checks gate by @savasp-agent[bot] in #105
- [codex] Skip full CI for doc-only changes by @savasp in #107
- [codex] Enable CodeQL scanning by @savasp in #108
- [codex] Run CI for merge queue by @savasp in #109
- docs: ADR-0001 — shared Cypher translation layer and multi-provider architecture by @savasp-agent[bot] in #103
- fix: order before Distinct+Skip in CanQueryWithDistinctAndSkip test by @savasp-agent[bot] in #106
- test: provider-free LINQ-to-Cypher characterization suite + generator snapshots by @savasp-agent[bot] in #104
- fix: repair LINQ translation phase 0 gaps by @savasp-agent[bot] in #119
- fix: delete complex property subtrees safely by @savasp-agent[bot] in #131
- refactor: remove provider-specific serialization names by @savasp-agent[bot] in #132
- test: add core library unit coverage by @savasp-agent[bot] in #133
- test: restore Neo4j Testcontainers path by @savasp-agent[bot] in #127
- Docs: fix site accuracy and provider guide by @savasp-agent[bot] in #118
- ci: harden CI and security scanning by @savasp-agent[bot] in #115
- Bump the github-actions group with 8 updates by @dependabot[bot] in #137
- Bump the nuget-dependencies group with 16 updates by @dependabot[bot] in #138
- chore: add org OSS hygiene safeguards by @savasp-agent[bot] in #114
- fix: address small correctness issues by @savasp-agent[bot] in #117
- chore: centralize build engineering metadata by @savasp-agent[bot] in #130
- fix: correct GraphDataModel complex-type and dictionary classification by @savasp-agent[bot] in #145
- test: add explicit polymorphic base/derived deserialization scenarios by @savasp-agent[bot] in #141
- perf: replace generator's static reference cache with proper incrementality by @savasp-agent[bot] in #142
- perf: restore SchemaRegistry lock-free read fast path by @savasp-agent[bot] in #144
- docs: add generated DocFX API reference site by @savasp-agent[bot] in #143
- fix: preserve DynamicRelationship Id through EntityFactory deserialization by @savasp-agent[bot] in #140
- perf: resolve cascade-delete labels from schema metadata, not db.labels() by @savasp-agent[bot] in #149
- ci: tag-triggered release pipeline with NuGet Trusted Publishing + package icon by @savasp-agent[bot] in #147
- fix: harden Cypher identifier handling for dynamic labels, types, and property names by @savasp-agent[bot] in #154
- fix: resolve complex-property collection serializer by ActualType, not declared type by @savasp-agent[bot] in #151
- feat: analyzer audit - map original rules to GM001-GM011, add GM012/GM013 by @savasp-agent[bot] in #152
- fix: fail fast on duplicate node/relationship/property labels at runtime by @savasp-agent[bot] in #158
- feat: add GM014 analyzer rule - graph entity types must be reference types by @savasp-agent[bot] in #162
- feat!: query surface v2 — single queryable interface, internal terminals, IGraphPath, sync roots, Option C traversal by @savasp-agent[bot] in #167
- fix: enforce ConfigureAwait in src by @savasp-agent[bot] in #169
- Fix cancellation propagation and streaming query execution by @savasp-agent[bot] in #175
- Refactor Neo4j LINQ dispatch markers by @savasp-agent[bot] in #171
- fix: harden label reverse lookups by @savasp-agent[bot] in #170
- fix: preserve CodeGen incrementality across unrelated edits by @savasp-agent[bot] in #174
- Fix query terminal bodies and API contracts by @savasp-agent[bot] in #173
- chore: raise SDK floor to 10.0.301 for Roslyn 5.6.0 by @savasp-agent[bot] in #176
- Fix ordered aggregate Cypher emission by @savasp-agent[bot] in #179
- Fix Neo4j test startup to prefer Podman by @savasp-agent[bot] in #184
- fix: remove bidirectional relationship storage direction by @savasp-agent[bot] in #182
- test: add wave-3 QA coverage pins by @savasp-agent[bot] in #181
- docs: compile-audit samples and analyzer rules by @savasp-agent[bot] in #183
- Fix First/Single async terminal semantics by @savasp-agent[bot] in #180
- chore: add local CodeQL validation by @savasp-agent[bot] in #189
- chore: clarify local CodeQL manual mode by @savasp-agent[bot] in #193
- docs: normalize queryable terminal examples by @savasp-agent[bot] in #190
- fix: pipe aggregate pagination and min/max empty detection by @savasp-agent[bot] in #192
- fix: harden relationship direction materialization by @savasp-agent[bot] in #191
- feat!: one label per type; remove additional labels by @savasp-agent[bot] in #198
- feat: ship contract suite as Cvoya.Graph.Model.CompatibilityTests TCK (#95) by @savasp-agent[bot] in #196
- docs: ADR-0002 — complex properties as first-class graph structure by @savasp-agent[bot] in #200
- feat: add Cypher AST foundation by @savasp-agent[bot] in #208
- feat: add GraphQueryModel semantic IR by @savasp-agent[bot] in #209
- feat: add shared LINQ query model builder by @savasp-agent[bot] in #211
- feat: add shared Cypher pipeline and first-class complex properties by @savasp-agent[bot] in #213
- refactor: rename GraphModel → CVOYA graph (GM→CG diagnostics, Cvoya.Graph namespace) by @savasp in #222
- Add a CVOYA Graph mark and make CVOYA's authorship explicit by @savasp-agent[bot] in #228
- fix: close release and CodeQL follow-ups by @savasp-agent[bot] in #229
- Say 'the code CVOYA publishes' rather than 'open source released by CVOYA' by @savasp-agent[bot] in #230
- fix: align package identity on CVOYA LLC and repair SimpleMovieExample.sln by @savasp-agent[bot] in #234
- feat: planner-parity query model, pattern escaping, Evaluate fast path, and #221 semantics pin (W6-1) by @savasp-agent[bot] in #237
- feat: in-memory reference provider (Cvoya.Graph.InMemory) + #227 schema-ordering fix by @savasp-agent[bot] in #238
- perf: batch complex-property writes; pin concurrency and collision semantics by @savasp-agent[bot] in #241
- fix: make schema initialization deterministic across CRUD paths by @savasp-agent[bot] in #242
- fix: restore docs site and enforce file headers by @savasp-agent[bot] in #244
- ci: expand and harden CodeQL analysis by @savasp-agent[bot] in #249
- feat: add Cypher dialect and neutral result SPI by @savasp-agent[bot] in #246
- ci: cover all documentation site inputs by @savasp-agent[bot] in #251
- fix: make property labels consistent and diagnose complex misuse by @savasp-agent[bot] in #247
- fix: update Neo4j index recreation for Neo4j 5 by @savasp-agent[bot] in #252
- Harden analyzer and Actions security gates by @savasp-agent[bot] in #260
- fix: isolate Neo4j test database pools across processes by @savasp-agent[bot] in #254
- feat: complete TraversePaths composition and hydration by @savasp-agent[bot] in #259
- chore: inherit agent session models by @savasp-agent[bot] in #263
- ci: stop running CodeQL on merge-queue refs by @savasp-agent[bot] in #267
- ci: trim CodeQL suites to security-extended by @savasp-agent[bot] in #268
- feat: add Apache AGE graph provider by @savasp-agent[bot] in #262
- ci: consolidate required validation by @savasp-agent[bot] in #270
- fix: remediate Recommended globalization findings by @savasp-agent[bot] in #276
- fix: remediate Recommended API lifecycle findings by @savasp-agent[bot] in #278
- fix: remediate Recommended reliability findings by @savasp-agent[bot] in #277
- Extract shared LINQ scaffolding and stream AGE results by @savasp-agent[bot] in #279
- perf: batch AGE complex-property writes by @savasp-agent[bot] in #282
- fix: preserve LINQ sequencing and string overload semantics by @savasp-agent[bot] in #284
- fix: remediate Recommended performance findings by @savasp-agent[bot] in #283
- fix: finish Recommended analyzer activation by @savasp-agent[bot] in #285
- test: promote complex property pins to provider contract by @savasp-agent[bot] in #286
- chore(deps): bump actions/attest-build-provenance from 2.4.0 to 4.1.1 in the github-actions group by @dependabot[bot] in #296
- Bump the nuget-dependencies group with 4 updates by @dependabot[bot] in #297
- feat(fts): define and enforce the FullTextSearch semantic contract (#288) by @savasp-agent[bot] in #298
- feat(graph): single-round-trip subgraph creation (node + relationship + node) (#45) by @savasp-agent[bot] in #299
- feat(query): pattern comprehensions — correlated collection subqueries in projections (#120) by @savasp-agent[bot] in #303
- test(tck): capability-gated coverage for the untested GraphCapability members (#294) by @savasp-agent[bot] in #304
- fix(query): preserve post-paging ordering through hydration by @savasp-agent[bot] in #326
- feat(cypher): dialect-owned full-text clause rendering (#292) by @savasp-agent[bot] in #311
- feat(age): FullTextSearch via two-phase id-seeding (#290) by @savasp-agent[bot] in #321
- test(neo4j): isolate direct-driver schema initialization by @savasp-agent[bot] in #329
- feat(inmemory): implement FullTextSearch (#289) by @savasp-agent[bot] in #322
- feat(query): scalar-key GroupBy on the shared query model (#306) by @savasp-agent[bot] in #323
- fix(query): enforce grouped projection parity (#307, #318) by @savasp-agent[bot] in #324
- feat(query): node relationship-count degree projection (#300) by @savasp-agent[bot] in #325
- feat(cypher): add scoped collection expressions by @savasp-agent[bot] in #331
- feat: support search traversal sources by @savasp-agent[bot] in #332
- refactor(age): migrate clause and temporal rewrites to AST passes by @savasp-agent[bot] in #333
- fix(neo4j): make schema initialization resilient across concurrent stores by @savasp-agent[bot] in #334
- Present CVOYA Graph as downloadable CVOYA software by @savasp-agent[bot] in #336
- refactor(age): lower label patterns through AST by @savasp-agent[bot] in #337
- refactor(age): lower entity projections through AST by @savasp-agent[bot] in #338
- refactor(age): lower inline complex-property projections by @savasp-agent[bot] in #339
- feat(age): support correlated collection projections by @savasp-agent[bot] in #340
- feat(age): support scalar-key GroupBy aggregation by @savasp-agent[bot] in #342
- fix: allow dynamic NuGet submission restore by @savasp-agent[bot] in #343
- feat(age): batch subgraph creation by @savasp-agent[bot] in #344
- feat: strengthen CVOYA Graph release identity by @savasp-agent[bot] in #347
- feat: finish the graph operator surface by @savasp-agent[bot] in #348
- feat: refine graph query composition boundaries by @savasp-agent[bot] in #351
- feat: add LongCount to scalar GroupBy while retaining the materialization boundary by @savasp-agent[bot] in #352
- feat!: close the final compatibility gate by @savasp-agent[bot] in #353
- feat: support in-memory entity ordering by @savasp-agent[bot] in #358
- fix: isolate package validation and centralize agent test guidance by @savasp-agent[bot] in #399
- feat!: make releases tag-authoritative by @savasp-agent[bot] in #402
- fix: preserve simple collections during materialization by @savasp-agent[bot] in #404
New Contributors
- @savasp made their first contribution in #3
- @savasp with @Copilot made their first contribution in #2
- @dependabot[bot] made their first contribution in #55
Full Changelog: https://github.com/cvoya-com/graph/commits/v1.0.0-alpha.20260717
