Skip to content

Upgrade to Arc 21, Chronicle 16.19.2 and Fundamentals 7.17.1 #64

Description

@einari

The CLI is the furthest behind of the repositories depending on Arc:

Package Current Latest
Cratis.Arc.Screenplay 20.69.3 21.0.4
Cratis.Chronicle.Connections / .Contracts / .XUnit.Integration 16.11.0 16.19.2
Cratis.Fundamentals 7.16.6 7.17.1
Cratis.Screenplay 1.6.4 1.8.0

Fundamentals has to move first: Arc 21 requires 7.17.0 or newer.

Breaking changes in Arc 21

  1. DateOnly and TimeOnly generate as the @cratis/fundamentals types instead of Date — a calendar date parsed as a Date renders a day early west of UTC. Reading such a field means calling .toDate() before formatting; constructing one means DateOnly.fromDate(...).
  2. A validator message declared as a factory is no longer resolved at generation time and baked into the generated client validator. The rule still mirrors; the message is left to the server.
  3. ShouldHaveValidationErrors no longer passes when the command was rejected only because the pipeline could not resolve a dependency, which previously let a spec report success against a pipeline that never ran.

Chronicle 16.11.0 → 16.19.2

Eight minor versions. The one that bites silently: IEventSequence gained Revise(EventSequenceNumber, object). Anything implementing or decorating that interface compiles fine and then throws TypeLoadException: Method 'Revise' ... does not have an implementation once the assemblies load together. Run the specs, do not trust the build.

Arc itself must be built against the matching Chronicle — 21.0.4 is built against 16.19.2, earlier 21.x releases are not.

Also

Arc up to 21.0.2 depended on an unlisted build of SharpCompress that NuGet ordered above the listed line, so anything taking both Arc and Chronicle failed to restore with NU1605. Fixed in 21.0.3.

Given the size of the jump, worth doing as its own change with the specs run deliberately rather than folded into unrelated work.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions