Skip to content

Conversation

@botantony
Copy link
Member

Created by brew bump


Created with brew bump-formula-pr.

release notes
 ## New features
  • Stabilize verifications by automatically computing triggers for the quantified proof obligations associated with :| constructs.
    Manually specified triggers and warning-suppressing attributes are also supported (and mentioned in warning messages, as for other quantifiers and comprehensions).
    Enhance witness guessing for the proof obligation associated for :| assignments.
    (feat: Compute triggers for such-that operations dafny-lang/dafny#6023)

  • Four new Dafny standard libraries:

    • Std.Actions - utilities for abstract imperative actions, including enumerating and streaming values
    • Std.Frames - utilities related to working with dynamic framing, often related to reads and modifies clauses
    • Std.Ordinal - operations and properties of the ORDINAL type
    • Std.Termination - a datatype for representing Dafny decreases clauses and extensions
      (feat: Actions, Frames, Termination, and Ordinal standard libraries dafny-lang/dafny#6074)
  • Support using --standard-libraries with --enforce-determinism. Removed Std.Collections.Seq.SetToSeq since it was slow and not compatible with this mode. (https://github.com/dafny-lang/daf
    ny/pull/6137)

  • With --standard-libraries you can now read an UTF-8 text files from the disk using Std.FileIO.ReadUTF8FromFile(path: string): Result<string, string>.
    To write some content to the disk, use Std.FileIO.WriteUTF8ToFile(path: string, content: string): Outcome<string>.
    Standard library breaking change: All UnicodeEncodingForm versions of FromUTF8Checked, FromUTF16Checked and DecodeCodeUnitSequenceChecked now return a Result instead of an Option so that the error message is clearer. Migration is easy: Use .ToOption() if you really prefer an option. Affected refining modules: Utf8EncodingForm and Utf16EncodingForm
    (Feat: Std.FileIO.ReadFile and WriteFile dafny-lang/dafny#6198)

  • The Dafny standard libraries now include a powerful parser combinators framework, available through Std.Parsers.StringBuilders.

    Key Features

    • Guaranteed Termination: All parsers, including those built with recursive combinators, are proven to terminate
    • Mutual Recursion Support: Build complex parsers that can reference each other (demonstrated in the Polynomial example)
    • Rich Error Reporting: Failed parsing attempts combine their error messages to provide meaningful feedback
    • Developer-Friendly Tools: Built-in debugging utilities for inspecting parser inputs and outputs
    • Memory-Efficient Recursion: Advanced implementations avoid stack overflow in recursive parsers
    • Elegant DSL: Compact, datatype-based combinators designed for readability and composition
    • Flexible Backtracking: Optional backtracking available through .??() (DSL) or ?(...) (standard syntax)
    • Comprehensive Toolkit: Rich set of combinators including lookahead, negation, folding, and binding operations
    • The library includes several practical examples, including JSON and SMT parsers, each implemented in about 50 lines of code.
      (Reinstate "Feat: Verified and easy-to-use parser combinators (#6143)" dafny-lang/dafny#6243)
  • Dafny classes and traits can now redeclare methods defined by traits they inherit from. (Allow redeclaring trait methods dafny-lang/dafny#6280)

  • Real literals now support scientific notation using lowercase e to denote the exponent (like 1.23e5 for 123000.0 or 5e-2 for 0.05). Real literals also support convenient trailing-dot
    shorthand (like 1. for 1.0) and leading-dot shorthand (like .5 for 0.5 or .5e2 for 50.0). Note that explicit + signs in exponents are not supported; use 5e2 instead of 5e+2. (ht
    tps://github.com/dafny-lang/dafny/pull/6286)

Bug fixes

View the full release notes at https://github.com/dafny-lang/dafny/releases/tag/v4.11.0.


@github-actions github-actions bot added java Java use is a significant feature of the PR or issue bump-formula-pr PR was created using `brew bump-formula-pr` dotnet .NET use is a significant feature of the PR or issue labels Aug 26, 2025
@botantony
Copy link
Member Author

requires deprecated gradle 7 to build

@cho-m
Copy link
Member

cho-m commented Aug 26, 2025

@chenrui333 chenrui333 added the build failure CI fails while building the software label Aug 26, 2025
@daeho-ro daeho-ro added CI-no-fail-fast Continue CI tests despite failing GitHub Actions matrix builds. ready to merge PR can be merged once CI is green and removed build failure CI fails while building the software labels Aug 27, 2025
@github-actions
Copy link
Contributor

:shipit: @daeho-ro has requested bottles to be published to this PR.

Caution

Please do not push to this PR branch before the bottle commits have been pushed, as this results in a state that is difficult to recover from. If you need to resolve a merge conflict, please use a merge commit. Do not force-push to this PR branch.

@github-actions github-actions bot added the CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. label Aug 28, 2025
@BrewTestBot BrewTestBot enabled auto-merge August 28, 2025 02:53
@BrewTestBot BrewTestBot added this pull request to the merge queue Aug 28, 2025
Merged via the queue into Homebrew:main with commit ff1c184 Aug 28, 2025
19 checks passed
@botantony botantony deleted the bump-dafny-4.11.0 branch August 28, 2025 13:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bump-formula-pr PR was created using `brew bump-formula-pr` CI-no-fail-fast Continue CI tests despite failing GitHub Actions matrix builds. CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. dotnet .NET use is a significant feature of the PR or issue java Java use is a significant feature of the PR or issue ready to merge PR can be merged once CI is green

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants