Skip to content
This repository has been archived by the owner on Aug 26, 2022. It is now read-only.

Releases: p-org/PSharp

P# 1.7.0

11 Dec 18:58
631fcd2
Compare
Choose a tag to compare

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

30 Oct 02:21
c4f12a9
Compare
Choose a tag to compare

This is a maintenance only release that contains the 1.6.10 version of the P# framework.

P# 1.6.9

30 Aug 03:45
Compare
Choose a tag to compare

This release contains the 1.6.9 version of the P# framework.

  • Added the OnEventUnhandledAsync machine 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 ILogger and MachineLogger into ILogger and RuntimeLogWriter to 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 override MachineLogger, just implement ILogger directly and then set it via runtime.SetLogger(…) (as previously). If you need to override methods of RuntimeLogWriter to modify the actual logging behavior of the runtime (previously these methods were part of MachineLogger) then please read the new brief guide here on how to do this.

P# 1.6.8

30 Jul 00:40
6d13e11
Compare
Choose a tag to compare

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

18 Jul 22:00
f93b6a1
Compare
Choose a tag to compare

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

11 Jul 21:20
10f30c7
Compare
Choose a tag to compare

This release contains the 1.6.6 version of the P# framework.

This is a minor release that adds support for inheriting states and using the wildcard event in a Monitor.

P# 1.6.4

17 Jun 19:03
a462eb9
Compare
Choose a tag to compare

This release contains the 1.6.4 version of the P# framework.

This is a minor release that fixes a race condition when using the built-in periodic timer API.

P# 1.6.3

12 Jun 18:30
8517d39
Compare
Choose a tag to compare

This release contains the 1.6.3 version of the P# framework.

This is a minor release that fixes a bug with the parallel tester.

P# 1.6.2

11 Jun 18:55
da2a777
Compare
Choose a tag to compare

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.OperationGroupId property.
  • 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 OperationGroupId from the Event.
  • Hardened the systematic testing runtime for some async/await corner cases.

P# 1.6.1

04 Jun 02:23
a093861
Compare
Choose a tag to compare

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.Send method and the IMachineRuntime send event methods now receive an optional Guid operationGroupId, which overrides the default OperationGroupId set by the event constructor.
  • The Machine.Raise method now receives an optional Guid operationGroupId, similar to above.
  • The IMachineRuntime methods that receive an optional operation group id, now accept a Guid operationGroupId = default parameter instead of Guid? operationGroupId = null.
  • The logger interface is updated to receive a Guid parameter instead of Guid? for logging sends.
  • The IMachineRuntime now exposes a Stop method that terminates the runtime and notifies each active machine to halt execution.