Skip to content

[codex] version3.8.0 release#36

Merged
MaxAkbar merged 8 commits into
mainfrom
version3.8.0
May 17, 2026
Merged

[codex] version3.8.0 release#36
MaxAkbar merged 8 commits into
mainfrom
version3.8.0

Conversation

@MaxAkbar
Copy link
Copy Markdown
Owner

Summary

This version3.8.0 release covers the commit range
ed572e47f9d20a4ffa40400cd0467f664f717f3e..HEAD.

The release adds native .csdbtable table archives, Admin Import / Export
workflows, and read-only SQL external tables. Archives now use the native
CSDBTBL3 seekable format with schema and manifest metadata, encoded rows, row
counts, source table metadata, created timestamps, and optional integer
primary-key archive indexes. Admin can export tables to browser downloads or
server/database-local paths, register archives as external tables, restore
archives to physical tables, show progress, and cancel long-running work.

The SQL/runtime work adds CREATE EXTERNAL TABLE ... FROM 'path.csdbtable',
DROP EXTERNAL TABLE, the internal __external_tables metadata table,
sys.external_tables, external table scans, indexed archive lookups, and joins
between live and archived tables. External .csdbtable registrations are
read-only in this release; writes, index creation, ALTER operations, and trigger
targets are rejected.

The Admin release also adds a Data Model tab. It visualizes user tables and
external tables on a draggable ERD-style canvas, supports zoom, opens from
Object Explorer and the command palette, and can hand selected layouts to the
existing Query Designer. The follow-up diagram work adds a real
__data_model_diagrams system table, sys.diagrams, named diagram
save/load/delete, remembered table membership and placement, a default global
diagram, and preview-first staged schema operations for SQL Server-style diagram
editing.

The docs/site portion adds planning documents for writable external tables,
Data Hygiene Engine, Developer Experience, Advanced Differentiators, and the
Database DevOps Toolkit. It also refreshes the roadmap, changelog, blog index,
and adds the v3.8 native table archives blog post.

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation update
  • Refactor / maintenance
  • Tests only

Related Issues

No issue numbers were linked for this release branch. Included work:

  • Added CSharpDB.ImportExport and CSharpDB.Admin.ImportExport.
  • Added native .csdbtable archive writing, reading, metadata, restore, and
    integer primary-key archive lookup support.
  • Added direct engine-transport table snapshot export for large table archives.
  • Added Admin Import / Export progress UI, cancellation, download staging,
    server-path exports, restore, and external table registration.
  • Added CREATE EXTERNAL TABLE and DROP EXTERNAL TABLE parser/runtime
    support.
  • Added __external_tables, sys.external_tables, external table object
    explorer entries, and query-tab catalog discovery.
  • Added external table scan, external index nested-loop join, and fast archive
    primary-key lookup planning.
  • Enforced read-only external table behavior for write, index, ALTER, and
    trigger-target operations.
  • Added Admin Data Model tab, schema canvas extraction, object explorer and
    command palette entry points, table/external table context entries, and Query
    Designer handoff.
  • Added __data_model_diagrams, sys.diagrams, hidden internal-table
    filtering, named diagram save/load/delete, and default global diagram
    placement persistence.
  • Added staged diagram schema operations for new table, drop table, rename
    table, add/drop/rename column, and add/drop relationship workflows.
  • Removed the unreleased __data_model_layout: saved-query persistence path.
  • Added planning docs for writable external tables, data hygiene, developer
    experience, advanced differentiators, and database DevOps tooling.
  • Refreshed roadmap/changelog/static website pages and added the native table
    archives blog post.

Testing

  • dotnet build CSharpDB.slnx
  • Relevant tests executed
  • Failure-path tests executed (if applicable: cancellation, invalid/unsupported inputs, non-DbException paths)
  • Manual verification performed (if applicable)

Validation performed:

  • dotnet build src\CSharpDB.Admin\CSharpDB.Admin.csproj
  • dotnet test tests\CSharpDB.Tests\CSharpDB.Tests.csproj --no-restore --filter "TableArchiveTests|ExternalTableTests|ParserTests|EngineTransportClientTests|DataModelGraphBuilderTests|DataModelDiagramServiceTests|SystemCatalogTests"
    • Passed: 170 tests.
  • dotnet test tests\CSharpDB.Admin.Reports.Tests\CSharpDB.Admin.Reports.Tests.csproj --no-restore --filter DbReportSourceProviderTests
    • Passed: 4 tests.
  • dotnet test tests\CSharpDB.Admin.Forms.Tests\CSharpDB.Admin.Forms.Tests.csproj --no-restore --filter TabManagerServiceTests
    • Passed: 17 tests.
  • git diff --check
  • Browser smoke test for opening the Admin Data Model tab and New Table staging
    panel.

Checklist

  • I followed the project style and conventions.
  • I added or updated tests for behavior changes.
  • I covered both success and failure paths for changed behavior.
  • I updated docs for user-facing changes.
  • I verified no sensitive data was added.

Notes for Reviewers

  • .csdbtable archives are native seekable packages, not CSV/JSON exports or a
    ZIP of JSON rows.
  • .csdbtable external tables are read-only by design in this release. Writable
    external tables are planned separately with a mutable .csdbx file.
  • External table registrations are stored in __external_tables; Data Model
    diagrams are stored in __data_model_diagrams. Both internal tables are
    hidden from normal table lists and exposed through sys.* views.
  • The Data Model tab persists layout/table membership independently from schema
    apply operations. Staged schema edits preview SQL first, then apply through
    existing client/engine capabilities.
  • Drop-table diagram actions still respect the existing engine FK rules. Tables
    with foreign-key-owned support indexes may need relationship cleanup before a
    drop can apply.
  • An initial parallel validation attempt hit a transient compiler output lock
    from VBCSCompiler; the affected tests were rerun sequentially after
    dotnet build-server shutdown and passed.

MaxAkbar added 7 commits May 9, 2026 22:02
Introduce CSharpDB.CodeModules with database-owned module storage, workspace export/import, Roslyn build diagnostics, local trust, and Admin Forms runtime contracts.

Wire Admin Forms events and selected-control events to optional CodeModuleHandler dispatch, add handler stub generation, Code Modules admin tab, and safe form command API support.

Refresh UDF/Admin Forms documentation and add the CodeModules README plus a real-world website blog walkthrough. Also fix the extra nested code-block lip in generated www pages.
@MaxAkbar MaxAkbar marked this pull request as ready for review May 17, 2026 01:42
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 55d1937fc6

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/CSharpDB.CodeModules/CSharpDbCodeModuleClient.cs Outdated
@MaxAkbar MaxAkbar merged commit fca25fa into main May 17, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant