2.9.0-preview1
Pre-releaseWarning
THIS RELEASE IS UNDER ACTIVE DEVELOPMENT. We are actively looking for feedback on your experience with the new features. All preview features are subject to breaking changes as we incorporate feedback and so we do not recommend you to use this release for any production applications.
This is the first preview release in the 2.9 series, which introduces significant changes to the language editor experience. Please give us any feedback either in the comments below or by opening a new discussion. If you create a new discussion, please indicate clearly that your question is about the 2.9.0-preview1 release.
In this preview, we are introducing a new workflow navigation model coupling a single-page browser-like view of the current workflow level, with a nested hierarchy tree view and breadcrumbs to allow quickly jumping between the different sections and modules of a complex project.
We also introduce a new workflow state watch mode, active by default, which provides an unprecedented level of runtime feedback about the inner workings of a reactive workflow, including when sequences are subscribed to, when they produce values, terminate, or are cancelled. We expect this mode to provide an invaluable tool for learning visual reactive programming and understanding the behavior of programs written in Bonsai.
In anticipation of new editor features, we are introducing a reorganization of the .layout
files, which were previously used to store debugger visualizer settings over multiple runs. These files previously cluttered folders containing multiple workflow files and are hard to extend to the more complex project-based settings we now need to evolve the editor experience. With this reorganization we expect to facilitate a cleaner project folder structure and introduce more clarity on the version control of workflows.
Finally, we modernized the package manager dialog to support our migration from MyGet to NuGet. As discussed during the last MyGet outage, we urgently need to broaden our community package deployment options. The new package manager introduces support for two new package types: BonsaiLibrary
and BonsaiGallery
for packages providing libraries of Bonsai operators and example workflows, respectively.
These package types will be used to curate the nuget.org
feed to keep our package manager focused on libraries providing reactive operators. Currently package type filtering is only supported for the nuget.org
feed, but it is turned on by default there. New packages deployed to nuget.org
are expected to declare both Dependency
and BonsaiLibrary
as their package types for maximum discoverability.
Important
In the near future, we will move entirely out of MyGet and will archive the community feed.
What's Changed
🔮 Feature Preview
- Modernize package manager dialog by @glopesdev in #1969
- Move layout files to workflow settings folder by @glopesdev in #1956
- Add workflow state watch to debug mode by @glopesdev in #1975
- Rewrite editor navigation model by @glopesdev in #1870
🎉 New Features
- Allow propagation of Defer nested sequence visualizer by @glopesdev in #1931
- Rename CombineTimestamp to CreateTimestamped by @glopesdev in #1941
- Make period a nullable property of reactive timer and clarify documentation by @glopesdev in #1957
🐞 Bug Fixes
- Exclude build dependencies when counting inputs to new nested node by @glopesdev in #1946
🚀 Performance Improvements
- Replace uses of WebRequest with HttpClient by @glopesdev in #1937
🔧 Engineering
- Update launch settings to target artifacts folder by @glopesdev in #1923
- Update ScintillaNET to support modern .NET by @glopesdev in #1924
- Allow building workflows as typed sequences by @glopesdev in #1942
- Target netcore on editor and bootstrapper projects by @glopesdev in #1907
- Configure tests to run on .NET 8 by @PathogenDavid in #1952
- Fix test target framework issues by @PathogenDavid in #1958
- Use deployment key in CI for manipulating Git repository by @PathogenDavid in #1985
- Add support for sorting test workflows by @glopesdev in #1964
Full Changelog: 2.8.5...2.9.0-preview1