ข้ามไปยังเนื้อหา

Compatibility

เนื้อหานี้ยังไม่ได้แปลเป็นภาษาไทย แสดงเป็นภาษาอังกฤษแทน

CephalonEngine ships with an explicit compatibility contract. The point of this page is to give you a single answer to “is this combination supported?” before you commit to it.

ItemStatus
.NET 10supported — the shipping baseline.
.NET 11assessment-only readiness lane. Tracked publicly, not yet a support claim.
.NET 9 and earlierunsupported. The engine API surface uses .NET 10 features.

cephalon doctor always prints the active shipping baseline plus the readiness lane status, so build agents and developer machines see the same truth.

Each deployment mode has its own support claim, regardless of the .NET runtime version:

ModeStatusNotes
Standard self-contained / framework-dependentsupportedThe default. Every shipped sample runs in this mode.
Single-filewarn — outside support contractGenerated apps will publish, but reflection-based discovery requires extra config.
ReadyToRunexperimentalNot blocked, not blessed.
Trimmingwarn — outside support contractSeveral companion packages use unbounded reflection (EF Core, message-pipeline source-gen alternatives).
Native AOTwarn — outside support contractSame constraints as trimming, plus source-generation gaps.

The intent is to graduate trim and AOT as packages adopt source-generated alternatives. The current per-package posture is tracked in Engine surface maturity audit.

Host package.NET targetStatus
Cephalon.AspNetCorenet10.0M3
Cephalon.AspNetCore.GraphQLnet10.0M2
Cephalon.AspNetCore.Grpcnet10.0M2
Cephalon.AspNetCore.JsonRpcnet10.0M2
Cephalon.Workernet10.0M3

The data abstractions are runtime-neutral; concrete adapters carry their own minimum-version claim:

BackendAdapterMin version
PostgreSQLCephalon.Data + Npgsql14+
SQL ServerCephalon.Data + Microsoft.Data.SqlClient2019+
MySQL / MariaDBCephalon.Data + MySqlConnector8.0 / 10.6+
Oracle DatabaseCephalon.Data + Oracle.ManagedDataAccess19c+
MongoDBCephalon.Data + Mongo.Driver6.0+
CassandraCephalon.Data.Cassandra4.0+
ClickHouseCephalon.Data.ClickHouse23.8+
RedisCephalon.Data.Redis6.2+
ElasticsearchCephalon.Data.Elasticsearch8.x
OpenSearchCephalon.Data.OpenSearch2.x
Neo4jCephalon.Data.Neo4j5.x
QdrantCephalon.Data.Qdrant1.7+
NATS JetStreamCephalon.Data.Nats2.10+

The dependency-health probes follow the same minimums.

OSStatus
Windows Server 2022 / 2025supported, including Windows Service deploy target.
Windows 11 24H2+ (dev)supported.
Ubuntu 22.04 / 24.04 LTSsupported, including systemd deploy target.
Debian 12supported.
Alpine 3.20+supported, used by the default container image.
RHEL 9 / Rocky 9supported.
macOS 14+ (dev)supported for development; not a deployment target.

Within a minor release of the engine (e.g. 0.1.x):

  • Public API on Cephalon.Abstractions is additive.
  • Companion-package public API is additive within the same M* level.
  • Manifest schema bumps come with a manifest schema version increment and a migration note.
  • Engine:* configuration keys are stable; new keys are additive with safe defaults.

Across minor releases (e.g. 0.1.x0.2.x):

  • The engine version bumps. Compatibility metadata enforces that companion packages built against 0.1.x are flagged at composition time.
  • Breaking changes are documented in Migration → Breaking changes with a “before / after” snippet for each affected API.
  • The engineering-standards doc reviews acceptable breakage when it lands.

How to check compatibility programmatically

Section titled “How to check compatibility programmatically”

The runtime exposes the active contract via IRuntimeManifest and snapshot.* configuration keys:

Program.cs
var manifest = runtime.GetManifest();
Console.WriteLine(manifest.EngineVersion); // "0.1.0-preview"
Console.WriteLine(manifest.ManifestSchemaVersion); // "v2"
Console.WriteLine(manifest.DeploymentMode.Baseline); // "net10.0"

And from the CLI:

Terminal window
cephalon doctor --json | jq '.deploymentMode'