Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dafny 4.3.0 #146965

Merged
merged 2 commits into from
Sep 29, 2023
Merged

dafny 4.3.0 #146965

merged 2 commits into from
Sep 29, 2023

Conversation

BrewTestBot
Copy link
Member

Created by brew bump


Created with brew bump-formula-pr.

release notes
## New features
  • Add support for the Find References LSP request

  • Improve scalability of inlining for test generation and generate coverage information with respect to the original Dafny source (Inlining overhaul for test generation dafny-lang/dafny#4255)

  • Support generating of tests targeting path-coverage of the entire program and tests targeting call-graph-sensitive block coverage (referred to as Branch coverage) ([Test Generation] Change the set of coverage criteria that can be targeted dafny-lang/dafny#4326)

  • Add support for Rename LSP request

  • Make verification in the IDE more responsive by starting verification after translating the required module to Boogie, instead of first translating all modules that could be verified. (Let the IDE translate to and resolve Boogie only when attempting to verify dafny-lang/dafny#4378)

  • The Dafny IDE now has improved behavior when working with a Dafny file that's part of a Dafny project. A Dafny file is part of a project if a dfyconfig.toml can be found somewhere in the file's path hierarchy, such as in the same folder or in the parent folder. A dfyconfig.toml can specify which Dafny options to use for that project, and can specify which Dafny files are part of the project. By default, the project will include all .dfy files reachable from the folder in which the dfyconfig.toml resides. Project related features of the IDE are:

    • Whenever one file in the project is opened, diagnostics for all files in the Dafny project are shown. When including a file with errors that's part of the same project, the message "the included file contains errors" is no longer shown. Instead, the included file's errors are shown directly.
    • If any file in the project is changed, diagnostics for all files in the project are updated. Without a project, changing an included file will not update diagnostics for the including file until the including file is also changed.
    • The find references feature (also added in this release), works better in files that are part of a project, since only then can it find references that are inside files that include the current file.
    • The assisted rename feature (also added in this release), only works for files that are part of a project.
    • When using a project file, it is no longer necessary to use include directives. In the previous version of Dafny, it was already the case that the Dafny CLI, when passed a Dafny project file, does not require include directives to process the Dafny program. The same now holds for the Dafny IDE when working with Dafny files for which a project file can be found.
    • If any file in the project is resolved, all files in the project are resolved. Opening a file in a project that's already resolved means the opened file is resolved instantly.
    • The IDE's memory consumption stays the same regardless of how many files in a project are opened. Without a project, the IDE increases it's memory usage for each open file.

    Try out the IDE's project support now by creating an empty dfyconfig.toml file in the root of your project repository.
    (Always have project mode on dafny-lang/dafny#4435)

  • Prior to generating tests, Dafny now checks the targeted program for any features that test generation does not support or any misuse of test generation specific attributes.
    Any such issues are reported to the user.
    (Test Generation Auditor dafny-lang/dafny#4444)

  • Added documentation of the generate-tests command to the reference manual (Documenting Test Generation in Reference Manual dafny-lang/dafny#4445)

  • When two modules in the same scope have the same name, Dafny now reports an error that contains the location of both modules. (Include both locations in duplicate module name error messages dafny-lang/dafny#4499)

Bug fixes

@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 Sep 29, 2023
@github-actions
Copy link
Contributor

🤖 An automated task has requested bottles to be published to this PR.

@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 Sep 29, 2023
@BrewTestBot BrewTestBot added this pull request to the merge queue Sep 29, 2023
Merged via the queue into Homebrew:master with commit 9ddd08e Sep 29, 2023
12 checks passed
@BrewTestBot BrewTestBot deleted the bump-dafny-4.3.0 branch September 29, 2023 08:08
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-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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants