Repository navigation
Release v4.18.1
Fixed
- Stage's semantic runtime now has Chronicle reject its append atomically when another writer appended to the event log after Stage captured the tail, including the first append to an empty log. Before, the append succeeded and the divergence was only detected on the next command. The runtime faults with "the event-log tail changed outside this session", and nothing is appended.
- An accepted command that appends no facts no longer reports a world that changed during its checks as current.
- Custom
IAppendSemanticFactsimplementations keep working unchanged; the built-in appender also implements the newIAppendSemanticFactsAtTail, which the runtime uses for the atomic check. Appenders without it keep the previous, non-atomic check.
This closes the external-append race. It does not detect another writer revising or replacing existing events in place.