This repository was archived by the owner on Dec 28, 2021. It is now read-only.
Enso 2.0.0-alpha.2
·
232 commits
to develop
since this release
This is a release focused on bug-fixing, stability, and performance. It improves the performance of workflows and visualizations, and improves the look and feel of the graphical interface. In addition, the graphical interface now informs the users about errors and where they originate.
- Learn how to define custom data visualizations in Enso.
- Learn how to use Java libraries in Enso, to build a webserver.
- Learn how to use Javascript libraries in Enso, to build custom server-side website rendering.
- Discover why Enso Compiler is so fast and how it was built to support a dual-representation language.
- Learn more about the vision behind Enso and about its planned future.
Visual Environment
- Errors in workflows are now displayed in the graphical interface. Previously, these errors were silently skipped, which was non-intuitive and hard to understand. Now, the IDE displays both dataflow errors and panics in a nice and descriptive fashion.
- Added geographic map support for Tables (data frames). Tables that have
latitude
,longitude
, and optionallylabel
columns can now be shown as points on a map. - Added a shortcut for live reloading of visualization files. This drastically improves how quickly new visualizations can be tested during their development. This is currently limited in that, after reloading visualization definitions, the currently visible visualizations must be switched to another and switched back to refresh their content. See the video podcast about building custom visualizations to learn more.
- Added a visual indicator of the ongoing standard library compilation. Currently, each time IDE is started, the backend needs to compile the standard library before it can provide IDE with type information and values. Because of that, not all functionalities are ready to work directly after starting the IDE. Now, there is a visible indication of the ongoing background process.
- Added the ability to reposition visualisations. There is now an icon in the visualization action bar that allows dragging the visualization away from a node. Once the visualization has been moved, another icon appears that can pin the visualization back to the node.
- There is now an API to show Version Control System (like Git) status for nodes.
Visual Environment
- You can now use the table visualization to display data frames. Please note, that large tables will get truncated to 2000 entries. This limitation will be lifted in future releases.
- Performance improvements during visual workflow. Nodes added with the searcher will have their values automatically assigned to newly generated variables, which allows the Enso Engine to cache intermediate values and hence improve visualization performance.
- Minor documentation rendering fixes. Fixed cases where text would be misinterpreted as a tag, added support for new tag types, added support for more common characters, properly renders overflowing text.
- Improved handling of projects created with other IDE versions. The IDE
is now better at dealing with incompatible metadata in files, which stores node visual position information, the history of chosen searcher suggestions, etc. This will allow IDE to correctly open projects that were created using a different IDE version and prevent unnecessary loss of metadata. - Pressing and holding up and down arrow keys make the list view selection move continuously.
- The shortcuts to close the application and to toggle the developer tools at runtime now work on all supported platforms.
- The loading progress indicator remains visible while IDE initializes. Previously the loading progress indicator completed too quickly and stopped spinning before the IDE was ready. Now it stays active, giving a visual indication that the initialization is still in progress.
- Fixed visual glitch where a node's text was displayed as white on a white background. Most notably this occurred with the output node of a function generated using the node collapse refactoring.
- Many visual glitches were fixed, including small "pixel-like" artifacts appearing on the screen.
- Several parser improvements. The parser used in the IDE has been updated to the latest version. This resolves several issues with language constructs like
import
, lambdas, and parentheses, whereupon typing certain text the edit could be automatically reverted. - The auto-import functionality was improved. Libraries'
Main
modules are omitted in expressions inserted by the searcher. For example, thepoint
method ofGeo
library will be displayed asGeo.point
and will insert importGeo
instead ofGeo.Main
. - Cursors in text editors behave correctly now (they are not affected by scene pan and zoom). This was possible because of the new multi-camera management system implemented in EnsoGL.
EnsoGL (rendering engine)
- A new multi-camera management system, allowing the same shape systems to be rendered on different layers from different cameras. The implementation automatically caches the same shape system definitions per scene layer in order to minimize the amount of WebGL draw calls and hence improve performance.
- A new depth-ordering mechanism for symbols and shapes. It is now possible to define depth order dependencies between symbols, shapes, and shape systems.
- Various performance improvements, especially for the text rendering engine.
- Display objects handle visibility correctly now. Display objects are not visible by default and need to be attached to a visible parent to be shown on the screen.
Enso Compiler
If you're interested in the enhancements and fixes made to the Enso compiler, you can find their release notes here.