Releases: p-org/PSharp
P# 1.7.0
This release contains the 1.7.0 version of the P# framework.
The release removes the TraceViewer (which has now moved to its own repository) and exposes the BugTrace (and related types) as public, which can be used by trace viewing tools (TraceViewer itself is using these types).
P# 1.6.10
P# 1.6.9
This release contains the 1.6.9 version of the P# framework.
- Added the
OnEventUnhandledAsyncmachine callback that is invoked when the machine receives an event that it is not prepared to handle. - Coverage report includes uncovered events.
- Fixes in the P# syntax plugin related to brace matching and coloring.
- Refactored the
ILoggerandMachineLoggerintoILoggerandRuntimeLogWriterto simplify the design, separate the concerns and support some extra scenarios. This required some minimal changes in a custom logger: primarily instead of trying to overrideMachineLogger, just implementILoggerdirectly and then set it viaruntime.SetLogger(…)(as previously). If you need to override methods ofRuntimeLogWriterto modify the actual logging behavior of the runtime (previously these methods were part ofMachineLogger) then please read the new brief guide here on how to do this.
P# 1.6.8
This release contains the 1.6.8 version of the P# framework.
This is a minor release that fixes an issue where the P# high-level syntax rewriter was inserting a call to the removed method SetCardinalityConstraints in the generated code. This version also removes assert/assume parsing from the P# high-level syntax, as it is not used nor supported any more.
P# 1.6.7
This release contains the 1.6.7 version of the P# framework.
This is a minor release that adds exception handlers when invoking the the OnEventDequeue and OnEventHandled machine callbacks, as well as fixes the precision of activity coverage across multiple tests.
P# 1.6.6
P# 1.6.4
P# 1.6.3
P# 1.6.2
This release contains the 1.6.2 version of the P# framework.
This is a minor release that does the following changes:
- Exposed the setter of the
Machine.OperationGroupIdproperty. - Modified the internals of how the operation group id associated with event operations is maintained and propagated across the runtime, which allowed us to decouple the
OperationGroupIdfrom theEvent. - Hardened the systematic testing runtime for some
async/awaitcorner cases.
P# 1.6.1
This release contains the 1.6.1 version of the P# framework.
This is a minor release that exposes some new APIs and updates the way that an operation group id can be optionally passed to Create and Send related methods:
- The
Machine.Sendmethod and theIMachineRuntimesend event methods now receive an optionalGuid operationGroupId, which overrides the defaultOperationGroupIdset by the event constructor. - The
Machine.Raisemethod now receives an optionalGuid operationGroupId, similar to above. - The
IMachineRuntimemethods that receive an optional operation group id, now accept aGuid operationGroupId = defaultparameter instead ofGuid? operationGroupId = null. - The logger interface is updated to receive a
Guidparameter instead ofGuid?for logging sends. - The
IMachineRuntimenow exposes aStopmethod that terminates the runtime and notifies each active machine to halt execution.