Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ members = ["crates/*", "xtask"]
exclude = ["crates/xtce-py"]

[workspace.package]
version = "0.1.0"
version = "0.1.1"
edition = "2024"
rust-version = "1.85"
license = "MIT OR Apache-2.0"
Expand Down
33 changes: 33 additions & 0 deletions docs/releases/v0.1.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
Three XTCE constructs stopped being read as if they were not there.

## What was wrong

This crate's claim is that anything outside its subset is refused **by name**, never quietly
skipped. Three entry constructs were skipped:

* `<IncludeCondition>` was never read. The string did not appear anywhere in the crate, so an
entry that is present only when a condition holds was decoded as though it always is.
* A `<RepeatEntry>` whose `<Count>` is a `<DynamicValue>` fell through a parse that only looks
for `<FixedValue>`, which left it indistinguishable from an entry with no `<RepeatEntry>` at
all. It decoded exactly once.
* A `<RepeatEntry>` or a `<LocationInContainerInBits>` on an entry naming an array or an
aggregate was discarded, because the expansion into one field per leaf returned before
either was parsed.

Skipping an entry is worse than it sounds: it keeps its place in the container, so its bits are
still claimed and everything behind it is still read at an offset that assumes them. The values
that come out are wrong rather than missing, and nothing says so.

All three are `EntryKind::Unsupported` now — reported at load, and left in place so a caller
sees something undecodable where the bits are rather than a container quietly one entry short.

None of the nine bundled definitions uses any of them, which is why the differential suite
agreed with the reference throughout and still does. It is the shape of gap a suite built from
real mission files cannot close.

## Also

`SUPPORTED.md` had four rows that disagreed with the code, including `ArrayParameterRefEntry`
listed as unsupported in one table and as handled in another. It matches now.

182 tests. All nine differential cases agree with `space_packet_parser`, as before.
Loading