Skip to content

Releases: Consensys/scribble

v0.6.14

11 Oct 01:58
Compare
Choose a tag to compare

The release brings fixes for the following bugs:

#171 __scribble__ReentrancyUtils.sol compiler error.
#191 Instrumented try...catch fails compilation step with Mythril
#188 Scribble doesnt work for instrumenting libraries
#181 Properly support UserDefinedTypes to Scribble functions
#176 Annotation is skipped in specific case

v0.6.13

15 Jul 04:16
Compare
Choose a tag to compare

This release brings a new experimental annotation: User constants.

User constants allow to create constants attached to contracts (and their inheritance tree) that can be used in other annotation. For example:

/// #const uint256 H := 60 * 60;
/// #const uint256 D := H * 24;
contract A {
    /// #if_succeeds D == H * 24;
    function testHD() public {}
}

Please note that this feature is still in its experimental phase, and may undergo changes before its made concrete.

v0.6.12

11 Jul 22:50
Compare
Choose a tag to compare

This patch tweaks the behavior of the --debug-events flag. Specifically it changes the order of events emitted such that upon a property failure we first emit an AssertionFailedData event (containing the values of any variables found in the failing property) and then emit the AssertionFailed event, that marks the actual assertion failure.

v0.6.11

24 Jun 21:38
Compare
Choose a tag to compare

This patch release adds just 2 pieces of additional instrumentation metadata (#179 ):

  • the text of the original annotation
  • the names of variables in the debugEventEncoding

v0.6.10

09 Jun 03:34
Compare
Choose a tag to compare

This release brings fixes for:

- using Counters.Counter #174
- Cannot find module 'path/posix' #175

v0.6.9

25 May 03:45
Compare
Choose a tag to compare

This release contains:

  • new --base-path and --include-paths arguments to Scribble. These 2 arguments are passed down to solc when compiling code to obtain an AST.
  • Fix for a small bug in the grammar of fixed bytes type in Scribble (#173 )

v0.6.8

10 May 00:31
Compare
Choose a tag to compare

This release contains:

  • bump solc-typed-ast to 9.1.3
  • change scribble to use the better multi-file compiling support in solc-typed-ast (#164)
  • removed (now) obsolete merging and sanity checking logic

v0.6.7

31 Mar 21:45
Compare
Choose a tag to compare

This release features:

  • Fix a remaining issue with #160 from the previous 0.6.6 release - when running scribble through the fuzz command we were still placing the utils file in the wrong place
  • Fix for Scribble doesn't correctly handle visiblity for private state vars (#163 )
  • Better support for Solidity 0.8.13 (#162)

v0.6.6

30 Mar 07:14
Compare
Choose a tag to compare

This release contains:

  • Place utils contracts under node_modules when package remapping is present (Fixes #160)
  • Bump solc-typed-ast to v9.1.1 (Fixes #155)

v0.6.5

22 Mar 00:33
Compare
Choose a tag to compare

This release brings the following improvements:

  • bump nodejs version to v16 LTS
  • bump solc-typed-ast to v9.0.0
  • [EXPERIMENTAL] add support for # let x := ...; annotations before a statement
  • [EXPERIMENTAL] add support for if_succeeds annotation on a statement or code block
  • change default Solidity compiler from WASM to native
  • Add new --compiler-kind command line option allowing to select which compiler to use (native or wasm)
  • Disallow arrays and maps in old() statements

WARNING: Features marked as [EXPERIMENTAL] may be changed or even removed in the future. Experiment with them at their own discretion, but for now please don't depend on them for critical annotations until these have been stabilized.