This commit is contained in:
deeaitch committed 2026-10-11 06:30:18 -04:00
1 parent 51fcdb88ac
commit 0708316a37
155 files changed
+5190 -2691

No files matched your search

+17
View File
@@ -10,6 +10,13 @@ existing Git tag; subsequent changes are listed as unreleased.
#### Added
- Stable application identifiers: `FrameKey` (normalized CAN ID and frame type)
and `SignalKey` (frame key and signal name), with equality and hashers.
- Runtime `FindSignal`, frame `GetKey`, and keys on decoded frame/signal results.
- Reload/lifetime tests for retained frames and independent signals, lookup
handles, copies/moves, snapshot release, stable keys, removed/renamed definitions,
failed/empty reloads, duplicate keys, and insufficient payloads.
- `ParseFileWithDiagnostics` and `DbcParseResult` with severity, stable error
code, supplied file path, physical line number, and message for each diagnostic.
- Warnings for unregistered statements, including floating-point signal types,
@@ -21,6 +28,16 @@ existing Git tag; subsequent changes are listed as unreleased.
#### Changed
- **API change:** `DecodeDatabase` is an immutable shared snapshot. Use
`GetFrames()` for reads or construct a new snapshot from a vector; its frame
index is private and built automatically, with duplicate-key validation.
- **API change:** decoded `definition` fields and `DbcDecoder::FindFrame` return
`shared_ptr<const ...>` ownership. Stored results retain old definitions across
reload/clear/destruction, including separately copied signals and `VAL_` strings.
Decoding shares metadata without per-result definition copies.
- Documented borrowed views, owning handles, snapshot retention, identifier scope,
reload behavior, application migration, and synchronization requirements.
- Kept `ParseFile` compatible while sharing parsing with the diagnostic API.
Parsing stops at the first error and never returns a partial database.
- Deferred value-description and multiplexing errors carry structured source