mirror of
https://github.com/enso-org/enso.git
synced 2024-11-27 18:12:31 +03:00
6.7 KiB
6.7 KiB
Enso 0.2.3 (2021-02-15)
Tooling
- Improved the robustness of the project manager and language server in the presence of rapid restarts (#1463).
Libraries
- Significantly improved the efficiency of visualising large tables through zero-cost translation to Enso's vectors (#1476).
Known Issues
- This is a beta release, so please see the issue tracker for issues opened before the release date.
Enso 0.2.2 (2021-02-11)
Language
- Significantly improved the way that dataflow errors and panics are handled in the interpreter. They now flow through the program in a far more seamless fashion, and panics are supported properly in the IDE without the whole program dying (#1433).
- Significantly improved the syntax and semantics for FFI with JVM languages, making it far more of a first-class citizen in Enso (#1443).
- Added support for polyglot JavaScript definitions to Enso (#1451). These allow users to write JavaScript inside Enso, and seamlessly call between Enso and JS code.
Interpreter/Runtime
- Fixed an issue where executing a host value could result in a
NullPointerException
due to a missing null check (#1413). - Fixed an issue where dataflow analysis was incorrectly tracking usages of undefined variables. This resulted in problems for the runtime server (#1421).
Tooling
- Added support for collection of profiling information about the running program to the language server protocol (#1407). Initial support is for collection of execution-time information.
- Updated the default
main
in a new Enso project to be more IDE friendly (#1419). - Added support for panic sentinels in the runtime instrument, allowing the language server to trace the expressions affected by a panic while still executing others (#1436).
- Added support for checking the Enso version for a particular project in the project manager, allowing the IDE to improve compatibility with multiple versions (#1454).
Libraries
- Updated the way that we use dataflow errors in the standard libraries, making
our
Base
functionality much more amenable to working in the IDE (#1446).
Known Issues
- This is a beta release, so please see the issue tracker for issues opened before the release date.
Enso 0.2.1 (2021-01-15)
Language
- Removed Uniform Function Call Syntax, making the language much more predictable and allowing the compiler to provide improved diagnostics for common mistakes.
Interpreter/Runtime
- Return correct qualified names for modules at runtime, ensuring that the compiler and interpreter agree.
Tooling
- Improve the handling of bundled components with the Project Manager, ensuring rapid startup and easy integration with the IDE.
- Fixed the reflection configuration for the Project Manager, fixing a bug where it was unable to extract archives on Windows.
- The Language Server now uses qualified names in its messages, fixing a class of bugs where the IDE and Tooling did not agree on what a given expression was.
- Fixed mis-handling of tags in the documentation parsing infrastructure.
Libraries
- Implemented a stub file for the functionality built into the interpreter. This allows us to provide comprehensive documentation about this functionality for display in the IDE and for reading by library users.
- Added aggregation functionality to the Table library, allowing users to group their data.
Known Issues
- This is a beta release, so please see the issue tracker for issues opened before the release date.
Enso 0.2.0 (2021-01-05)
Language
The initial version of the Enso language, with most language features functioning.
- Flexible and concise syntax for the construction of functional programs, including pattern matching and lambdas.
- Support for currying, named and defaulted arguments, and operator sections.
- Support for user-defined data-types with fields and dynamically-dispatched methods on them.
- Importing and working with Java code in a seamless fashion using polyglot imports.
- Functional monadic state and error handling, through the use of data errors and panics.
- Opt-in tail-call optimisation.
Interpreter/Runtime
- The initial version of the interpreter and runtime.
Type System
- Nothing.
Tooling
- The initial version of the Enso Launcher and Project Manager, supporting:
- Installation and management of Enso releases, and the GraalVM runtimes on which they depend.
- Aggregation of logs from the various Enso service components.
- Basic project management functionality.
- Initialisation and set-up of a language server for a specific project.
- The initial version of the Enso Language Server, supporting:
- Dynamic introspection and modification of the running Enso program.
- Caching of intermediate values in computations, ensuring that only necessary parts of the program are recomputed on a change.
- Intelligent suggestions based on semantic analysis of the code.
- Attaching visualisation code to values in the running Enso program.
Libraries
- The initial version of
Base
, the core library, supporting:- Functionality for working with core types like
Integer
,Decimal
, andText
. - Common data structures such as
List
,Vector
, andMap
. - Support for working with
JSON
data. - Support for working with
HTTP
endpoints. - Support for interacting with files and processes on the local machine.
- Support for working with polyglot entities.
- Support for metaprogramming the Enso language.
- Functionality for working with core types like
- The initial version of the Enso
Table
library for working with tabular data. - The initial version of the Enso
Test
library, containing testing and benchmarking utilities.
Stabilised Features
- A list of stabilised APIs and/or features.
Misc
- Nothing.
Known Issues
- This is a beta release, so please see the issue tracker for issues opened before the release date.
Internal Only
- Nothing