mirror of
https://github.com/enso-org/enso.git
synced 2024-12-26 01:42:45 +03:00
323 lines
13 KiB
Markdown
323 lines
13 KiB
Markdown
# Enso 0.2.7 (2021-03-16)
|
|
|
|
## Interpreter/Runtime
|
|
|
|
- Added rudimentary support for interoperability with Python
|
|
([#1541](https://github.com/enso-org/enso/pull/1541)). Due to limitations of
|
|
the underlying implementation
|
|
([GraalPython](https://github.com/oracle/graalpython)), this does not
|
|
currently work on windows. We are working to have some means of supporting
|
|
Python interop on Windows.
|
|
- Added rudimentary support for interoperability with R
|
|
([#1559](https://github.com/enso-org/enso/pull/1559)). Due to limitations of
|
|
the underlying implementation ([FastR](https://github.com/oracle/fastr)), this
|
|
does not currently work on windows. We are working to have some means of
|
|
supporting R interop on Windows.
|
|
- Fixed a performance issue that occurred due to the interpreter observing
|
|
deeper scopes than necessary during server-controlled execution
|
|
([#1564](https://github.com/enso-org/enso/pull/1564)). Execution of lambdas in
|
|
the IDE is no longer far slower than it should be.
|
|
- Fixed an issue where interrupts during the execution of polyglot Java code
|
|
would cause the host classloader to break, preventing further execution
|
|
([#1574](https://github.com/enso-org/enso/pull/1574)). _Please note_ that the
|
|
fix that has been put in place is suboptimal, and means that we are currently
|
|
unable to interrupt host code during its execution. We intend to fix this as
|
|
soon as a fix for the host classloader has been merged upstream. You can track
|
|
the associated issue in GraalVM
|
|
[here](https://github.com/oracle/graal/issues/3273).
|
|
- Fixed an issue where the interpreter would crash due to project name shadowing
|
|
([#1571](https://github.com/enso-org/enso/pull/1571)).
|
|
|
|
## Tooling
|
|
|
|
- Added support for lazy initialization of the language server
|
|
([#1535](https://github.com/enso-org/enso/pull/1535)). This ensures that it
|
|
behaves properly on systems where the working directories are on
|
|
lazily-mounted NFS volumes.
|
|
- Fixed an issue where the unified logging infrastructure would disconnect,
|
|
preventing it from gathering diagnostic logs
|
|
([#1563](https://github.com/enso-org/enso/pull/1563)). It now sends periodic
|
|
keepalive messages to ensure that the connection has not timed out.
|
|
- Fixed project name validation in the project manager when renaming projects
|
|
([#1570](https://github.com/enso-org/enso/pull/1570)).
|
|
|
|
## Libraries
|
|
|
|
- Added support for materializing data from databases in the database library
|
|
([#1546](https://github.com/enso-org/enso/pull/1546)). You can now use this
|
|
library to connect to your data sources (currently only SQLite and Postgres,
|
|
but support for further backends is planned).
|
|
- Reorganized the standard library in order to support plans for its future
|
|
evolution ([#1571](https://github.com/enso-org/enso/pull/1571)).
|
|
|
|
# Enso 0.2.6 (2021-03-02)
|
|
|
|
## Interpreter/Runtime
|
|
|
|
- Fixed another issue where the parser would crash on partial issues, causing
|
|
issues for both the Engine and IDE
|
|
([#1523](https://github.com/enso-org/enso/pull/1523)).
|
|
- Made panic messages short, fixing an issue where retention would cause
|
|
ballooned memory usage while the full message contents were waiting to be
|
|
logged ([#1528](https://github.com/enso-org/enso/pull/1528)).
|
|
|
|
## Tooling
|
|
|
|
- Fixed an issue where dynamic dependencies were analysed incorrectly, leading
|
|
to missing updates for the IDE
|
|
([#1532](https://github.com/enso-org/enso/pull/1532)).
|
|
|
|
## Known Issues
|
|
|
|
- This is a beta release, so please see the
|
|
[issue tracker](https://github.com/enso-org/enso/issues?q=is%3Aissue+is%3Aopen+created%3A%3C2021-03-02)
|
|
for issues opened before the release date.
|
|
|
|
# Enso 0.2.5 (2021-02-26)
|
|
|
|
## Interpreter/Runtime
|
|
|
|
- Fixed an issue where the parser would crash on partial inputs, causing issues
|
|
for both the engine and IDE
|
|
([#1509](https://github.com/enso-org/enso/pull/1509)).
|
|
- Fixed a problem where `Type_Error`s would not be displayed properly when
|
|
pretty printed ([#1504](https://github.com/enso-org/enso/pull/1504)).
|
|
- Fixed an issue with `_` desugaring where it would not desugar correctly when
|
|
used in function position
|
|
([#1512](https://github.com/enso-org/enso/pull/1512)).
|
|
|
|
## Tooling
|
|
|
|
- Fixed an issue where suggestions were sometimes not being provided for modules
|
|
other than `Base` ([#1507](https://github.com/enso-org/enso/pull/1507)).
|
|
- Fixed a few issues where expression and value updates were not sent when they
|
|
should be ([#1516](https://github.com/enso-org/enso/pull/1516),
|
|
[#1522](https://github.com/enso-org/enso/pull/1522), and
|
|
[#1508](https://github.com/enso-org/enso/pull/1508)).
|
|
|
|
## Libraries
|
|
|
|
- Fixed a bug where sorting boolean columns in a `Table` would produce incorrect
|
|
output ([#1505](https://github.com/enso-org/enso/pull/1505)).
|
|
|
|
## Known Issues
|
|
|
|
- This is a beta release, so please see the
|
|
[issue tracker](https://github.com/enso-org/enso/issues?q=is%3Aissue+is%3Aopen+created%3A%3C2021-02-26)
|
|
for issues opened before the release date.
|
|
|
|
# Enso 0.2.4 (2021-02-23)
|
|
|
|
## Interpreter/Runtime
|
|
|
|
- Fixed another issue where dependency analysis was operating at too fine a
|
|
granularity ([#1495](https://github.com/enso-org/enso/pull/1495)).
|
|
- Moved all user-facing errors to in-Enso errors, allowing them to be presented
|
|
properly in the IDE, and interacted with by users
|
|
([#1487](https://github.com/enso-org/enso/pull/1487)).
|
|
|
|
## Tooling
|
|
|
|
- Fixed an issue where the runtime server would not send correct expression
|
|
payloads for dataflow errors
|
|
([#1484](https://github.com/enso-org/enso/pull/1484)).
|
|
|
|
## Libraries
|
|
|
|
- Added "pretty" representations to all Error types, allowing for better display
|
|
in the IDE ([#1498](https://github.com/enso-org/enso/pull/1498)).
|
|
- Updated the Table library with a raft of additional features
|
|
([#1489](https://github.com/enso-org/enso/pull/1489)). This includes table
|
|
concatenation, direct indexing and column aggregation, as well as a general
|
|
clean-up of the API pre-stabilisation.
|
|
- Added a flexible sorting mechanism to the Table library
|
|
([#1471](https://github.com/enso-org/enso/pull/1471)).
|
|
|
|
## Known Issues
|
|
|
|
- This is a beta release, so please see the
|
|
[issue tracker](https://github.com/enso-org/enso/issues?q=is%3Aissue+is%3Aopen+created%3A%3C2021-02-23)
|
|
for issues opened before the release date.
|
|
|
|
# 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](https://github.com/enso-org/enso/pull/1463)).
|
|
|
|
## Libraries
|
|
|
|
- Significantly improved the efficiency of visualising large tables through
|
|
zero-cost translation to Enso's vectors
|
|
([#1476](https://github.com/enso-org/enso/pull/1476)).
|
|
|
|
## Known Issues
|
|
|
|
- This is a beta release, so please see the
|
|
[issue tracker](https://github.com/enso-org/enso/issues?q=is%3Aissue+is%3Aopen+created%3A%3C2021-02-15)
|
|
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](https://github.com/enso-org/enso/pull/1433)).
|
|
- Significantly improved the syntax and semantics for FFI with JVM languages,
|
|
making it far more of a first-class citizen in Enso
|
|
([#1443](https://github.com/enso-org/enso/pull/1443)).
|
|
- Added support for polyglot JavaScript definitions to Enso
|
|
([#1451](https://github.com/enso-org/enso/pull/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](https://github.com/enso-org/enso/pull/1413)).
|
|
- Fixed an issue where dataflow analysis was incorrectly tracking usages of
|
|
undefined variables. This resulted in problems for the runtime server
|
|
([#1421](https://github.com/enso-org/enso/pull/1421)).
|
|
|
|
## Tooling
|
|
|
|
- Added support for collection of profiling information about the running
|
|
program to the language server protocol
|
|
([#1407](https://github.com/enso-org/enso/pull/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](https://github.com/enso-org/enso/pull/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](https://github.com/enso-org/enso/pull/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](https://github.com/enso-org/enso/pull/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](https://github.com/enso-org/enso/pull/1446)).
|
|
|
|
## Known Issues
|
|
|
|
- This is a beta release, so please see the
|
|
[issue tracker](https://github.com/enso-org/enso/issues?q=is%3Aissue+is%3Aopen+created%3A%3C2021-02-10)
|
|
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](https://github.com/enso-org/enso/issues?q=is%3Aissue+is%3Aopen+created%3A%3C2021-01-15)
|
|
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`, and
|
|
`Text`.
|
|
- Common data structures such as `List`, `Vector`, and `Map`.
|
|
- 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.
|
|
- 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
|