2021-10-17 23:56:49 +03:00
|
|
|
# Next Release
|
|
|
|
|
2021-11-18 17:17:38 +03:00
|
|
|
#### Visual Environment
|
|
|
|
|
2022-07-06 13:33:35 +03:00
|
|
|
- [Camera is panned to newly created nodes.][3552]
|
2022-04-14 13:37:40 +03:00
|
|
|
- [Long names on the Node Searcher's list are truncated.][3373] The part of the
|
|
|
|
name that doesn't fit in the Searcher's window is replaced with an ellipsis
|
|
|
|
character ("…").
|
2022-04-05 14:22:29 +03:00
|
|
|
- [Magnet Alignment algorithm is used while placing new nodes][3366]. When we
|
|
|
|
find an available free space for a new node, the node gets aligned with the
|
|
|
|
surrounding nodes horizontally and vertically. This helps to preserve a nice
|
|
|
|
grid-like layout for all the nodes.
|
2022-03-31 23:17:04 +03:00
|
|
|
- [Nodes created via the <kbd>TAB</kbd> key or by clicking the (+) button on the
|
|
|
|
screen are now placed below all the selected nodes when more than one node is
|
|
|
|
selected.][3361] (Previously, they were placed below the first node that was
|
|
|
|
selected.) This makes it easier to achieve a compact, vertical layout of the
|
|
|
|
graph.
|
2022-03-31 17:16:28 +03:00
|
|
|
- [Nodes created near existing nodes via the <kbd>TAB</kbd> key or by dropping a
|
|
|
|
connection are now repositioned and aligned to existing nodes.][3301] This is
|
|
|
|
to make the resulting graph prettier and avoid overlapping. In such cases,
|
|
|
|
created nodes will be placed below an existing node or on the bottom-left
|
|
|
|
diagonal if there is no space underneath.
|
2022-03-21 18:08:17 +03:00
|
|
|
- [Nodes can be added to the graph by double-clicking the output ports of
|
|
|
|
existing nodes (or by clicking them with the right mouse button).][3346]
|
2022-03-17 13:38:18 +03:00
|
|
|
- [Node Searcher preserves its zoom factor.][3327] The visible size of the node
|
|
|
|
searcher and edited node is now fixed. It simplifies node editing on
|
|
|
|
non-standard zoom levels.
|
2022-03-16 21:02:47 +03:00
|
|
|
- [Nodes can be added to the graph by clicking (+) button on the screen][3278].
|
|
|
|
The button is in the bottom-left corner. Node is added at the center or pushed
|
|
|
|
down if the center is already occupied by nodes.
|
2022-02-22 14:23:59 +03:00
|
|
|
- [Maximum zoom factor is limited to 1.0x if IDE is not in Debug Mode.][3273]
|
2022-02-14 13:19:08 +03:00
|
|
|
- [Debug Mode for Graph Editor can be activated/deactivated using a
|
|
|
|
shortcut.][3264] It allows access to a set of restricted features. See
|
|
|
|
[debug-shortcuts].
|
2022-01-26 14:23:55 +03:00
|
|
|
- [New nodes can be created by dragging and dropping a connection on the
|
|
|
|
scene.][3231]
|
|
|
|
- [Node connections can be dropped by pressing the Esc key while dragging
|
|
|
|
them.][3231]
|
2022-01-11 15:31:43 +03:00
|
|
|
- [Added support of source maps for JS-based visualizations.][3208]
|
2022-03-31 23:17:04 +03:00
|
|
|
- [Fixed the alignment of newly created nodes to existing nodes with
|
|
|
|
visualizations enabled.][3361] When applicable, new nodes are now placed below
|
|
|
|
visualizations. (Previously, they were placed to the left of the
|
|
|
|
visualizations.)
|
2021-11-18 17:17:38 +03:00
|
|
|
- [Fixed histograms coloring and added a color legend.][3153]
|
2022-08-23 15:12:22 +03:00
|
|
|
- [Lazy visualization for scatter plot.][3655]
|
2021-11-25 13:45:42 +03:00
|
|
|
- [Fixed broken node whose expression contains non-ASCII characters.][3166]
|
2021-12-08 10:11:58 +03:00
|
|
|
- [Fixed developer console warnings about views being created but not
|
|
|
|
registered.][3181]
|
Fix some edits not being sent to LangServ (#3186)
Some edits were not being sent by IDE to Language Server, resulting in 3003 "Invalid version" errors being returned by LangServ, and forcing full invalidation (resynchronization) of text contents in LangServ.
This change fixes such errors observed when opening a new project, creating a new project, or adding a new node to a project.
Fixes #3094
### Important Notes
The root cause showed up to be actually two separate issues, both of them reproduced by an "opening a new project" scenario:
1. The automatic addition of `import Standard.Visualization` line, [done internally when opening a new project in `controller::Project::initialize()`](https://github.com/enso-org/enso/blob/c14a2d81698217349394597fea778fd86bba47df/app/gui/src/controller/project.rs#L137-L141), was not reaching the Language Server. The cause of it was a race condition with [`self.model.subscribe()` in `Module::runner()`](https://github.com/enso-org/enso/blob/c14a2d81698217349394597fea778fd86bba47df/app/gui/src/model/module/synchronized.rs#L268). In particular, the addition of the import was executed before the subscription, which resulted in an edition notification being lost and not sent to LangServer. The fix employed for this is to make the `subscribe()` call synchronous during the initialization of a project, instead of scheduling it for a non-deterministic later time.
2. There was [a bug in `synchronized::Module::edit_for_snipped()`](https://github.com/enso-org/enso/blob/7467efda592ab5d7ce29122af20020293f9ceacf/app/gui/src/model/module/synchronized.rs#L362), making it erroneously "optimize out" any code insertions detected by `TextEdit::from_prefix_postfix_differences()`. The fix employed for this was to improve the "optimizing out" condition, together with adding an accompanying test case verifying correct behavior (protecting against a future regression).
Additionally, as a drive-by improvement, some statements in `ParsedSourceFile<>::serialize()` were reordered, to make them better match how the actual contents of an .enso file are structured, and thus make it easier to read/analyze the code.
2021-12-13 20:18:20 +03:00
|
|
|
- [Fixed developer console errors related to Language Server (mentioning code
|
|
|
|
3003 and "Invalid version"), occurring during project opening and after new
|
|
|
|
node cration.][3186]
|
2021-12-21 12:00:57 +03:00
|
|
|
- [Fixed developer console error about failing to decode a notification
|
|
|
|
"executionContext/visualisationEvaluationFailed"][3193]
|
2022-07-14 15:00:52 +03:00
|
|
|
- [New Version of the Node Searcher - the Component Browser][3530] The available
|
|
|
|
methods, atoms and functions are presented in nice, categorized view. The most
|
Component Browser with Grid View (#3766)
This PR introduced an overhauled Component List Panel implementation, making use of the efficient EnsoGL grid view component. Also, it delivers a couple of new features:
* A part of the new design: there are no more section headers in grid, instead groups are "glued" together. The local scope section is under "popular" (old "favorites").
* The keyboard management inside grid works.
* there is a mouse hover highlight
* selecting the lowest entry in section when jumping with navigation bar.
* accepting input as-is with cmd/ctrl + Enter.
https://user-images.githubusercontent.com/3919101/194561890-fffb9b41-2f0d-4357-8d9a-5038a6bcb023.mp4
### Important Notes
**What is not implemented:**
* [Focus management between panels.](https://www.pivotaltracker.com/story/show/180872763) The grid is always focused. To accept the current input, use ctrl+Enter shortcut.
* [Proper handling of selection when having empty space on the right and pressing right arrow.](https://www.pivotaltracker.com/story/show/183487880)
* When entering a module, its name is not added to the input as described in the design doc. Will be a part of [this User Story](https://www.pivotaltracker.com/story/show/181058321).
**Known issues**
* [the selection, especially in the local scope section, has sometimes an undesirable offset](https://www.pivotaltracker.com/story/show/183487730). The cause is known, but not so easy to fix.
* The inserted nodes are often producing errors. The Browser's inherits the outdated understanding of the language from old Node Searcher, and it does not include new form of imports, static methods etc. Those all will be fixed as a part of [this User Story](https://www.pivotaltracker.com/story/show/181058321).
* The performance is improved, but still not ideal, due to problems in [text areas](https://www.pivotaltracker.com/story/show/183406745).
* To scroll the documentation panel, you must first click on it.
2022-10-14 13:42:59 +03:00
|
|
|
popular tools are available at hand. The panel is unstable, and can be
|
|
|
|
disabled with the `--enable-new-component-browser=false` flag.
|
2022-08-16 15:56:08 +03:00
|
|
|
- [Fixed error handling during startup.][3648] This prevents entering IDE into a
|
|
|
|
"zombie" state, where processes were started but not visible to user. They
|
|
|
|
could cause issues with starting further IDE instances.
|
2022-09-01 15:33:46 +03:00
|
|
|
- [New nodes are created in the project source when the searcher is opened and a
|
|
|
|
new node is created.][3645]
|
2022-09-13 06:07:17 +03:00
|
|
|
- [Proper Polyglot Vector and Array Support][3667]
|
2022-09-01 15:33:46 +03:00
|
|
|
- [IDE uses new visualization API.][3661]
|
2022-08-29 11:02:33 +03:00
|
|
|
- [Visualization of long textual values improved][3665]
|
2022-09-16 19:05:40 +03:00
|
|
|
- [Selecting a suggestion from the searcher or component browser now updates the
|
|
|
|
visualisation of the edited node to preview the results of applying the
|
|
|
|
suggestion.][3691]
|
2022-09-29 21:34:17 +03:00
|
|
|
- [Remove here keyword from IDE.][3749]
|
2022-10-25 20:21:12 +03:00
|
|
|
- [Shortcut changes:][3823] Pressing `Enter` when no node is edited opens
|
|
|
|
Component Browser. Entering node shortcut changed to `cmd` + `Enter`.
|
2022-10-26 21:20:44 +03:00
|
|
|
- [Added support for scrolling by pressing and holding a mouse button on a
|
|
|
|
scrollbar.][3824]
|
2022-11-07 13:50:47 +03:00
|
|
|
- [Added scroll bounce animation][3836] which activates when scrolling past the
|
|
|
|
end of scrollable content.
|
2023-01-24 23:55:36 +03:00
|
|
|
- [The default text visualisation now loads its content lazily from the
|
|
|
|
backend][3910]. This means that the visualisation cannot be overwhelmed by
|
|
|
|
large amounts of data.
|
2022-12-02 15:39:11 +03:00
|
|
|
- [Added project snapshot saving on shortcut][3923]
|
2022-12-20 00:22:33 +03:00
|
|
|
- [The color of the displayed project name indicates whether the project's
|
|
|
|
current state is saved in a snapshot.][3950] The project name is darker when
|
|
|
|
the project is changed from the last saved snapshot and lighter when the
|
|
|
|
snapshot matches the current project state.
|
2022-12-12 20:48:42 +03:00
|
|
|
- [Added shortcut to interrupt the program][3967]
|
2023-01-11 17:32:25 +03:00
|
|
|
- [Added suggestion dropdown for function arguments][4013]. The dropdown is
|
|
|
|
present only when the argument is of type that has a predefined set of values.
|
2023-01-23 14:57:17 +03:00
|
|
|
- [Separate component browser navigator sections for modules imported from
|
|
|
|
different namespaces][4044]
|
2023-02-13 12:57:55 +03:00
|
|
|
- [Internal components (private API) are not displayed in the component
|
|
|
|
browser.][4085]
|
2023-02-08 02:23:24 +03:00
|
|
|
- [The correct default visualisation for tables is shown on new nodes.][4120]
|
2023-02-16 21:14:34 +03:00
|
|
|
- [Added restoring of last project snapshot on shortcut.][4050]
|
2023-02-04 03:50:24 +03:00
|
|
|
- [Added contextual suggestions to argument dropdowns][4072]. Dropdowns will now
|
|
|
|
contain suggestions which are based on evaluated data.
|
2023-02-21 00:24:51 +03:00
|
|
|
- [Added a shortcut to show internal components (private API) in the component
|
|
|
|
browser.][5582]
|
2023-02-17 02:21:37 +03:00
|
|
|
- [Improved component browser entry filtering and sorting][5645]. The component
|
|
|
|
browser will now provide suggestions matching either the component's label or
|
|
|
|
the corresponding code.
|
2023-02-20 09:39:39 +03:00
|
|
|
- [Improved argument placeholder resolution in more complex expressions][5656].
|
|
|
|
It is now possible to drop node connections onto missing arguments of chained
|
|
|
|
and nested function calls.
|
2023-02-23 18:40:38 +03:00
|
|
|
- [The component browser suggestions take into account entry aliases][5678]. The
|
|
|
|
searcher input is now matched to entry aliases too. The alias match is used to
|
|
|
|
filter and sort component browser entries.
|
2023-03-02 17:51:42 +03:00
|
|
|
- [The Component Browser icons are cached on texture][5779] improving its
|
|
|
|
performance on slower machines.
|
2023-02-27 23:10:23 +03:00
|
|
|
- [Fixed missing result preview when editing nodes.][5757]
|
2023-03-07 18:49:40 +03:00
|
|
|
- [Application retries its initialization after failures][5802], allowing a
|
|
|
|
reconnecting after connectivity problems.
|
2023-03-16 14:23:40 +03:00
|
|
|
- [Improved Component Browser Filtering][4115]. The best match is always
|
|
|
|
selected first, and the groups are rearranged, so the best matches are on the
|
|
|
|
bottom.
|
2023-03-10 00:23:25 +03:00
|
|
|
- [Named arguments syntax is now recognized in IDE][5774]. Connections to
|
|
|
|
function arguments will now use named argument syntax instead of inserting
|
|
|
|
wildcards on all preceding arguments.
|
2023-03-15 14:54:16 +03:00
|
|
|
- [Added boilerplate React app for authorization via Cognito+AWS Amplify][5798].
|
|
|
|
This PR adds a React app that renders the dashboard (which has been ported
|
|
|
|
from the cloud. The dashboard displays a list of projects, and allows users to
|
|
|
|
open them in the IDE (which is not part of the React app, but can be switched
|
|
|
|
to from the dashboard). The PR also adds authentication+authorization (i.e.,
|
|
|
|
sign up and sign in for users), via either email/password or GitHub/Google.
|
2023-03-15 18:43:51 +03:00
|
|
|
- [New Enso documentation parser][5917]. Smaller and faster; enables planned
|
|
|
|
improvements to internal documentation representation.
|
2023-03-17 13:06:32 +03:00
|
|
|
- [Dropdown widgets now support custom labels][5705] and automatically generate
|
|
|
|
shortened labels for entries with long module paths. When an option is
|
|
|
|
selected from the dropdown, the necessary module imports are inserted,
|
|
|
|
eliminating the need for fully qualified names.
|
2023-04-18 13:26:17 +03:00
|
|
|
- [The IDE now has a new UI element for selecting the execution mode of the
|
|
|
|
project][6130].
|
2023-03-27 20:02:06 +03:00
|
|
|
- [Added tooltips to icon buttons][6035] for improved usability. Users can now
|
|
|
|
quickly understand each button's function.
|
Project Sharing (#6077)
Enso will now associate with two file extensions:
* `.enso` — Enso source file.
* If the source file belongs to a project under the Project Manager-managed directory, it will be opened.
* If the source file belongs to a project located elsewhere, it will be imported into the PM-managed directory and opened;
* Otherwise, opening the `.enseo` file will fail. (e.g., loose source file without any project)
* `.enso-project` — Enso project bundle, i.e., `tar.gz` archive containing a compressed Enso project directory.
* it will be imported under the PM-managed directory; a unique directory name shall be generated if needed.
### Important Notes
On Windows, the NSIS installer is expected to handle the file associations.
On macOS, the file associations are expected to be set up after the first time Enso is started,
On Linux, the file associations are not supported yet.
2023-04-06 16:26:37 +03:00
|
|
|
- [File associations are created on Windows and macOS][6077]. This allows
|
|
|
|
opening Enso files by double-clicking them in the file explorer.
|
Widgets integrated with graph nodes (#6347)
Rewrites node input component. Now the input is composed of multiple widget components arranged in a tree of views with automatic layout. That allows creating complex UI elements on top of the node itself, and further widget positions will be automatically adapted to that. The tree roughly follow the span tree, as it is built by consuming its nodes and eagerly creating widgets from them. The tree is rebuilt every time the expression changes, but that rebuild process reuses as much previously created widgets as possible, and only updates their configuration as needed. Each widget type can have its own configuration options that can be passed to it from the parent, or assigned based on configuration received from the language server.
<img width="773" alt="image" src="https://user-images.githubusercontent.com/919491/233439310-9c39ea88-19bc-43da-9baf-1bb176e2724e.png">
# Important Notes
For now, all span-tree updates are sent over to the shared Frp endpoint of the whole tree, so there is no mechanism for intercepting them by the parent widgets. One idea would be to use existing bubbling/capturing events on widget display objects for that purpose, but I think existing implementation is simpler and more convenient, and we can always easily change that if we have a use for it.
There are some issues with performance due to much more display objects being created on the graph. Expect it to be a little worse, especially at initialization time.
2023-04-26 22:37:54 +03:00
|
|
|
- [Added capability to create node widgets with complex UI][6347]. Node widgets
|
|
|
|
such as dropdown can now be placed in the node and affect the code text flow.
|
2023-04-25 23:28:15 +03:00
|
|
|
- [The IDE UI element for selecting the execution mode of the project is now
|
2023-05-04 21:43:08 +03:00
|
|
|
sending messages to the backend.][6341].
|
2023-05-08 13:12:26 +03:00
|
|
|
- [Feedback when renaming a project][6366]. When the user tries to rename the
|
|
|
|
project to an invalid name, a helpful error message is shown and the text
|
|
|
|
field stays the same as to give the user the opportunity to fix the mistake.
|
2023-05-05 07:52:22 +03:00
|
|
|
- [Area selectionof nodes no longer takes into account the visualisation that
|
2023-05-04 21:43:08 +03:00
|
|
|
belongs to the node.][6487].
|
2023-05-02 12:24:20 +03:00
|
|
|
- [List Editor Widget][6470]. Now you can edit lists by clicking buttons on
|
|
|
|
nodes or by dragging the elements.
|
2023-05-12 07:41:55 +03:00
|
|
|
- [Visualisations now show a loading spinner while waiting on data.][6512].
|
Fix cut-off in text visualisations (#6421)
Closes #6196.
Three things were going wrong:
- Not directly contributing, but adding confusion was the fact that padding of 5px was added in two different places. Since the 10px we've had up until now looked better, especially given the size of the rounded corners, I've kept it at 10px, but only applied in one place.
- The main issue was that the length the scrollbars scroll over didn't take padding into account. At the same time, I changed the `max` and `thumb_size` variables to the coordinate system of the content. This is also how they're being used in `ScrollArea`, which is the only other place where `Scrollbar`s are being used.
- The line height of text grid entries was set to the default of 1.2. That's the default line height in browsers, which is great for multi-line text and elements whose height is greater than the line height. In this case, however, where the height and the font size are set to the same value, the default setting of 1.2 pushes the text below the allotted space.
https://user-images.githubusercontent.com/607786/234297411-8c0b3851-5977-4ca5-b3b4-5b0782510e14.mp4
2023-05-04 11:11:18 +03:00
|
|
|
- [Fixed text visualisations which were being cut off at the last line.][6421]
|
2023-05-05 12:04:07 +03:00
|
|
|
- [Fixed a bug where, when scrolling or dragging on a full-screen visualization,
|
|
|
|
the view of the graph changed as well.][6530]
|
2023-05-10 11:40:24 +03:00
|
|
|
- [Changed the shortcut for restoring to the last saved version of a project
|
|
|
|
from <kbd>cmd</kbd>+<kbd>r</kbd> to
|
|
|
|
<kbd>cmd</kbd>+<kbd>shift</kbd>+<kbd>r</kbd>][6620] to make it less likely
|
|
|
|
that it would be triggered by accident. As a consequence, the program
|
|
|
|
execution shortcuts changed from
|
|
|
|
<kbd>cmd</kbd>+<kbd>shift</kbd>+<kbd>t</kbd>/<kbd>r</kbd> to
|
|
|
|
<kbd>cmd</kbd>+<kbd>alt</kbd>+<kbd>t</kbd>/<kbd>r</kbd>.
|
2023-05-11 17:59:19 +03:00
|
|
|
- [Fixed a bug where selecting a nested breadcrumb would cause the order of
|
|
|
|
breadcrumbs to change incorrectly.][6617]
|
2023-05-17 12:07:47 +03:00
|
|
|
- [Changed the shortcut to show the full-screen visualization for a node from
|
|
|
|
<kbd>space</kbd> <kbd>space</kbd> to <kbd>shift</kbd>+<kbd>space</kbd>.][6663]
|
|
|
|
so that it doesn't interfere with the shortcut for toggling the small
|
|
|
|
visualization.
|
2023-05-18 00:20:49 +03:00
|
|
|
- [Cloud dashboard, which supersedes the startup screen][6279]. Features also
|
|
|
|
added in various other PRs. The new dashboard includes tables for projects,
|
|
|
|
folders, files and secrets, a list of templates from which new projects can be
|
|
|
|
created, a user menu, and a search bar.
|
2023-05-23 11:19:27 +03:00
|
|
|
- [The Application will try to reload file in backend on synchronization
|
|
|
|
failure][6752]. It should make it more resilient to connectivity issues and
|
|
|
|
occasional bugs. The reload may be forced by the user with
|
|
|
|
<kbd>cmd</kbd>+<kbd>shift</kbd>+<kbd>x</kbd> shortcut.
|
2023-05-22 17:50:25 +03:00
|
|
|
- [When selecting a function from the main module through the component browser,
|
|
|
|
it is now referenced via the `Main` namespace instead of the project
|
|
|
|
namespace,][6719] e.g. `Main.func1` instead of `MyProject.func1`. This makes
|
|
|
|
it robust against project name changes.
|
2023-05-23 17:23:23 +03:00
|
|
|
- [Added a button to return from an opened project back to the project
|
|
|
|
dashboard.][6474]
|
2023-05-26 16:08:16 +03:00
|
|
|
- [Keyboard shortcuts for graph editing are now disabled when the full-screen
|
|
|
|
visualization is active.][6844]
|
Fix cut-off in text visualisations (#6421)
Closes #6196.
Three things were going wrong:
- Not directly contributing, but adding confusion was the fact that padding of 5px was added in two different places. Since the 10px we've had up until now looked better, especially given the size of the rounded corners, I've kept it at 10px, but only applied in one place.
- The main issue was that the length the scrollbars scroll over didn't take padding into account. At the same time, I changed the `max` and `thumb_size` variables to the coordinate system of the content. This is also how they're being used in `ScrollArea`, which is the only other place where `Scrollbar`s are being used.
- The line height of text grid entries was set to the default of 1.2. That's the default line height in browsers, which is great for multi-line text and elements whose height is greater than the line height. In this case, however, where the height and the font size are set to the same value, the default setting of 1.2 pushes the text below the allotted space.
https://user-images.githubusercontent.com/607786/234297411-8c0b3851-5977-4ca5-b3b4-5b0782510e14.mp4
2023-05-04 11:11:18 +03:00
|
|
|
|
2023-05-18 00:20:49 +03:00
|
|
|
[6279]: https://github.com/enso-org/enso/pull/6279
|
Fix cut-off in text visualisations (#6421)
Closes #6196.
Three things were going wrong:
- Not directly contributing, but adding confusion was the fact that padding of 5px was added in two different places. Since the 10px we've had up until now looked better, especially given the size of the rounded corners, I've kept it at 10px, but only applied in one place.
- The main issue was that the length the scrollbars scroll over didn't take padding into account. At the same time, I changed the `max` and `thumb_size` variables to the coordinate system of the content. This is also how they're being used in `ScrollArea`, which is the only other place where `Scrollbar`s are being used.
- The line height of text grid entries was set to the default of 1.2. That's the default line height in browsers, which is great for multi-line text and elements whose height is greater than the line height. In this case, however, where the height and the font size are set to the same value, the default setting of 1.2 pushes the text below the allotted space.
https://user-images.githubusercontent.com/607786/234297411-8c0b3851-5977-4ca5-b3b4-5b0782510e14.mp4
2023-05-04 11:11:18 +03:00
|
|
|
[6421]: https://github.com/enso-org/enso/pull/6421
|
2023-05-05 12:04:07 +03:00
|
|
|
[6530]: https://github.com/enso-org/enso/pull/6530
|
2023-05-11 17:59:19 +03:00
|
|
|
[6617]: https://github.com/enso-org/enso/pull/6617
|
2023-05-18 00:20:49 +03:00
|
|
|
[6620]: https://github.com/enso-org/enso/pull/6620
|
2023-05-17 12:07:47 +03:00
|
|
|
[6663]: https://github.com/enso-org/enso/pull/6663
|
2023-05-23 11:19:27 +03:00
|
|
|
[6752]: https://github.com/enso-org/enso/pull/6752
|
2023-05-22 17:50:25 +03:00
|
|
|
[6719]: https://github.com/enso-org/enso/pull/6719
|
2023-05-23 17:23:23 +03:00
|
|
|
[6474]: https://github.com/enso-org/enso/pull/6474
|
2023-05-26 16:08:16 +03:00
|
|
|
[6844]: https://github.com/enso-org/enso/pull/6844
|
2021-11-25 13:45:42 +03:00
|
|
|
|
2022-04-12 20:39:08 +03:00
|
|
|
#### EnsoGL (rendering engine)
|
|
|
|
|
|
|
|
- [You can change font and set letters bold in the <code>text::Area</code>
|
|
|
|
component][3385]. Use the <code>set_font</code> and
|
|
|
|
<code>set_bold_bytes</code> respectively.
|
2022-05-30 13:32:43 +03:00
|
|
|
- [Fixed a text rendering issue in nested sublayer][3486].
|
2022-07-19 11:39:23 +03:00
|
|
|
- [Added a new component: Grid View.][3588] It's parametrized by Entry object,
|
|
|
|
display them arranged in a Grid. It does not instantiate all entries, only
|
|
|
|
those visible, and re-use created entries during scrolling thus achieving
|
2022-08-01 13:54:42 +03:00
|
|
|
great performance. There are variants of grid view with selection and
|
|
|
|
highlight, scrollbars, and both.
|
2022-11-03 10:35:06 +03:00
|
|
|
- [Massive improvements of text rendering performance][3776]. Different text
|
|
|
|
instances are now reusing the shape shaders and the same sprite system under
|
|
|
|
the hood. This drastically reduces the amount of required draw calls for
|
|
|
|
scenes with a lot of text.
|
2022-11-08 21:15:05 +03:00
|
|
|
- [Text rendering quality improvements][3855]. Glyphs are now hinted in a better
|
|
|
|
way. Also, additional fine-tuning is performed per font and per host operating
|
|
|
|
system.
|
2022-11-14 12:09:49 +03:00
|
|
|
- [Display objects can now emit and receive events in the same style as
|
|
|
|
JavaScript DOM events][3863]. The events system implements very similar
|
|
|
|
behavior to the one described here:
|
|
|
|
https://javascript.info/bubbling-and-capturing.
|
2022-11-24 18:37:03 +03:00
|
|
|
- [Added a new component: Slider][3852]. It allows adjusting a numeric value
|
|
|
|
with the mouse. The precision of these adjustments can be increased or
|
|
|
|
decreased.
|
Numeric slider component enhancement (#3885)
This is an enhancement of the `Slider` component implemented in #3852. It adds the following features:
* Tooltips and precision change hints
* Selectable slider limit behaviors
* Textual slider value editing
* Vertical slider layout
#### Tooltips
An information tooltip can now be added to a slider, it is shown when the mouse hovers over the component. Additionally, a pop-up indicating the slider's precision appears when the slider's precision has been adjusted.
https://user-images.githubusercontent.com/117099775/206148098-3b4dc059-18aa-4200-9ee0-5d4382363810.mp4
#### Slider limits
The previous slider implementation clamped the adjusted value to the slider's minimum/maximum limits. Now the following behaviors are available:
* Hard limits: Clamp the value to a range within the slider's limits.
* Soft limits: The value can extend beyond the slider's limits. When this occurs, an overflow indicator will be displayed on the side of the limit that is exceeded.
* Adaptive limits: The value can extend beyond the slider's limits. When this occurs, the exceeded limit will temporarily be adjusted to double the slider's range. This will be performed iteratively until the value falls within the extended limits. When a limit is extended and the value is adjusted to fit a smaller range, the extended limit will be iteratively halved until only the necessary range is covered. The slider's extended limits will never shrink to a range smaller than the original range.
These behaviors can be set to the lower and upper limits of a slider independently.
https://user-images.githubusercontent.com/117099775/206148139-6149c91d-ef49-4e2d-97f6-71084f52591c.mp4
#### Textual editing
The slider's value can now be entered through a text input field. Double-click to edit the slider's current value. To confirm the edit press `enter`, or press `escape` to cancel the edit. If an invalid value is entered on confirmation the slider will revert to its value before the edit. The slider's precision will be adjusted based on the number of decimal places of the value entered.
https://user-images.githubusercontent.com/117099775/206148170-d3fa4c82-6e73-4b1c-9be9-cb99979f7b70.mp4
#### Vertical layout
The slider component now supports a vertical layout. In this case value adjustment is performed by a vertical mouse movement, and a horizontal movement adjusts the slider's precision. The slider's track now fills the component in a vertical direction, and the slider's label is displayed near the top end of the component.
https://user-images.githubusercontent.com/117099775/206148211-0f176aaf-bc1b-45e2-afd7-0d28391aafcb.mp4
#### Scroll bar mode
The slider component supports two indicator modes:
* `Track`: The component is filled with a colored bar from the lower limit (empty) to the upper limit (full) dependent on the slider's value.
* `Thumb`: The component contains a rounded indicator that moves along the slider from one end to the other, indicating the slider's value proportionally to the slider's limits. The width of the indicator is configurable.
In addition, the value text, text entry, and precision adjustment can be turned off to provide a scroll bar appearance when used with the `Thumb` indicator.
https://user-images.githubusercontent.com/117099775/206148261-ae291073-85e9-4082-9f91-39b65fecdc0f.mp4
#### Example scene shortcuts
The example scene contains two shortcuts in order to evaluate the dynamic addition and removal of the slider components:
* `CTRL+D` drops all the slider components that are added to the scene.
* `CTRL+A` adds a new set of example slider components to the scene.
2022-12-12 11:53:19 +03:00
|
|
|
- [Slider component functionality improvements][3885]. The slider component now
|
|
|
|
supports multiple ways to handle out-of-range values. The slider's value can
|
|
|
|
be edited as text, and a new vertical slider layout is available.
|
2022-12-04 07:41:56 +03:00
|
|
|
- [Added ProjectsGrid view for Cloud Dashboard][3857]. It provides the first
|
|
|
|
steps towards migrating the Cloud Dashboard from the existing React (web-only)
|
|
|
|
implementation towards a shared structure that can be used in both the Desktop
|
|
|
|
and Web versions of the IDE.
|
2023-01-18 10:46:48 +03:00
|
|
|
- [Removed Cloud Dashboard][4047]. The Cloud Dashboard was being rewritten in
|
|
|
|
EnsoGL but after internal discussion we've decided to rewrite it in React,
|
|
|
|
with a shared implementation between the Desktop and Web versions of the IDE.
|
2022-12-22 21:19:40 +03:00
|
|
|
- [Added a new component: Dropdown][3985]. A list of selectable labeled entries,
|
|
|
|
suitable for single and multi-select scenarios.
|
2023-01-27 03:09:09 +03:00
|
|
|
- [Compile-time shader optimizer was implemented][4003]. It is capable of
|
|
|
|
extracting non-optimized shaders from the compiled WASM artifacts, running
|
|
|
|
stand-alone optimization toolchain (glslc, spirv-opt, spirv-cross), and
|
|
|
|
injecting optimized shaders back to WASM during its initialization process.
|
|
|
|
Unfortunately, it caused our theme system to stop working correctly, because
|
|
|
|
generated shaders differ per theme (only light theme is available, the dark
|
|
|
|
theme has been disabled). We will support multiple themes in the future, but
|
|
|
|
this is not on our priority list right now.
|
2023-03-21 11:17:54 +03:00
|
|
|
- [Performance monitor was extended with the ability to print details of actions
|
|
|
|
performed in a given frame][5895]. In particular, you can now inspect names of
|
|
|
|
all symbols rendered in a given frame. You can also pause the performance
|
|
|
|
monitor and inspect results recorded in the past.
|
2023-03-27 20:02:06 +03:00
|
|
|
- [ToggleButtons can now have tooltips][6035].
|
2023-03-30 11:51:31 +03:00
|
|
|
- [Rendering of tooltips was improved.][6097] Their text is now more vertically
|
|
|
|
centered and the delay before showing them was extended.
|
2022-12-04 07:41:56 +03:00
|
|
|
|
|
|
|
[3857]: https://github.com/enso-org/enso/pull/3857
|
2022-12-22 21:19:40 +03:00
|
|
|
[3985]: https://github.com/enso-org/enso/pull/3985
|
2023-01-27 03:09:09 +03:00
|
|
|
[4003]: https://github.com/enso-org/enso/pull/4003
|
2023-05-18 00:20:49 +03:00
|
|
|
[4047]: https://github.com/enso-org/enso/pull/4047
|
2023-03-21 11:17:54 +03:00
|
|
|
[5895]: https://github.com/enso-org/enso/pull/5895
|
2023-03-27 20:02:06 +03:00
|
|
|
[6035]: https://github.com/enso-org/enso/pull/6035
|
2023-03-30 11:51:31 +03:00
|
|
|
[6097]: https://github.com/enso-org/enso/pull/6097
|
2023-05-18 00:20:49 +03:00
|
|
|
[6130]: https://github.com/enso-org/enso/pull/6130
|
2023-05-08 13:12:26 +03:00
|
|
|
[6366]: https://github.com/enso-org/enso/pull/6366
|
2023-05-02 12:24:20 +03:00
|
|
|
[6341]: https://github.com/enso-org/enso/pull/6341
|
|
|
|
[6470]: https://github.com/enso-org/enso/pull/6470
|
2023-05-18 00:20:49 +03:00
|
|
|
[6487]: https://github.com/enso-org/enso/pull/6487
|
2023-05-12 07:41:55 +03:00
|
|
|
[6512]: https://github.com/enso-org/enso/pull/6512
|
2022-04-12 20:39:08 +03:00
|
|
|
|
2022-01-17 12:51:56 +03:00
|
|
|
#### Enso Standard Library
|
|
|
|
|
|
|
|
- [Implemented `Vector.distinct` allowing to remove duplicate elements from a
|
|
|
|
Vector][3224]
|
2022-01-25 12:57:30 +03:00
|
|
|
- [Implemented `Duration.time_execution` allowing timing of the execution of an
|
2022-02-10 11:09:13 +03:00
|
|
|
expression within the UI][3229]
|
2022-01-25 20:29:39 +03:00
|
|
|
- [Improved performance of `Vector.filter` and `Vector.each`; implemented
|
|
|
|
`Vector.filter_with_index`. Made `Vector.at` accept negative indices and
|
|
|
|
ensured it fails with a dataflow error on out of bounds access instead of an
|
|
|
|
internal Java exception.][3232]
|
2022-02-02 12:04:06 +03:00
|
|
|
- [Implemented the `Table.select_columns` operation.][3230]
|
2022-02-03 17:18:47 +03:00
|
|
|
- [Implemented the `Table.remove_columns` and `Table.reorder_columns`
|
|
|
|
operations.][3240]
|
2022-02-08 19:28:46 +03:00
|
|
|
- [Implemented the `Table.sort_columns` operation.][3250]
|
2022-02-10 00:17:43 +03:00
|
|
|
- [Fixed `Vector.sort` to handle tail-recursive comparators][3256]
|
2022-02-11 13:18:51 +03:00
|
|
|
- [Implemented `Range.find`, `Table.rename_columns` and
|
|
|
|
`Table.use_first_row_as_names` operations][3249]
|
2022-02-14 12:03:55 +03:00
|
|
|
- [Implemented `Text.at` and `Text.is_digit` methods][3269]
|
2022-02-16 10:36:19 +03:00
|
|
|
- [Implemented `Runtime.get_stack_trace` together with some utilities to process
|
|
|
|
stack traces and code locations][3271]
|
2022-02-15 18:16:08 +03:00
|
|
|
- [Implemented `Vector.flatten`][3259]
|
2022-02-16 20:40:33 +03:00
|
|
|
- [Significant performance improvement in `Natural_Order` and new `Faker`
|
|
|
|
methods added to `Standard.Test`][3276]
|
2022-02-17 18:04:00 +03:00
|
|
|
- [Implemented `Integer.parse`][3283]
|
2022-02-17 20:09:41 +03:00
|
|
|
- [Made `Text.compare_to` correctly handle Unicode normalization][3282]
|
2022-02-22 18:41:56 +03:00
|
|
|
- [Extend `Text.contains` API to support regex and case insensitive
|
|
|
|
search.][3285]
|
2022-02-22 21:50:59 +03:00
|
|
|
- [Implemented new `Text.take` and `Text.drop` functions, replacing existing
|
|
|
|
functions][3287]
|
2022-02-23 19:48:33 +03:00
|
|
|
- [Implemented new `Text.starts_with` and `Text.ends_with` functions, replacing
|
|
|
|
existing functions][3292]
|
2022-03-01 02:20:41 +03:00
|
|
|
- [Implemented `Text.to_case`, replacing `Text.to_lower_case` and
|
|
|
|
`Text.to_upper_case`][3302]
|
2022-03-01 19:18:11 +03:00
|
|
|
- [Implemented initial `Table.group_by` function on Standard.Table][3305]
|
2022-03-02 20:19:39 +03:00
|
|
|
- [Implemented `Text.pad` and `Text.trim`][3309]
|
2022-03-02 22:00:47 +03:00
|
|
|
- [Updated `Text.repeat` and added `*` operator shorthand][3310]
|
2022-03-03 18:40:48 +03:00
|
|
|
- [General improved Vector performance and new `Vector.each_with_index`,
|
|
|
|
`Vector.fold_with_index` and `Vector.take` methods.][3236]
|
2022-03-04 18:40:34 +03:00
|
|
|
- [Implemented new `Text.insert` method][3311]
|
2022-03-08 16:24:04 +03:00
|
|
|
- [Implemented `Bool.compare_to` method][3317]
|
2022-03-09 13:31:02 +03:00
|
|
|
- [Implemented `Map.first`, `Map.last` functions. Expanded `Table.group_by` to
|
|
|
|
also compute mode, percentile, minimum, maximum.][3318]
|
2022-03-12 22:42:00 +03:00
|
|
|
- [Implemented `Text.location_of` and `Text.location_of_all` methods.][3324]
|
2022-03-15 17:23:36 +03:00
|
|
|
- [Replaced `Table.group_by` with `Table.aggregate`][3339]
|
2022-03-18 19:57:06 +03:00
|
|
|
- [Implemented `Panic.catch` and helper functions for handling errors. Added a
|
|
|
|
type parameter to `Panic.recover` to recover specific types of errors.][3344]
|
2022-03-22 21:18:46 +03:00
|
|
|
- [Added warning handling to `Table.aggregate`][3349]
|
2022-04-12 14:02:01 +03:00
|
|
|
- [Improved performance of `Table.aggregate` and full warnings
|
|
|
|
implementation][3364]
|
2022-04-05 19:45:56 +03:00
|
|
|
- [Implemented `Text.reverse`][3377]
|
2022-04-12 14:02:01 +03:00
|
|
|
- [Implemented support for most Table aggregations in the Database
|
|
|
|
backend.][3383]
|
2022-04-13 22:21:47 +03:00
|
|
|
- [Update `Text.replace` to new API.][3393]
|
2022-04-19 19:50:03 +03:00
|
|
|
- [Add encoding support to `Text.bytes` and `Text.from_bytes`. Renamed and added
|
|
|
|
encoding to `File.read_text`. New `File.read` API.][3390]
|
2022-04-20 19:22:01 +03:00
|
|
|
- [Improved the `Range` type. Added a `down_to` counterpart to `up_to` and
|
|
|
|
`with_step` allowing to change the range step.][3408]
|
2022-04-26 18:22:53 +03:00
|
|
|
- [Aligned `Text.split` API with other methods and added `Text.lines`.][3415]
|
2022-04-29 20:12:19 +03:00
|
|
|
- [Implemented a basic reader for the `Delimited` file format.][3424]
|
2022-05-06 16:21:10 +03:00
|
|
|
- [Implemented a reader for the `Excel` file format.][3425]
|
2022-05-11 01:44:05 +03:00
|
|
|
- [Added custom encoding support to the `Delimited` file format reader.][3430]
|
2022-05-11 16:25:06 +03:00
|
|
|
- [Implemented `compute` method on `Vector` for statistics calculations.][3442]
|
2022-05-17 13:26:36 +03:00
|
|
|
- [Promote get and put to be methods of Ref type rather than of Ref
|
|
|
|
module][3457]
|
2022-05-18 18:27:48 +03:00
|
|
|
- [Implemented `Table.parse_values`, parsing text columns according to a
|
|
|
|
specified type.][3455]
|
2022-05-18 20:27:42 +03:00
|
|
|
- [Promote with, take, finalize to be methods of Managed_Resource
|
|
|
|
instance][3460]
|
2022-05-20 18:08:36 +03:00
|
|
|
- [Implemented automatic type detection for `Table.parse_values`.][3462]
|
2022-05-24 18:59:00 +03:00
|
|
|
- [Integrated value parsing with the `Delimited` file reader.][3463]
|
2022-05-25 16:29:17 +03:00
|
|
|
- [Implemented the `Infer` setting for headers in the `Delimited` file format
|
|
|
|
and made it the default.][3472]
|
2022-05-26 15:04:25 +03:00
|
|
|
- [Implemented a `Table.from Text` conversion allowing to parse strings
|
|
|
|
representing `Delimited` files without storing them on the filesystem.][3478]
|
2022-05-30 20:13:06 +03:00
|
|
|
- [Added rank data, correlation and covariance statistics for `Vector`][3484]
|
2022-06-06 13:56:52 +03:00
|
|
|
- [Implemented `Table.order_by` for the SQLite backend.][3502]
|
2022-06-07 15:31:55 +03:00
|
|
|
- [Implemented `Table.order_by` for the PostgreSQL backend.][3514]
|
2022-06-08 15:30:50 +03:00
|
|
|
- [Implemented `Table.order_by` for the in-memory table.][3515]
|
2022-06-08 12:53:18 +03:00
|
|
|
- [Renamed `File_Format.Text` to `Plain_Text`, updated `File_Format.Delimited`
|
|
|
|
API and added builders for customizing less common settings.][3516]
|
2022-06-10 12:59:03 +03:00
|
|
|
- [Allow control of sort direction in `First` and `Last` aggregations.][3517]
|
2022-06-13 12:11:46 +03:00
|
|
|
- [Implemented `Text.write`, replacing `File.write_text`.][3518]
|
2023-01-31 23:48:16 +03:00
|
|
|
- [Removed obsolete `select`, `group`, `sort` and releated types from
|
|
|
|
tables.][3519]
|
2022-06-21 16:39:32 +03:00
|
|
|
- [Removed obsolete `from_xls` and `from_xlsx` functions. Added support for
|
|
|
|
reading column names from first row in `File_Format.Excel`][3523]
|
2022-06-23 19:51:52 +03:00
|
|
|
- [Added `File_Format.Delimited` support to `Table.write` for new files.][3528]
|
2022-07-04 23:26:44 +03:00
|
|
|
- [Adjusted `Database.connect` API to new design.][3542]
|
2022-07-04 21:32:16 +03:00
|
|
|
- [Added `File_Format.Excel` support to `Table.write` for new files.][3551]
|
2022-07-11 13:30:44 +03:00
|
|
|
- [identity,const,flip,curry,uncurry functions][3554]
|
2022-07-07 09:41:33 +03:00
|
|
|
- [Added append support for `File_Format.Excel`.][3558]
|
2022-07-07 03:20:00 +03:00
|
|
|
- [Added support for custom encodings in `File_Format.Delimited` writing.][3564]
|
2022-07-11 11:26:44 +03:00
|
|
|
- [Allow filtering caught error type in `Error.catch`.][3574]
|
2022-07-11 15:36:01 +03:00
|
|
|
- [Implemented `Append` mode for `File_Format.Delimited`.][3573]
|
2022-07-14 14:30:40 +03:00
|
|
|
- [Added `Vector.write_bytes` function and removed old `File.write_bytes`][3583]
|
2022-07-14 18:01:26 +03:00
|
|
|
- [Added `line_endings` and `comment_character` options to
|
|
|
|
`File_Format.Delimited`.][3581]
|
2022-07-19 17:09:09 +03:00
|
|
|
- [Fixed the case of various type names and library paths][3590]
|
2022-07-21 16:32:37 +03:00
|
|
|
- [Added support for parsing `.pgpass` file and `PG*` environment variables for
|
|
|
|
the Postgres connection][3593]
|
2022-07-22 11:41:17 +03:00
|
|
|
- [Added `Regression` to the `Standard.Base` library and removed legacy `Model`
|
|
|
|
type from `Standard.Table`.][3601]
|
2022-08-03 14:41:34 +03:00
|
|
|
- [Created `Index_Sub_Range` type and updated `Text.take` and
|
|
|
|
`Text.drop`.][3617]
|
2022-08-24 00:13:16 +03:00
|
|
|
- [Added `Vector.from_polyglot_array` to make `Vector`s backed by polyglot
|
|
|
|
Arrays][3628]
|
2022-08-10 19:02:02 +03:00
|
|
|
- [Updated `Vector.take` and `Vector.drop` and removed their obsolete
|
|
|
|
counterparts.][3629]
|
2022-08-16 18:41:37 +03:00
|
|
|
- [Short-hand syntax for `order_by` added.][3643]
|
2022-08-18 15:33:02 +03:00
|
|
|
- [Expanded `Table.at` to support index access and added `Table.column_count`
|
|
|
|
method.][3644]
|
2022-08-26 12:34:33 +03:00
|
|
|
- [Removed `Array.set_at`.][3634]
|
2022-08-26 18:47:58 +03:00
|
|
|
- [Added various date part functions to `Date` and `Date_Time`.][3669]
|
2022-08-26 22:41:36 +03:00
|
|
|
- [Implemented `Table.take` and `Table.drop` for the in-memory backend.][3647]
|
2022-09-01 01:06:29 +03:00
|
|
|
- [Implemented specialized storage for the in-memory Table.][3673]
|
2022-09-07 15:28:41 +03:00
|
|
|
- [Implemented `Table.distinct` for the in-memory backend.][3684]
|
2022-09-07 20:32:28 +03:00
|
|
|
- [Added `databases`, `schemas`, `tables` support to database Connection.][3632]
|
2022-09-13 12:51:08 +03:00
|
|
|
- [Implemented `start_of` and `end_of` methods for date/time types allowing to
|
|
|
|
find start and end of a period of time containing the provided time.][3695]
|
2022-09-26 19:01:39 +03:00
|
|
|
- [Implemented `type_of` and `is_of_type` methods for getting the type of a
|
|
|
|
value and comparing types, respectively.][3722]
|
2022-09-22 11:31:15 +03:00
|
|
|
- [Implemented `work_days_until` for counting work dys between dates and
|
|
|
|
`add_work_days` which allows to shift a date by a number of work days.][3726]
|
2022-09-23 10:35:08 +03:00
|
|
|
- [Added `query` and `read` functions to Database connections.][3727]
|
2022-09-24 01:14:35 +03:00
|
|
|
- [Added `Date_Period.Week` to `start_of` and `end_of` methods.][3733]
|
2022-10-05 14:40:10 +03:00
|
|
|
- [Replaced `Table.where` with a new API relying on `Table.filter`.][3750]
|
2022-10-07 07:02:54 +03:00
|
|
|
- [Added `Filter_Condition` to `Vector`, `Range` and `List`.][3770]
|
2022-10-11 02:11:04 +03:00
|
|
|
- [Extended `Filter_Condition` with `Is_Empty`, `Not_Empty`, `Like` and
|
|
|
|
`Not_Like`.][3775]
|
2022-10-14 21:08:08 +03:00
|
|
|
- [Reimplemented `Duration` as a built-in type.][3759]
|
2022-10-14 18:42:29 +03:00
|
|
|
- [Implemented `Table.replace_text` for in-memory table.][3793]
|
2022-10-15 14:29:59 +03:00
|
|
|
- [Extended `Filter_Condition` with `Is_In` and `Not_In`.][3790]
|
2022-10-18 18:58:50 +03:00
|
|
|
- [Replaced `Table.drop_missing_rows` with `filter_blank_rows` with an updated
|
|
|
|
API.][3805]
|
2022-10-20 12:11:08 +03:00
|
|
|
- [Replaced `Table.drop_missing_columns` with
|
|
|
|
`Table.remove_columns Column_Selector.Blank_Columns` by adding the new column
|
|
|
|
selector variant.][3812]
|
2022-10-26 14:21:33 +03:00
|
|
|
- [Implemented `Table.rows` giving access to a vector of rows.][3827]
|
2022-10-27 13:16:43 +03:00
|
|
|
- [Define Enso epoch start as 15th October 1582][3804]
|
2022-10-28 20:27:20 +03:00
|
|
|
- [Implemented `Period` type][3818]
|
2022-11-08 18:57:59 +03:00
|
|
|
- [Implemented new functions on Column and added expression syntax support to
|
|
|
|
create derived Columns.][3782]
|
2022-11-17 10:11:18 +03:00
|
|
|
- [Added support for milli and micro seconds, new short form for rename_columns
|
|
|
|
and fixed issue with compare_to versus Nothing][3874]
|
2022-11-19 01:17:42 +03:00
|
|
|
- [Aligned `Text.match`/`Text.locate` API][3841]
|
2023-01-24 23:55:36 +03:00
|
|
|
- [There is a new API to lazily feed visualisation information to the
|
|
|
|
IDE.][3910]
|
2022-11-30 04:19:25 +03:00
|
|
|
- [Added `transpose` and `cross_tab` to the In-Memory Table.][3919]
|
2022-12-14 22:40:27 +03:00
|
|
|
- [Improvements to JSON, Pair, Statistics and other minor tweaks.][3964]
|
2022-12-20 13:33:46 +03:00
|
|
|
- [Overhauled the JSON support (now based of JavaScript), `Data.fetch` and other
|
|
|
|
minor tweaks][3987]
|
2022-12-20 19:12:00 +03:00
|
|
|
- [Enable Date, Time and DateTime to be read and written to Excel.][3997]
|
Align Vector API with design, add some extra functions from AoC (#4026)
**Vector**
- Adjusted `Vector.sort` to be `Vector.sort order on by`.
- Adjusted other sort to use `order` for direction argument.
- Added `insert`, `remove`, `index_of` and `last_index_of` to `Vector`.
- Added `start` and `if_missing` arguments to `find` on `Vector`, and adjusted default is `Not_Found` error.
- Added type checking to `+` on `Vector`.
- Altered `first`, `second` and `last` to error with `Index_Out_Of_Bounds` on `Vector`.
- Removed `sum`, `exists`, `head`, `init`, `tail`, `rest`, `append`, `prepend` from `Vector`.
**Pair**
- Added `last`, `any`, `all`, `contains`, `find`, `index_of`, `last_index_of`, `reverse`, `each`, `fold` and `reduce` to `Pair`.
- Added `get` to `Pair`.
**Range**
- Added `first`, `second`, `index_of`, `last_index_of`, `reverse` and `reduce` to `Range`.
- Added `at` and `get` to `Range`.
- Added `start` and `if_missing` arguments to `find` on `Range`.
- Simplified `last` and `length` of `Range`.
- Removed `exists` from `Range`.
**List**
- Added `second`, `find`, `index_of`, `last_index_of`, `reverse` and `reduce` to `Range`.
- Added `at` and `get` to `List`.
- Removed `exists` from `List`.
- Made `all` short-circuit if any fail on `List`.
- Altered `is_empty` to not compute the length of `List`.
- Altered `first`, `tail`, `head`, `init` and `last` to error with `Index_Out_Of_Bounds` on `List`.
**Others**
- Added `first`, `second`, `last`, `get` to `Text`.
- Added wrapper methods to the Random_Number_Generator so you can get random values more easily.
- Adjusted `Aggregate_Column` to operate on the first column by default.
- Added `contains_key` to `Map`.
- Added ALIAS to `row_count` and `order_by`.
2023-01-12 16:32:24 +03:00
|
|
|
- [Aligning core APIs for Vector, List and Range. Adding some missing functions
|
|
|
|
to the types.][4026]
|
2023-01-12 01:46:54 +03:00
|
|
|
- [Implemented `Table.distinct` for Database backends.][4027]
|
2023-01-17 03:34:57 +03:00
|
|
|
- [Implemented `Table.union` for the in-memory backend.][4052]
|
2023-01-23 16:19:52 +03:00
|
|
|
- [Implemented `Table.cross_join` and `Table.zip` for the in-memory
|
|
|
|
backend.][4063]
|
2023-01-25 14:47:27 +03:00
|
|
|
- [Updated `Text.starts_with`, `Text.ends_with` and `Text.contains` to new
|
|
|
|
simpler API.][4078]
|
2023-01-31 23:48:16 +03:00
|
|
|
- [Updated `Table.set` to new API. New `Column.parse` function and added case
|
|
|
|
sensitivity to `Filter_Condition` and column functions.][4097]
|
2023-02-16 18:15:49 +03:00
|
|
|
- [Updated column selector APIs and new `Excel_Workbook` type.][5646]
|
2023-02-17 22:41:55 +03:00
|
|
|
- [Moved regex functionality out of `Text.locate` and `Text.locate_all` into
|
|
|
|
`Text.match` and `Text.match_all`.][5679]
|
2023-02-20 22:13:56 +03:00
|
|
|
- [`File.parent` may return `Nothing`.][5699]
|
2023-02-23 12:47:10 +03:00
|
|
|
- [Removed non-regex functionality from `is_match`, `match`, and `match_all`,
|
|
|
|
and renamed them to `match`, `find`, `find_all` (respectively).][5721]
|
2023-02-23 22:42:45 +03:00
|
|
|
- [Updated `rename_columns` to new API. Added `first_row`, `second_row` and
|
|
|
|
`last_row` to Table types][5719]
|
2023-03-17 23:08:18 +03:00
|
|
|
- [Introducing `Meta.Type`.][5768]
|
2023-03-11 00:49:50 +03:00
|
|
|
- [Remove many regex compile flags; separated `match` into `match` and
|
|
|
|
`match_all`.][5785]
|
2023-03-10 22:07:58 +03:00
|
|
|
- [Aligned names of columns created by column operations.][5850]
|
2023-03-11 14:58:54 +03:00
|
|
|
- [Improved `cross_tab`. Renamed `fill_missing` and `is_missing` to
|
|
|
|
`fill_nothing` and `is_nothing`. Added `fill_empty`.][5863]
|
2023-03-30 16:05:30 +03:00
|
|
|
- [Removed many regex compile flags from `replace`; added `only_first` and
|
|
|
|
`use_regex` flag.][5959]
|
2023-04-03 23:13:49 +03:00
|
|
|
- [Implemented proper support for Value Types in the Table library.][6073]
|
2023-03-30 16:05:30 +03:00
|
|
|
- [Removed many regex compile flags from `split`; added `only_first` and
|
|
|
|
`use_regex` flag.][6116]
|
2023-04-03 23:13:49 +03:00
|
|
|
- [Added `Text.tokenize`][6150]
|
2023-03-31 21:37:04 +03:00
|
|
|
- [Added support for Date/Time columns in the Postgres backend and added
|
|
|
|
`year`/`month`/`day` operations to Table columns.][6153]
|
2023-04-04 17:44:47 +03:00
|
|
|
- [`Text.split` can now take a vector of delimiters.][6156]
|
2023-04-12 18:08:01 +03:00
|
|
|
- [Add `has_warnings`, `remove_warnings` and `throw_on_warning` extension
|
|
|
|
methods.][6176]
|
2023-04-06 11:40:34 +03:00
|
|
|
- [Implemented `Table.union` for the Database backend.][6204]
|
2023-04-11 19:20:11 +03:00
|
|
|
- [Array & Vector have the same methods & behavior][6218]
|
2023-04-14 19:03:02 +03:00
|
|
|
- [Implemented `Table.split` and `Table.tokenize` for in-memory tables.][6233]
|
2023-04-20 19:04:59 +03:00
|
|
|
- [Added `trim` and `replace` to `Column`. Enhanced number parsing with support
|
|
|
|
for thousands and decimal point automatic detection.][6253]
|
2023-04-21 20:43:19 +03:00
|
|
|
- [Implemented `Table.parse_text_to_table`.][6294]
|
2023-04-24 18:21:38 +03:00
|
|
|
- [Added `Table.parse_to_columns`.][6383]
|
2023-04-26 18:37:09 +03:00
|
|
|
- [Added parsing methods for `Integer`, `Decimal`, `Json`, `Date`, `Date_Time`,
|
|
|
|
`Time_Of_Day`, `Time_Zone`, and `URI` to `Text`.][6404]
|
2023-04-27 23:06:17 +03:00
|
|
|
- [Implemented `create_database_table` allowing upload of in-memory
|
|
|
|
tables.][6429]
|
2023-04-29 11:39:18 +03:00
|
|
|
- [Added execution context control to writing files and dry run capabilities to
|
|
|
|
`Text.write`.][6459]
|
2023-05-02 17:01:44 +03:00
|
|
|
- [Implemented `create_database_table` allowing saving queries as database
|
|
|
|
tables.][6467]
|
2023-05-09 11:47:40 +03:00
|
|
|
- [Implemented `Column.format` for in-memory `Column`s.][6538]
|
2023-05-06 09:22:09 +03:00
|
|
|
- [Added `at_least_one` flag to `Table.tokenize_to_rows`.][6539]
|
2023-05-04 20:36:51 +03:00
|
|
|
- [Moved `Redshift` connector into a separate `AWS` library.][6550]
|
2023-05-11 19:03:02 +03:00
|
|
|
- [Added `Date_Range`.][6621]
|
2023-05-19 13:00:20 +03:00
|
|
|
- [Implemented the `cast` operation for `Table` and `Column`.][6711]
|
2023-05-19 22:23:17 +03:00
|
|
|
- [Added `.round` and `.int` to `Integer` and `Decimal`.][6743]
|
2022-01-17 12:51:56 +03:00
|
|
|
|
2022-02-14 13:19:08 +03:00
|
|
|
[debug-shortcuts]:
|
|
|
|
https://github.com/enso-org/enso/blob/develop/app/gui/docs/product/shortcuts.md#debug
|
2021-11-25 13:45:42 +03:00
|
|
|
[3153]: https://github.com/enso-org/enso/pull/3153
|
2022-08-23 15:12:22 +03:00
|
|
|
[3655]: https://github.com/enso-org/enso/pull/3655
|
2021-11-25 13:45:42 +03:00
|
|
|
[3166]: https://github.com/enso-org/enso/pull/3166
|
2021-12-08 10:11:58 +03:00
|
|
|
[3181]: https://github.com/enso-org/enso/pull/3181
|
Fix some edits not being sent to LangServ (#3186)
Some edits were not being sent by IDE to Language Server, resulting in 3003 "Invalid version" errors being returned by LangServ, and forcing full invalidation (resynchronization) of text contents in LangServ.
This change fixes such errors observed when opening a new project, creating a new project, or adding a new node to a project.
Fixes #3094
### Important Notes
The root cause showed up to be actually two separate issues, both of them reproduced by an "opening a new project" scenario:
1. The automatic addition of `import Standard.Visualization` line, [done internally when opening a new project in `controller::Project::initialize()`](https://github.com/enso-org/enso/blob/c14a2d81698217349394597fea778fd86bba47df/app/gui/src/controller/project.rs#L137-L141), was not reaching the Language Server. The cause of it was a race condition with [`self.model.subscribe()` in `Module::runner()`](https://github.com/enso-org/enso/blob/c14a2d81698217349394597fea778fd86bba47df/app/gui/src/model/module/synchronized.rs#L268). In particular, the addition of the import was executed before the subscription, which resulted in an edition notification being lost and not sent to LangServer. The fix employed for this is to make the `subscribe()` call synchronous during the initialization of a project, instead of scheduling it for a non-deterministic later time.
2. There was [a bug in `synchronized::Module::edit_for_snipped()`](https://github.com/enso-org/enso/blob/7467efda592ab5d7ce29122af20020293f9ceacf/app/gui/src/model/module/synchronized.rs#L362), making it erroneously "optimize out" any code insertions detected by `TextEdit::from_prefix_postfix_differences()`. The fix employed for this was to improve the "optimizing out" condition, together with adding an accompanying test case verifying correct behavior (protecting against a future regression).
Additionally, as a drive-by improvement, some statements in `ParsedSourceFile<>::serialize()` were reordered, to make them better match how the actual contents of an .enso file are structured, and thus make it easier to read/analyze the code.
2021-12-13 20:18:20 +03:00
|
|
|
[3186]: https://github.com/enso-org/enso/pull/3186
|
2021-12-21 12:00:57 +03:00
|
|
|
[3193]: https://github.com/enso-org/enso/pull/3193
|
2022-01-11 15:31:43 +03:00
|
|
|
[3208]: https://github.com/enso-org/enso/pull/3208
|
2022-01-17 12:51:56 +03:00
|
|
|
[3224]: https://github.com/enso-org/enso/pull/3224
|
2022-01-25 12:57:30 +03:00
|
|
|
[3229]: https://github.com/enso-org/enso/pull/3229
|
2022-01-26 14:23:55 +03:00
|
|
|
[3231]: https://github.com/enso-org/enso/pull/3231
|
2022-01-25 20:29:39 +03:00
|
|
|
[3232]: https://github.com/enso-org/enso/pull/3232
|
2022-02-02 12:04:06 +03:00
|
|
|
[3230]: https://github.com/enso-org/enso/pull/3230
|
2022-02-03 17:18:47 +03:00
|
|
|
[3240]: https://github.com/enso-org/enso/pull/3240
|
2022-02-08 19:28:46 +03:00
|
|
|
[3250]: https://github.com/enso-org/enso/pull/3250
|
2022-02-10 00:17:43 +03:00
|
|
|
[3256]: https://github.com/enso-org/enso/pull/3256
|
2022-02-11 13:18:51 +03:00
|
|
|
[3249]: https://github.com/enso-org/enso/pull/3249
|
2022-02-14 13:19:08 +03:00
|
|
|
[3264]: https://github.com/enso-org/enso/pull/3264
|
2022-02-14 12:03:55 +03:00
|
|
|
[3269]: https://github.com/enso-org/enso/pull/3269
|
2022-02-16 10:36:19 +03:00
|
|
|
[3271]: https://github.com/enso-org/enso/pull/3271
|
2022-02-15 18:16:08 +03:00
|
|
|
[3259]: https://github.com/enso-org/enso/pull/3259
|
2022-02-22 14:23:59 +03:00
|
|
|
[3273]: https://github.com/enso-org/enso/pull/3273
|
2022-02-16 20:40:33 +03:00
|
|
|
[3276]: https://github.com/enso-org/enso/pull/3276
|
2022-03-16 21:02:47 +03:00
|
|
|
[3278]: https://github.com/enso-org/enso/pull/3278
|
2022-02-17 18:04:00 +03:00
|
|
|
[3283]: https://github.com/enso-org/enso/pull/3283
|
2022-02-17 20:09:41 +03:00
|
|
|
[3282]: https://github.com/enso-org/enso/pull/3282
|
2022-02-22 18:41:56 +03:00
|
|
|
[3285]: https://github.com/enso-org/enso/pull/3285
|
2022-02-22 21:50:59 +03:00
|
|
|
[3287]: https://github.com/enso-org/enso/pull/3287
|
2022-02-23 19:48:33 +03:00
|
|
|
[3292]: https://github.com/enso-org/enso/pull/3292
|
2022-03-31 17:16:28 +03:00
|
|
|
[3301]: https://github.com/enso-org/enso/pull/3301
|
2022-03-01 02:20:41 +03:00
|
|
|
[3302]: https://github.com/enso-org/enso/pull/3302
|
2022-03-01 19:18:11 +03:00
|
|
|
[3305]: https://github.com/enso-org/enso/pull/3305
|
2022-03-02 20:19:39 +03:00
|
|
|
[3309]: https://github.com/enso-org/enso/pull/3309
|
2022-03-02 22:00:47 +03:00
|
|
|
[3310]: https://github.com/enso-org/enso/pull/3310
|
2022-03-10 10:44:19 +03:00
|
|
|
[3316]: https://github.com/enso-org/enso/pull/3316
|
2022-03-07 12:13:20 +03:00
|
|
|
[3236]: https://github.com/enso-org/enso/pull/3236
|
|
|
|
[3311]: https://github.com/enso-org/enso/pull/3311
|
2022-03-08 16:24:04 +03:00
|
|
|
[3317]: https://github.com/enso-org/enso/pull/3317
|
2022-03-12 22:42:00 +03:00
|
|
|
[3318]: https://github.com/enso-org/enso/pull/3318
|
|
|
|
[3324]: https://github.com/enso-org/enso/pull/3324
|
2022-03-17 13:38:18 +03:00
|
|
|
[3327]: https://github.com/enso-org/enso/pull/3327
|
2022-03-15 17:23:36 +03:00
|
|
|
[3339]: https://github.com/enso-org/enso/pull/3339
|
2022-03-18 19:57:06 +03:00
|
|
|
[3344]: https://github.com/enso-org/enso/pull/3344
|
2022-03-21 18:08:17 +03:00
|
|
|
[3346]: https://github.com/enso-org/enso/pull/3346
|
2022-03-22 21:18:46 +03:00
|
|
|
[3349]: https://github.com/enso-org/enso/pull/3349
|
2022-03-31 23:17:04 +03:00
|
|
|
[3361]: https://github.com/enso-org/enso/pull/3361
|
2022-04-04 12:12:48 +03:00
|
|
|
[3364]: https://github.com/enso-org/enso/pull/3364
|
2022-04-14 13:37:40 +03:00
|
|
|
[3373]: https://github.com/enso-org/enso/pull/3373
|
2022-04-05 19:45:56 +03:00
|
|
|
[3377]: https://github.com/enso-org/enso/pull/3377
|
2022-04-05 14:22:29 +03:00
|
|
|
[3366]: https://github.com/enso-org/enso/pull/3366
|
2022-04-06 07:39:58 +03:00
|
|
|
[3379]: https://github.com/enso-org/enso/pull/3379
|
2022-04-05 20:59:21 +03:00
|
|
|
[3381]: https://github.com/enso-org/enso/pull/3381
|
2022-04-14 16:12:18 +03:00
|
|
|
[3391]: https://github.com/enso-org/enso/pull/3391
|
2022-04-12 14:02:01 +03:00
|
|
|
[3383]: https://github.com/enso-org/enso/pull/3383
|
2022-04-12 20:39:08 +03:00
|
|
|
[3385]: https://github.com/enso-org/enso/pull/3385
|
2022-04-12 18:17:47 +03:00
|
|
|
[3392]: https://github.com/enso-org/enso/pull/3392
|
2022-04-13 22:21:47 +03:00
|
|
|
[3393]: https://github.com/enso-org/enso/pull/3393
|
2022-04-19 19:50:03 +03:00
|
|
|
[3390]: https://github.com/enso-org/enso/pull/3390
|
2022-04-20 19:22:01 +03:00
|
|
|
[3408]: https://github.com/enso-org/enso/pull/3408
|
2022-04-26 18:22:53 +03:00
|
|
|
[3415]: https://github.com/enso-org/enso/pull/3415
|
2022-04-29 20:12:19 +03:00
|
|
|
[3424]: https://github.com/enso-org/enso/pull/3424
|
2022-05-06 16:21:10 +03:00
|
|
|
[3425]: https://github.com/enso-org/enso/pull/3425
|
2022-05-11 01:44:05 +03:00
|
|
|
[3430]: https://github.com/enso-org/enso/pull/3430
|
2022-05-11 16:25:06 +03:00
|
|
|
[3442]: https://github.com/enso-org/enso/pull/3442
|
2022-05-17 13:26:36 +03:00
|
|
|
[3457]: https://github.com/enso-org/enso/pull/3457
|
2022-05-18 18:27:48 +03:00
|
|
|
[3455]: https://github.com/enso-org/enso/pull/3455
|
2022-05-18 20:27:42 +03:00
|
|
|
[3460]: https://github.com/enso-org/enso/pull/3460
|
2022-05-20 18:08:36 +03:00
|
|
|
[3462]: https://github.com/enso-org/enso/pull/3462
|
2022-05-24 18:59:00 +03:00
|
|
|
[3463]: https://github.com/enso-org/enso/pull/3463
|
2022-05-25 16:29:17 +03:00
|
|
|
[3472]: https://github.com/enso-org/enso/pull/3472
|
2022-05-30 13:32:43 +03:00
|
|
|
[3486]: https://github.com/enso-org/enso/pull/3486
|
2022-05-26 15:04:25 +03:00
|
|
|
[3478]: https://github.com/enso-org/enso/pull/3478
|
2022-05-30 20:13:06 +03:00
|
|
|
[3484]: https://github.com/enso-org/enso/pull/3484
|
2022-06-06 13:56:52 +03:00
|
|
|
[3502]: https://github.com/enso-org/enso/pull/3502
|
2022-06-07 15:31:55 +03:00
|
|
|
[3514]: https://github.com/enso-org/enso/pull/3514
|
2022-06-08 15:30:50 +03:00
|
|
|
[3515]: https://github.com/enso-org/enso/pull/3515
|
2022-06-08 12:53:18 +03:00
|
|
|
[3516]: https://github.com/enso-org/enso/pull/3516
|
2022-06-10 12:59:03 +03:00
|
|
|
[3517]: https://github.com/enso-org/enso/pull/3517
|
2022-06-13 12:11:46 +03:00
|
|
|
[3518]: https://github.com/enso-org/enso/pull/3518
|
2022-06-14 16:37:20 +03:00
|
|
|
[3519]: https://github.com/enso-org/enso/pull/3519
|
2022-06-21 16:39:32 +03:00
|
|
|
[3523]: https://github.com/enso-org/enso/pull/3523
|
2022-06-23 19:51:52 +03:00
|
|
|
[3528]: https://github.com/enso-org/enso/pull/3528
|
2022-07-14 15:00:52 +03:00
|
|
|
[3530]: https://github.com/enso-org/enso/pull/3530
|
2022-07-04 23:26:44 +03:00
|
|
|
[3542]: https://github.com/enso-org/enso/pull/3542
|
2022-07-04 21:32:16 +03:00
|
|
|
[3551]: https://github.com/enso-org/enso/pull/3551
|
2022-07-06 13:33:35 +03:00
|
|
|
[3552]: https://github.com/enso-org/enso/pull/3552
|
2022-07-11 13:30:44 +03:00
|
|
|
[3554]: https://github.com/enso-org/enso/pull/3554
|
2022-07-07 09:41:33 +03:00
|
|
|
[3558]: https://github.com/enso-org/enso/pull/3558
|
|
|
|
[3564]: https://github.com/enso-org/enso/pull/3564
|
2022-07-11 11:26:44 +03:00
|
|
|
[3574]: https://github.com/enso-org/enso/pull/3574
|
2022-07-11 15:36:01 +03:00
|
|
|
[3573]: https://github.com/enso-org/enso/pull/3573
|
2022-07-14 14:30:40 +03:00
|
|
|
[3583]: https://github.com/enso-org/enso/pull/3583
|
2022-07-14 18:01:26 +03:00
|
|
|
[3581]: https://github.com/enso-org/enso/pull/3581
|
2022-07-19 11:39:23 +03:00
|
|
|
[3588]: https://github.com/enso-org/enso/pull/3588
|
2022-07-19 17:09:09 +03:00
|
|
|
[3590]: https://github.com/enso-org/enso/pull/3590
|
2022-07-21 16:32:37 +03:00
|
|
|
[3593]: https://github.com/enso-org/enso/pull/3593
|
2022-07-22 11:41:17 +03:00
|
|
|
[3601]: https://github.com/enso-org/enso/pull/3601
|
2022-08-03 14:41:34 +03:00
|
|
|
[3617]: https://github.com/enso-org/enso/pull/3617
|
2022-08-24 00:13:16 +03:00
|
|
|
[3628]: https://github.com/enso-org/enso/pull/3628
|
2022-08-10 19:02:02 +03:00
|
|
|
[3629]: https://github.com/enso-org/enso/pull/3629
|
2022-09-07 20:32:28 +03:00
|
|
|
[3632]: https://github.com/enso-org/enso/pull/3632
|
2022-08-26 18:47:58 +03:00
|
|
|
[3641]: https://github.com/enso-org/enso/pull/3641
|
2022-08-16 18:41:37 +03:00
|
|
|
[3643]: https://github.com/enso-org/enso/pull/3643
|
2022-08-18 15:33:02 +03:00
|
|
|
[3644]: https://github.com/enso-org/enso/pull/3644
|
2022-08-26 18:47:58 +03:00
|
|
|
[3645]: https://github.com/enso-org/enso/pull/3645
|
2022-08-16 15:56:08 +03:00
|
|
|
[3648]: https://github.com/enso-org/enso/pull/3648
|
2022-09-01 15:33:46 +03:00
|
|
|
[3661]: https://github.com/enso-org/enso/pull/3661
|
2022-08-29 11:02:33 +03:00
|
|
|
[3665]: https://github.com/enso-org/enso/pull/3665
|
2022-08-26 12:34:33 +03:00
|
|
|
[3634]: https://github.com/enso-org/enso/pull/3634
|
2022-09-13 06:07:17 +03:00
|
|
|
[3667]: https://github.com/enso-org/enso/pull/3667
|
2022-08-26 18:47:58 +03:00
|
|
|
[3669]: https://github.com/enso-org/enso/pull/3669
|
2022-08-26 22:41:36 +03:00
|
|
|
[3647]: https://github.com/enso-org/enso/pull/3647
|
2022-09-01 01:06:29 +03:00
|
|
|
[3673]: https://github.com/enso-org/enso/pull/3673
|
2022-09-07 15:28:41 +03:00
|
|
|
[3684]: https://github.com/enso-org/enso/pull/3684
|
2022-09-16 19:05:40 +03:00
|
|
|
[3691]: https://github.com/enso-org/enso/pull/3691
|
2022-09-13 12:51:08 +03:00
|
|
|
[3695]: https://github.com/enso-org/enso/pull/3695
|
2022-09-26 19:01:39 +03:00
|
|
|
[3722]: https://github.com/enso-org/enso/pull/3722
|
2022-09-22 11:31:15 +03:00
|
|
|
[3726]: https://github.com/enso-org/enso/pull/3726
|
2022-09-23 10:35:08 +03:00
|
|
|
[3727]: https://github.com/enso-org/enso/pull/3727
|
2022-09-24 01:14:35 +03:00
|
|
|
[3733]: https://github.com/enso-org/enso/pull/3733
|
2022-09-29 21:34:17 +03:00
|
|
|
[3749]: https://github.com/enso-org/enso/pull/3749
|
2022-10-05 14:40:10 +03:00
|
|
|
[3750]: https://github.com/enso-org/enso/pull/3750
|
2022-10-07 07:02:54 +03:00
|
|
|
[3770]: https://github.com/enso-org/enso/pull/3770
|
2022-10-11 02:11:04 +03:00
|
|
|
[3775]: https://github.com/enso-org/enso/pull/3775
|
2022-10-14 21:08:08 +03:00
|
|
|
[3759]: https://github.com/enso-org/enso/pull/3759
|
2022-10-14 18:42:29 +03:00
|
|
|
[3793]: https://github.com/enso-org/enso/pull/3793
|
2022-10-15 14:29:59 +03:00
|
|
|
[3790]: https://github.com/enso-org/enso/pull/3790
|
2022-10-18 18:58:50 +03:00
|
|
|
[3805]: https://github.com/enso-org/enso/pull/3805
|
2022-10-20 12:11:08 +03:00
|
|
|
[3812]: https://github.com/enso-org/enso/pull/3812
|
2022-10-25 20:21:12 +03:00
|
|
|
[3823]: https://github.com/enso-org/enso/pull/3823
|
2022-10-26 14:21:33 +03:00
|
|
|
[3827]: https://github.com/enso-org/enso/pull/3827
|
2022-10-26 21:20:44 +03:00
|
|
|
[3824]: https://github.com/enso-org/enso/pull/3824
|
2022-10-27 13:16:43 +03:00
|
|
|
[3804]: https://github.com/enso-org/enso/pull/3804
|
2022-10-28 20:27:20 +03:00
|
|
|
[3818]: https://github.com/enso-org/enso/pull/3818
|
2022-11-03 10:35:06 +03:00
|
|
|
[3776]: https://github.com/enso-org/enso/pull/3776
|
2022-11-08 21:15:05 +03:00
|
|
|
[3855]: https://github.com/enso-org/enso/pull/3855
|
2022-11-07 13:50:47 +03:00
|
|
|
[3836]: https://github.com/enso-org/enso/pull/3836
|
2022-11-08 18:57:59 +03:00
|
|
|
[3782]: https://github.com/enso-org/enso/pull/3782
|
2022-11-14 12:09:49 +03:00
|
|
|
[3863]: https://github.com/enso-org/enso/pull/3863
|
2022-11-17 10:11:18 +03:00
|
|
|
[3874]: https://github.com/enso-org/enso/pull/3874
|
2022-11-24 18:37:03 +03:00
|
|
|
[3852]: https://github.com/enso-org/enso/pull/3852
|
2022-11-19 01:17:42 +03:00
|
|
|
[3841]: https://github.com/enso-org/enso/pull/3841
|
Numeric slider component enhancement (#3885)
This is an enhancement of the `Slider` component implemented in #3852. It adds the following features:
* Tooltips and precision change hints
* Selectable slider limit behaviors
* Textual slider value editing
* Vertical slider layout
#### Tooltips
An information tooltip can now be added to a slider, it is shown when the mouse hovers over the component. Additionally, a pop-up indicating the slider's precision appears when the slider's precision has been adjusted.
https://user-images.githubusercontent.com/117099775/206148098-3b4dc059-18aa-4200-9ee0-5d4382363810.mp4
#### Slider limits
The previous slider implementation clamped the adjusted value to the slider's minimum/maximum limits. Now the following behaviors are available:
* Hard limits: Clamp the value to a range within the slider's limits.
* Soft limits: The value can extend beyond the slider's limits. When this occurs, an overflow indicator will be displayed on the side of the limit that is exceeded.
* Adaptive limits: The value can extend beyond the slider's limits. When this occurs, the exceeded limit will temporarily be adjusted to double the slider's range. This will be performed iteratively until the value falls within the extended limits. When a limit is extended and the value is adjusted to fit a smaller range, the extended limit will be iteratively halved until only the necessary range is covered. The slider's extended limits will never shrink to a range smaller than the original range.
These behaviors can be set to the lower and upper limits of a slider independently.
https://user-images.githubusercontent.com/117099775/206148139-6149c91d-ef49-4e2d-97f6-71084f52591c.mp4
#### Textual editing
The slider's value can now be entered through a text input field. Double-click to edit the slider's current value. To confirm the edit press `enter`, or press `escape` to cancel the edit. If an invalid value is entered on confirmation the slider will revert to its value before the edit. The slider's precision will be adjusted based on the number of decimal places of the value entered.
https://user-images.githubusercontent.com/117099775/206148170-d3fa4c82-6e73-4b1c-9be9-cb99979f7b70.mp4
#### Vertical layout
The slider component now supports a vertical layout. In this case value adjustment is performed by a vertical mouse movement, and a horizontal movement adjusts the slider's precision. The slider's track now fills the component in a vertical direction, and the slider's label is displayed near the top end of the component.
https://user-images.githubusercontent.com/117099775/206148211-0f176aaf-bc1b-45e2-afd7-0d28391aafcb.mp4
#### Scroll bar mode
The slider component supports two indicator modes:
* `Track`: The component is filled with a colored bar from the lower limit (empty) to the upper limit (full) dependent on the slider's value.
* `Thumb`: The component contains a rounded indicator that moves along the slider from one end to the other, indicating the slider's value proportionally to the slider's limits. The width of the indicator is configurable.
In addition, the value text, text entry, and precision adjustment can be turned off to provide a scroll bar appearance when used with the `Thumb` indicator.
https://user-images.githubusercontent.com/117099775/206148261-ae291073-85e9-4082-9f91-39b65fecdc0f.mp4
#### Example scene shortcuts
The example scene contains two shortcuts in order to evaluate the dynamic addition and removal of the slider components:
* `CTRL+D` drops all the slider components that are added to the scene.
* `CTRL+A` adds a new set of example slider components to the scene.
2022-12-12 11:53:19 +03:00
|
|
|
[3885]: https://github.com/enso-org/enso/pull/3885
|
2023-01-24 23:55:36 +03:00
|
|
|
[3910]: https://github.com/enso-org/enso/pull/3910
|
2022-11-30 04:19:25 +03:00
|
|
|
[3919]: https://github.com/enso-org/enso/pull/3919
|
2022-12-02 15:39:11 +03:00
|
|
|
[3923]: https://github.com/enso-org/enso/pull/3923
|
2022-12-20 00:22:33 +03:00
|
|
|
[3950]: https://github.com/enso-org/enso/pull/3950
|
2022-12-14 22:40:27 +03:00
|
|
|
[3964]: https://github.com/enso-org/enso/pull/3964
|
2022-12-12 20:48:42 +03:00
|
|
|
[3967]: https://github.com/enso-org/enso/pull/3967
|
2022-12-20 13:33:46 +03:00
|
|
|
[3987]: https://github.com/enso-org/enso/pull/3987
|
2023-01-19 12:33:25 +03:00
|
|
|
[3878]: https://github.com/enso-org/enso/pull/3878
|
2022-12-20 19:12:00 +03:00
|
|
|
[3997]: https://github.com/enso-org/enso/pull/3997
|
2023-01-11 17:32:25 +03:00
|
|
|
[4013]: https://github.com/enso-org/enso/pull/4013
|
Align Vector API with design, add some extra functions from AoC (#4026)
**Vector**
- Adjusted `Vector.sort` to be `Vector.sort order on by`.
- Adjusted other sort to use `order` for direction argument.
- Added `insert`, `remove`, `index_of` and `last_index_of` to `Vector`.
- Added `start` and `if_missing` arguments to `find` on `Vector`, and adjusted default is `Not_Found` error.
- Added type checking to `+` on `Vector`.
- Altered `first`, `second` and `last` to error with `Index_Out_Of_Bounds` on `Vector`.
- Removed `sum`, `exists`, `head`, `init`, `tail`, `rest`, `append`, `prepend` from `Vector`.
**Pair**
- Added `last`, `any`, `all`, `contains`, `find`, `index_of`, `last_index_of`, `reverse`, `each`, `fold` and `reduce` to `Pair`.
- Added `get` to `Pair`.
**Range**
- Added `first`, `second`, `index_of`, `last_index_of`, `reverse` and `reduce` to `Range`.
- Added `at` and `get` to `Range`.
- Added `start` and `if_missing` arguments to `find` on `Range`.
- Simplified `last` and `length` of `Range`.
- Removed `exists` from `Range`.
**List**
- Added `second`, `find`, `index_of`, `last_index_of`, `reverse` and `reduce` to `Range`.
- Added `at` and `get` to `List`.
- Removed `exists` from `List`.
- Made `all` short-circuit if any fail on `List`.
- Altered `is_empty` to not compute the length of `List`.
- Altered `first`, `tail`, `head`, `init` and `last` to error with `Index_Out_Of_Bounds` on `List`.
**Others**
- Added `first`, `second`, `last`, `get` to `Text`.
- Added wrapper methods to the Random_Number_Generator so you can get random values more easily.
- Adjusted `Aggregate_Column` to operate on the first column by default.
- Added `contains_key` to `Map`.
- Added ALIAS to `row_count` and `order_by`.
2023-01-12 16:32:24 +03:00
|
|
|
[4026]: https://github.com/enso-org/enso/pull/4026
|
2023-01-12 01:46:54 +03:00
|
|
|
[4027]: https://github.com/enso-org/enso/pull/4027
|
2023-01-23 14:57:17 +03:00
|
|
|
[4044]: https://github.com/enso-org/enso/pull/4044
|
2023-01-17 03:34:57 +03:00
|
|
|
[4052]: https://github.com/enso-org/enso/pull/4052
|
2023-01-23 16:19:52 +03:00
|
|
|
[4063]: https://github.com/enso-org/enso/pull/4063
|
2023-01-25 14:47:27 +03:00
|
|
|
[4078]: https://github.com/enso-org/enso/pull/4078
|
2023-02-13 12:57:55 +03:00
|
|
|
[4085]: https://github.com/enso-org/enso/pull/4085
|
2023-01-31 23:48:16 +03:00
|
|
|
[4097]: https://github.com/enso-org/enso/pull/4097
|
2023-03-17 23:08:18 +03:00
|
|
|
[4115]: https://github.com/enso-org/enso/pull/4115
|
2023-02-08 02:23:24 +03:00
|
|
|
[4120]: https://github.com/enso-org/enso/pull/4120
|
2023-02-16 21:14:34 +03:00
|
|
|
[4050]: https://github.com/enso-org/enso/pull/4050
|
2023-02-04 03:50:24 +03:00
|
|
|
[4072]: https://github.com/enso-org/enso/pull/4072
|
2023-02-21 00:24:51 +03:00
|
|
|
[5582]: https://github.com/enso-org/enso/pull/5582
|
2023-02-17 02:21:37 +03:00
|
|
|
[5645]: https://github.com/enso-org/enso/pull/5645
|
2023-02-16 18:15:49 +03:00
|
|
|
[5646]: https://github.com/enso-org/enso/pull/5646
|
2023-02-20 09:39:39 +03:00
|
|
|
[5656]: https://github.com/enso-org/enso/pull/5656
|
2023-02-23 22:42:45 +03:00
|
|
|
[5678]: https://github.com/enso-org/enso/pull/5678
|
2023-02-23 12:47:10 +03:00
|
|
|
[5679]: https://github.com/enso-org/enso/pull/5679
|
2023-02-20 22:13:56 +03:00
|
|
|
[5699]: https://github.com/enso-org/enso/pull/5699
|
2023-02-23 22:42:45 +03:00
|
|
|
[5719]: https://github.com/enso-org/enso/pull/5719
|
2023-02-23 12:47:10 +03:00
|
|
|
[5721]: https://github.com/enso-org/enso/pull/5721
|
2023-02-27 23:10:23 +03:00
|
|
|
[5757]: https://github.com/enso-org/enso/pull/5757
|
2023-03-17 23:08:18 +03:00
|
|
|
[5768]: https://github.com/enso-org/enso/pull/5768
|
2023-03-10 00:23:25 +03:00
|
|
|
[5774]: https://github.com/enso-org/enso/pull/5774
|
2023-03-11 00:49:50 +03:00
|
|
|
[5779]: https://github.com/enso-org/enso/pull/5779
|
|
|
|
[5785]: https://github.com/enso-org/enso/pull/5785
|
2023-03-15 14:54:16 +03:00
|
|
|
[5798]: https://github.com/enso-org/enso/pull/5798
|
2023-03-11 00:49:50 +03:00
|
|
|
[5802]: https://github.com/enso-org/enso/pull/5802
|
2023-03-10 22:07:58 +03:00
|
|
|
[5850]: https://github.com/enso-org/enso/pull/5850
|
2023-03-11 14:58:54 +03:00
|
|
|
[5863]: https://github.com/enso-org/enso/pull/5863
|
2023-03-15 18:43:51 +03:00
|
|
|
[5917]: https://github.com/enso-org/enso/pull/5917
|
2023-03-17 13:06:32 +03:00
|
|
|
[5705]: https://github.com/enso-org/enso/pull/5705
|
2023-03-28 09:13:12 +03:00
|
|
|
[5959]: https://github.com/enso-org/enso/pull/5959
|
2023-03-31 19:16:18 +03:00
|
|
|
[6073]: https://github.com/enso-org/enso/pull/6073
|
2023-04-03 23:13:49 +03:00
|
|
|
[6116]: https://github.com/enso-org/enso/pull/6116
|
|
|
|
[6150]: https://github.com/enso-org/enso/pull/6150
|
2023-03-31 21:37:04 +03:00
|
|
|
[6153]: https://github.com/enso-org/enso/pull/6153
|
2023-04-04 17:44:47 +03:00
|
|
|
[6156]: https://github.com/enso-org/enso/pull/6156
|
2023-04-12 18:08:01 +03:00
|
|
|
[6176]: https://github.com/enso-org/enso/pull/6176
|
2023-04-06 11:40:34 +03:00
|
|
|
[6204]: https://github.com/enso-org/enso/pull/6204
|
Project Sharing (#6077)
Enso will now associate with two file extensions:
* `.enso` — Enso source file.
* If the source file belongs to a project under the Project Manager-managed directory, it will be opened.
* If the source file belongs to a project located elsewhere, it will be imported into the PM-managed directory and opened;
* Otherwise, opening the `.enseo` file will fail. (e.g., loose source file without any project)
* `.enso-project` — Enso project bundle, i.e., `tar.gz` archive containing a compressed Enso project directory.
* it will be imported under the PM-managed directory; a unique directory name shall be generated if needed.
### Important Notes
On Windows, the NSIS installer is expected to handle the file associations.
On macOS, the file associations are expected to be set up after the first time Enso is started,
On Linux, the file associations are not supported yet.
2023-04-06 16:26:37 +03:00
|
|
|
[6077]: https://github.com/enso-org/enso/pull/6077
|
2023-04-11 19:20:11 +03:00
|
|
|
[6218]: https://github.com/enso-org/enso/pull/6218
|
2023-04-14 19:03:02 +03:00
|
|
|
[6233]: https://github.com/enso-org/enso/pull/6233
|
2023-04-20 19:04:59 +03:00
|
|
|
[6253]: https://github.com/enso-org/enso/pull/6253
|
2023-04-21 20:43:19 +03:00
|
|
|
[6294]: https://github.com/enso-org/enso/pull/6294
|
2023-04-24 18:21:38 +03:00
|
|
|
[6383]: https://github.com/enso-org/enso/pull/6383
|
2023-04-26 18:37:09 +03:00
|
|
|
[6404]: https://github.com/enso-org/enso/pull/6404
|
Widgets integrated with graph nodes (#6347)
Rewrites node input component. Now the input is composed of multiple widget components arranged in a tree of views with automatic layout. That allows creating complex UI elements on top of the node itself, and further widget positions will be automatically adapted to that. The tree roughly follow the span tree, as it is built by consuming its nodes and eagerly creating widgets from them. The tree is rebuilt every time the expression changes, but that rebuild process reuses as much previously created widgets as possible, and only updates their configuration as needed. Each widget type can have its own configuration options that can be passed to it from the parent, or assigned based on configuration received from the language server.
<img width="773" alt="image" src="https://user-images.githubusercontent.com/919491/233439310-9c39ea88-19bc-43da-9baf-1bb176e2724e.png">
# Important Notes
For now, all span-tree updates are sent over to the shared Frp endpoint of the whole tree, so there is no mechanism for intercepting them by the parent widgets. One idea would be to use existing bubbling/capturing events on widget display objects for that purpose, but I think existing implementation is simpler and more convenient, and we can always easily change that if we have a use for it.
There are some issues with performance due to much more display objects being created on the graph. Expect it to be a little worse, especially at initialization time.
2023-04-26 22:37:54 +03:00
|
|
|
[6347]: https://github.com/enso-org/enso/pull/6347
|
2023-04-27 23:06:17 +03:00
|
|
|
[6429]: https://github.com/enso-org/enso/pull/6429
|
2023-04-29 11:39:18 +03:00
|
|
|
[6459]: https://github.com/enso-org/enso/pull/6459
|
2023-05-02 17:01:44 +03:00
|
|
|
[6467]: https://github.com/enso-org/enso/pull/6467
|
2023-05-09 11:47:40 +03:00
|
|
|
[6538]: https://github.com/enso-org/enso/pull/6538
|
2023-05-06 09:22:09 +03:00
|
|
|
[6539]: https://github.com/enso-org/enso/pull/6539
|
2023-05-04 20:36:51 +03:00
|
|
|
[6550]: https://github.com/enso-org/enso/pull/6550
|
2023-05-11 19:03:02 +03:00
|
|
|
[6621]: https://github.com/enso-org/enso/pull/6621
|
2023-05-19 13:00:20 +03:00
|
|
|
[6711]: https://github.com/enso-org/enso/pull/6711
|
2023-05-19 22:23:17 +03:00
|
|
|
[6743]: https://github.com/enso-org/enso/pull/6743
|
2021-11-18 17:17:38 +03:00
|
|
|
|
2022-02-06 12:02:09 +03:00
|
|
|
#### Enso Compiler
|
|
|
|
|
|
|
|
- [Added overloaded `from` conversions.][3227]
|
2022-02-11 19:05:13 +03:00
|
|
|
- [Upgraded to Graal VM 21.3.0][3258]
|
2022-03-09 18:40:02 +03:00
|
|
|
- [Added the ability to decorate values with warnings.][3248]
|
2022-03-21 12:15:14 +03:00
|
|
|
- [Fixed issues related to constructors' default arguments][3330]
|
2022-03-29 16:47:03 +03:00
|
|
|
- [Fixed compiler issue related to module cache.][3367]
|
2022-04-08 11:21:59 +03:00
|
|
|
- [Fixed execution of defaulted arguments of Atom Constructors][3358]
|
2022-07-21 09:32:40 +03:00
|
|
|
- [Converting Enso Date to java.time.LocalDate and back][3559]
|
2022-06-16 17:02:57 +03:00
|
|
|
- [Incremental Reparsing of a Simple Edits][3508]
|
2022-04-27 20:57:00 +03:00
|
|
|
- [Functions with all-defaulted arguments now execute automatically][3414]
|
2022-05-05 19:05:22 +03:00
|
|
|
- [Provide `tagValues` for function arguments in the language server][3422]
|
2022-05-05 13:53:49 +03:00
|
|
|
- [Delay construction of Truffle nodes to speed initialization][3429]
|
2022-05-04 22:18:40 +03:00
|
|
|
- [Frgaal compiler integration to allow for latest Java constructs][3421]
|
2022-05-10 11:55:08 +03:00
|
|
|
- [Support for Chrome developer tools --inspect option][3432]
|
Move Builtin Types and Methods to stdlib (#3363)
This PR replaces hard-coded `@Builtin_Method` and `@Builtin_Type` nodes in Builtins with an automated solution
that a) collects metadata from such annotations b) generates `BuiltinTypes` c) registers builtin methods with corresponding
constructors.
The main differences are:
1) The owner of the builtin method does not necessarily have to be a builtin type
2) You can now mix regular methods and builtin ones in stdlib
3) No need to keep track of builtin methods and types in various places and register them by hand (a source of many typos or omissions as it found during the process of this PR)
Related to #181497846
Benchmarks also execute within the margin of error.
### Important Notes
The PR got a bit large over time as I was moving various builtin types and finding various corner cases.
Most of the changes however are rather simple c&p from Builtins.enso to the corresponding stdlib module.
Here is the list of the most crucial updates:
- `engine/runtime/src/main/java/org/enso/interpreter/runtime/builtin/Builtins.java` - the core of the changes. We no longer register individual builtin constructors and their methods by hand. Instead, the information about those is read from 2 metadata files generated by annotation processors. When the builtin method is encountered in stdlib, we do not ignore the method. Instead we lookup it up in the list of registered functions (see `getBuiltinFunction` and `IrToTruffle`)
- `engine/runtime/src/main/java/org/enso/interpreter/runtime/callable/atom/AtomConstructor.java` has now information whether it corresponds to the builtin type or not.
- `engine/runtime/src/main/scala/org/enso/compiler/codegen/RuntimeStubsGenerator.scala` - when runtime stubs generator encounters a builtin type, based on the @Builtin_Type annotation, it looks up an existing constructor for it and registers it in the provided scope, rather than creating a new one. The scope of the constructor is also changed to the one coming from stdlib, while ensuring that synthetic methods (for fields) also get assigned correctly
- `engine/runtime/src/main/scala/org/enso/compiler/codegen/IrToTruffle.scala` - when a builtin method is encountered in stdlib we don't generate a new function node for it, instead we look it up in the list of registered builtin methods. Note that Integer and Number present a bit of a challenge because they list a whole bunch of methods that don't have a corresponding method (instead delegating to small/big integer implementations).
During the translation new atom constructors get initialized but we don't want to do it for builtins which have gone through the process earlier, hence the exception
- `lib/scala/interpreter-dsl/src/main/java/org/enso/interpreter/dsl/MethodProcessor.java` - @Builtin_Method processor not only generates the actual code fpr nodes but also collects and writes the info about them (name, class, params) to a metadata file that is read during builtins initialization
- `lib/scala/interpreter-dsl/src/main/java/org/enso/interpreter/dsl/MethodProcessor.java` - @Builtin_Method processor no longer generates only (root) nodes but also collects and writes the info about them (name, class, params) to a metadata file that is read during builtins initialization
- `lib/scala/interpreter-dsl/src/main/java/org/enso/interpreter/dsl/TypeProcessor.java` - Similar to MethodProcessor but handles @Builtin_Type annotations. It doesn't, **yet**, generate any builtin objects. It also collects the names, as present in stdlib, if any, so that we can generate the names automatically (see generated `types/ConstantsGen.java`)
- `engine/runtime/src/main/java/org/enso/interpreter/node/expression/builtin` - various classes annotated with @BuiltinType to ensure that the atom constructor is always properly registered for the builitn. Note that in order to support types fields in those, annotation takes optional `params` parameter (comma separated).
- `engine/runtime/src/bench/scala/org/enso/interpreter/bench/fixtures/semantic/AtomFixtures.scala` - drop manual creation of test list which seemed to be a relict of the old design
2022-05-05 21:18:06 +03:00
|
|
|
- [Move Builtin Types and Methods definitions to stdlib][3363]
|
2022-05-12 11:42:00 +03:00
|
|
|
- [Reduce boilerplate by generating BuiltinMethod nodes from simple method
|
|
|
|
signatures][3444]
|
2022-05-19 13:43:47 +03:00
|
|
|
- [Generate boilerplate classes related to error handling and varargs in
|
|
|
|
builtins from method signatures][3454]
|
2022-05-24 08:16:36 +03:00
|
|
|
- [Avoid needless concatenations of warning/error messages][3465]
|
2022-06-13 14:48:34 +03:00
|
|
|
- [Added a full-blown DSL for builtins][3471]
|
2022-06-23 07:43:49 +03:00
|
|
|
- [Integration of Enso with Ideal Graph Visualizer][3533]
|
2022-06-02 19:58:38 +03:00
|
|
|
- [Lazy evaluation of RHS argument for || and &&][3492]
|
2022-06-07 17:48:50 +03:00
|
|
|
- [Drop Core implementation of IR][3512]
|
2022-06-21 13:53:52 +03:00
|
|
|
- [Replace `this` with `self`][3524]
|
2022-06-16 13:25:24 +03:00
|
|
|
- [Introduce a smaller version of the standard library, just for testing][3531]
|
2022-07-07 13:31:06 +03:00
|
|
|
- [Remove `here` and make method name resolution case-sensitive][3531]
|
2022-07-27 20:45:36 +03:00
|
|
|
- [Explicit `self`][3569]
|
2022-07-22 17:12:52 +03:00
|
|
|
- [Added benchmarking tool for the language server][3578]
|
2022-07-29 17:19:07 +03:00
|
|
|
- [Support module imports using a qualified name][3608]
|
2022-11-13 09:22:02 +03:00
|
|
|
- [Using parser written in Rust.][3611]
|
2022-08-10 15:01:33 +03:00
|
|
|
- [Enable caching in visualisation functions][3618]
|
2022-08-08 22:32:55 +03:00
|
|
|
- [Update Scala compiler and libraries][3631]
|
2022-08-05 19:25:51 +03:00
|
|
|
- [Support importing module methods][3633]
|
2022-08-11 14:45:12 +03:00
|
|
|
- [Support Autosave for open buffers][3637]
|
2022-09-22 17:45:10 +03:00
|
|
|
- [Generate native-image for engine-runner][3638]
|
2022-08-12 16:18:58 +03:00
|
|
|
- [Support pattern matching on constants][3641]
|
Builtin Date_Time, Time_Of_Day, Zone (#3658)
* Builtin Date_Time, Time_Of_Day, Zone
Improved polyglot support for Date_Time (formerly Time), Time_Of_Day and
Zone. This follows the pattern introduced for Enso Date.
Minor caveat - in tests for Date, had to bend a lot for JS Date to pass.
This is because JS Date is not really only a Date, but also a Time and
Timezone, previously we just didn't consider the latter.
Also, JS Date does not deal well with setting timezones so the trick I
used is to first call foreign function returning a polyglot JS Date,
which is converted to ZonedDateTime and only then set the correct
timezone. That way none of the existing tests had to be changes or
special cased.
Additionally, JS deals with milliseconds rather than nanoseconds so
there is loss in precision, as noted in Time_Spec.
* Add tests for Java's LocalTime
* changelog
* Make date formatters in table happy
* PR review, add more tests for zone
* More tests and fixed a bug in column reader
Column reader didn't take into account timezone but that was a mistake
since then it wouldn't map to Enso's Date_Time.
Added tests that check it now.
* remove redundant conversion
* Update distribution/lib/Standard/Base/0.0.0-dev/src/Data/Time.enso
Co-authored-by: Radosław Waśko <radoslaw.wasko@enso.org>
* First round of addressing PR review
* don't leak java exceptions in Zone
* Move Date_Time to top-level module
* PR review
Co-authored-by: Radosław Waśko <radoslaw.wasko@enso.org>
Co-authored-by: Jaroslav Tulach <jaroslav.tulach@enso.org>
2022-08-24 13:31:29 +03:00
|
|
|
- [Builtin Date_Time, Time_Of_Day and Zone types for better polyglot
|
|
|
|
support][3658]
|
2022-08-31 01:54:53 +03:00
|
|
|
- [Implement new specification of data types: `type` has a runtime
|
|
|
|
representation, every atom has a type][3671]
|
2022-09-12 18:37:46 +03:00
|
|
|
- [main = "Hello World!" is valid Enso sample][3696]
|
2022-09-15 16:41:58 +03:00
|
|
|
- [Invalidate module's IR cache if imported module changed][3703]
|
2022-09-16 16:01:06 +03:00
|
|
|
- [Don't rename imported Main module that only imports names][3710]
|
2022-09-28 15:35:12 +03:00
|
|
|
- [Notify node status to the IDE][3729]
|
2022-10-10 22:28:33 +03:00
|
|
|
- [Make instance methods callable like statics][3764]
|
2022-10-04 12:23:58 +03:00
|
|
|
- [Distinguish static and instance methods][3740]
|
|
|
|
- [By-type pattern matching][3742]
|
2022-10-10 19:35:38 +03:00
|
|
|
- [Fix performance of method calls on polyglot arrays][3781]
|
2022-11-16 13:23:52 +03:00
|
|
|
- [Improved support for static and non-static builtins][3791]
|
2022-10-17 12:59:31 +03:00
|
|
|
- [Missing foreign language generates proper Enso error][3798]
|
2022-11-23 14:40:59 +03:00
|
|
|
- [Connecting IGV 4 Enso with Engine sources][3810]
|
2022-10-20 15:50:44 +03:00
|
|
|
- [Made Vector performance to be on par with Array][3811]
|
2022-10-26 19:22:08 +03:00
|
|
|
- [Introduced IO Permission Contexts][3828]
|
2022-10-25 15:44:48 +03:00
|
|
|
- [Accept Array-like object seamlessly in builtins][3817]
|
2022-10-25 21:28:10 +03:00
|
|
|
- [Initialize Builtins at Native Image build time][3821]
|
2022-11-02 12:53:40 +03:00
|
|
|
- [Split Atom suggestion entry to Type and Constructor][3835]
|
2022-11-24 13:00:16 +03:00
|
|
|
- [Any number can be converted to double][3865]
|
2022-11-23 17:30:48 +03:00
|
|
|
- [Update to GraalVM 22.3.0][3663]
|
|
|
|
- [Connecting IGV 4 Enso with Engine sources][3810]
|
2022-11-23 14:40:59 +03:00
|
|
|
- [Add the `Self` keyword referring to current type][3844]
|
2022-11-14 20:32:39 +03:00
|
|
|
- [Support VCS for projects in Language Server][3851]
|
2022-11-23 14:40:59 +03:00
|
|
|
- [Support multiple exports of the same module][3897]
|
2022-12-01 13:13:34 +03:00
|
|
|
- [Import modules' extension methods only with unqualified imports][3906]
|
2022-12-08 02:02:42 +03:00
|
|
|
- [Support expression evaluation in chromeinspector console][3941]
|
2022-11-28 22:11:31 +03:00
|
|
|
- [Don't export polyglot symbols][3915]
|
2022-11-30 19:28:57 +03:00
|
|
|
- [From/all import must not include module in name resolution][3931]
|
2022-12-07 13:10:11 +03:00
|
|
|
- [Vector returns warnings of individual elements][3938]
|
2022-12-22 11:00:06 +03:00
|
|
|
- [Enso.getMetaObject, Type.isMetaInstance and Meta.is_a consolidation][3949]
|
2022-12-08 03:04:46 +03:00
|
|
|
- [Add executionContext/interrupt API command][3952]
|
2022-12-30 00:20:00 +03:00
|
|
|
- [Any.== is a builtin method][3956]
|
2022-12-19 22:16:43 +03:00
|
|
|
- [Simplify exception handling for polyglot exceptions][3981]
|
2022-12-30 13:56:27 +03:00
|
|
|
- [Simplify compilation of nested patterns][4005]
|
2022-12-30 08:30:32 +03:00
|
|
|
- [IGV can jump to JMH sources & more][4008]
|
2023-01-06 17:18:20 +03:00
|
|
|
- [Basic support of VSCode integration][4014]
|
2023-01-05 17:00:00 +03:00
|
|
|
- [Sync language server with file system after VCS restore][4020]
|
2023-01-09 20:49:49 +03:00
|
|
|
- [`ArrayOverBuffer` behaves like an `Array` and `Array.sort` no longer sorts in
|
|
|
|
place][4022]
|
2023-01-19 12:33:25 +03:00
|
|
|
- [Implement hashing functionality for all objects][3878]
|
2023-01-09 16:39:14 +03:00
|
|
|
- [Introducing Meta.atom_with_hole][4023]
|
2023-01-09 13:35:36 +03:00
|
|
|
- [Report failures in name resolution in type signatures][4030]
|
2023-01-16 13:19:19 +03:00
|
|
|
- [Attach visualizations to sub-expressions][4048]
|
2023-01-24 21:28:33 +03:00
|
|
|
- [Add Meta.get_annotation method][4049]
|
2023-01-18 23:19:36 +03:00
|
|
|
- [Resolve Fully Qualified Names][4056]
|
Unboxed atoms (#3862)
Introduces unboxed (and arity-specialized) storage schemes for Atoms. It results in improvements both in memory consumption and runtime.
Memory wise: instead of using an array, we now use object fields. We also enable unboxing. This cuts a good few pointers in an unboxed object. E.g. a quadruple of integers is now 64 bytes (4x8 bytes for long fields + 16 bytes for layout and constructor pointers + 16 bytes for a class header). It used to be 168 bytes (4x24 bytes for boxed Longs + 16 bytes for array header + 32 bytes for array contents + 8 bytes for constructor ptr + 16 bytes for class header), so we're saving 104 bytes a piece. In the least impressive scenarios (all-boxed fields) we're saving 8 bytes per object (saving 16 bytes for array header, using 8 bytes for the new layout field). In the most-benchmarked case (list of longs), we save 32 bytes per cons-cell.
Time wise:
All list-summing benchmarks observe a ~2x speedup. List generation benchmarks get ~25x speedups, probably both due to less GC activity and better allocation characteristics (only allocating one object per Cons, rather than Cons + Object[] for fields). The "map-reverse" family gets a neat 10x speedup (part of the work is reading, which is 2x faster, the other is allocating, which is now 25x faster, we end up with 10x when combined).
2023-01-24 16:03:06 +03:00
|
|
|
- [Optimize Atom storage layouts][3862]
|
2023-01-30 22:54:51 +03:00
|
|
|
- [Make instance methods callable like statics for builtin types][4077]
|
2023-01-31 18:13:00 +03:00
|
|
|
- [Convert large longs to doubles, safely, for host calls][4099]
|
2023-04-28 10:16:00 +03:00
|
|
|
- [Consistent ordering with comparators][4067]
|
2023-02-05 09:36:16 +03:00
|
|
|
- [Profile engine startup][4110]
|
2023-02-09 04:06:27 +03:00
|
|
|
- [Report type of polyglot values][4111]
|
2023-02-09 11:22:28 +03:00
|
|
|
- [Engine can now recover from serialization failures][5591]
|
2023-02-17 00:37:12 +03:00
|
|
|
- [Use sbt runEngineDistribution][5609]
|
2023-02-14 18:51:17 +03:00
|
|
|
- [Update to GraalVM 22.3.1][5602]
|
2023-03-01 11:53:29 +03:00
|
|
|
- [Cache library bindings to optimize import/export resolution][5700]
|
2023-03-07 07:16:38 +03:00
|
|
|
- [Comparators support partial ordering][5778]
|
2023-03-11 08:43:22 +03:00
|
|
|
- [Merge ordered and unordered comparators][5845]
|
2023-03-09 10:36:59 +03:00
|
|
|
- [Use SHA-1 for calculating hashes of modules' IR and bindings][5791]
|
2023-03-16 13:36:55 +03:00
|
|
|
- [Don't install Python component on Windows][5900]
|
2023-03-22 00:09:41 +03:00
|
|
|
- [Detect potential name conflicts between exported types and FQNs][5966]
|
2023-03-27 20:49:20 +03:00
|
|
|
- [Ensure calls involving warnings remain instrumented][6067]
|
2023-04-06 02:46:08 +03:00
|
|
|
- [One can define lazy atom fields][6151]
|
2023-04-06 18:47:40 +03:00
|
|
|
- [Replace IOContexts with Execution Environment and generic Context][6171]
|
2023-04-16 17:40:12 +03:00
|
|
|
- [Vector.sort handles incomparable types][5998]
|
2023-04-20 14:33:45 +03:00
|
|
|
- [Removing need for asynchronous thread to execute ResourceManager
|
|
|
|
finalizers][6335]
|
2023-04-28 10:16:00 +03:00
|
|
|
- [Warning.get_all returns only unique warnings][6372]
|
2023-05-02 19:40:58 +03:00
|
|
|
- [Reimplement `enso_project` as a proper builtin][6352]
|
2023-05-10 14:48:31 +03:00
|
|
|
- [Limit number of reported warnings per value][6577]
|
2023-05-18 19:44:38 +03:00
|
|
|
- [Suggestions are updated only when the type of the expression changes][6755]
|
2023-05-22 16:40:10 +03:00
|
|
|
- [Add project creation time to project metadata][6780]
|
2023-05-24 11:39:08 +03:00
|
|
|
- [Upgrade GraalVM to 22.3.1 JDK17][6750]
|
2022-02-06 12:02:09 +03:00
|
|
|
|
|
|
|
[3227]: https://github.com/enso-org/enso/pull/3227
|
2022-03-09 18:40:02 +03:00
|
|
|
[3248]: https://github.com/enso-org/enso/pull/3248
|
2022-02-11 19:05:13 +03:00
|
|
|
[3258]: https://github.com/enso-org/enso/pull/3258
|
2022-03-21 12:15:14 +03:00
|
|
|
[3330]: https://github.com/enso-org/enso/pull/3330
|
2022-04-08 11:21:59 +03:00
|
|
|
[3358]: https://github.com/enso-org/enso/pull/3358
|
2022-03-25 10:49:37 +03:00
|
|
|
[3360]: https://github.com/enso-org/enso/pull/3360
|
2022-03-29 16:47:03 +03:00
|
|
|
[3367]: https://github.com/enso-org/enso/pull/3367
|
2022-07-21 09:32:40 +03:00
|
|
|
[3559]: https://github.com/enso-org/enso/pull/3559
|
2022-06-16 17:02:57 +03:00
|
|
|
[3508]: https://github.com/enso-org/enso/pull/3508
|
2022-04-25 18:09:09 +03:00
|
|
|
[3412]: https://github.com/enso-org/enso/pull/3412
|
2022-04-27 20:57:00 +03:00
|
|
|
[3414]: https://github.com/enso-org/enso/pull/3414
|
2022-04-26 15:06:48 +03:00
|
|
|
[3417]: https://github.com/enso-org/enso/pull/3417
|
2022-05-05 19:05:22 +03:00
|
|
|
[3422]: https://github.com/enso-org/enso/pull/3422
|
2022-05-05 13:53:49 +03:00
|
|
|
[3429]: https://github.com/enso-org/enso/pull/3429
|
2022-05-04 22:18:40 +03:00
|
|
|
[3421]: https://github.com/enso-org/enso/pull/3421
|
2022-05-10 11:55:08 +03:00
|
|
|
[3432]: https://github.com/enso-org/enso/pull/3432
|
Move Builtin Types and Methods to stdlib (#3363)
This PR replaces hard-coded `@Builtin_Method` and `@Builtin_Type` nodes in Builtins with an automated solution
that a) collects metadata from such annotations b) generates `BuiltinTypes` c) registers builtin methods with corresponding
constructors.
The main differences are:
1) The owner of the builtin method does not necessarily have to be a builtin type
2) You can now mix regular methods and builtin ones in stdlib
3) No need to keep track of builtin methods and types in various places and register them by hand (a source of many typos or omissions as it found during the process of this PR)
Related to #181497846
Benchmarks also execute within the margin of error.
### Important Notes
The PR got a bit large over time as I was moving various builtin types and finding various corner cases.
Most of the changes however are rather simple c&p from Builtins.enso to the corresponding stdlib module.
Here is the list of the most crucial updates:
- `engine/runtime/src/main/java/org/enso/interpreter/runtime/builtin/Builtins.java` - the core of the changes. We no longer register individual builtin constructors and their methods by hand. Instead, the information about those is read from 2 metadata files generated by annotation processors. When the builtin method is encountered in stdlib, we do not ignore the method. Instead we lookup it up in the list of registered functions (see `getBuiltinFunction` and `IrToTruffle`)
- `engine/runtime/src/main/java/org/enso/interpreter/runtime/callable/atom/AtomConstructor.java` has now information whether it corresponds to the builtin type or not.
- `engine/runtime/src/main/scala/org/enso/compiler/codegen/RuntimeStubsGenerator.scala` - when runtime stubs generator encounters a builtin type, based on the @Builtin_Type annotation, it looks up an existing constructor for it and registers it in the provided scope, rather than creating a new one. The scope of the constructor is also changed to the one coming from stdlib, while ensuring that synthetic methods (for fields) also get assigned correctly
- `engine/runtime/src/main/scala/org/enso/compiler/codegen/IrToTruffle.scala` - when a builtin method is encountered in stdlib we don't generate a new function node for it, instead we look it up in the list of registered builtin methods. Note that Integer and Number present a bit of a challenge because they list a whole bunch of methods that don't have a corresponding method (instead delegating to small/big integer implementations).
During the translation new atom constructors get initialized but we don't want to do it for builtins which have gone through the process earlier, hence the exception
- `lib/scala/interpreter-dsl/src/main/java/org/enso/interpreter/dsl/MethodProcessor.java` - @Builtin_Method processor not only generates the actual code fpr nodes but also collects and writes the info about them (name, class, params) to a metadata file that is read during builtins initialization
- `lib/scala/interpreter-dsl/src/main/java/org/enso/interpreter/dsl/MethodProcessor.java` - @Builtin_Method processor no longer generates only (root) nodes but also collects and writes the info about them (name, class, params) to a metadata file that is read during builtins initialization
- `lib/scala/interpreter-dsl/src/main/java/org/enso/interpreter/dsl/TypeProcessor.java` - Similar to MethodProcessor but handles @Builtin_Type annotations. It doesn't, **yet**, generate any builtin objects. It also collects the names, as present in stdlib, if any, so that we can generate the names automatically (see generated `types/ConstantsGen.java`)
- `engine/runtime/src/main/java/org/enso/interpreter/node/expression/builtin` - various classes annotated with @BuiltinType to ensure that the atom constructor is always properly registered for the builitn. Note that in order to support types fields in those, annotation takes optional `params` parameter (comma separated).
- `engine/runtime/src/bench/scala/org/enso/interpreter/bench/fixtures/semantic/AtomFixtures.scala` - drop manual creation of test list which seemed to be a relict of the old design
2022-05-05 21:18:06 +03:00
|
|
|
[3363]: https://github.com/enso-org/enso/pull/3363
|
2022-05-12 11:42:00 +03:00
|
|
|
[3444]: https://github.com/enso-org/enso/pull/3444
|
2022-05-16 09:47:35 +03:00
|
|
|
[3453]: https://github.com/enso-org/enso/pull/3453
|
2022-05-19 13:43:47 +03:00
|
|
|
[3454]: https://github.com/enso-org/enso/pull/3454
|
2022-05-24 16:01:26 +03:00
|
|
|
[3461]: https://github.com/enso-org/enso/pull/3461
|
2022-05-24 08:16:36 +03:00
|
|
|
[3465]: https://github.com/enso-org/enso/pull/3465
|
2022-06-13 14:48:34 +03:00
|
|
|
[3471]: https://github.com/enso-org/enso/pull/3471
|
2022-06-23 07:43:49 +03:00
|
|
|
[3533]: https://github.com/enso-org/enso/pull/3533
|
2022-06-02 19:58:38 +03:00
|
|
|
[3492]: https://github.com/enso-org/enso/pull/3492
|
2022-06-01 12:39:48 +03:00
|
|
|
[3493]: https://github.com/enso-org/enso/pull/3493
|
2022-06-03 21:45:56 +03:00
|
|
|
[3505]: https://github.com/enso-org/enso/pull/3505
|
2022-06-07 17:48:50 +03:00
|
|
|
[3512]: https://github.com/enso-org/enso/pull/3512
|
2022-06-21 13:53:52 +03:00
|
|
|
[3524]: https://github.com/enso-org/enso/pull/3524
|
2022-06-16 13:25:24 +03:00
|
|
|
[3531]: https://github.com/enso-org/enso/pull/3531
|
2022-07-13 18:59:47 +03:00
|
|
|
[3562]: https://github.com/enso-org/enso/pull/3562
|
2022-07-07 13:31:06 +03:00
|
|
|
[3538]: https://github.com/enso-org/enso/pull/3538
|
2022-08-24 00:13:16 +03:00
|
|
|
[3569]: https://github.com/enso-org/enso/pull/3569
|
|
|
|
[3578]: https://github.com/enso-org/enso/pull/3578
|
2022-11-13 09:22:02 +03:00
|
|
|
[3611]: https://github.com/enso-org/enso/pull/3611
|
2022-08-10 15:01:33 +03:00
|
|
|
[3618]: https://github.com/enso-org/enso/pull/3618
|
|
|
|
[3608]: https://github.com/enso-org/enso/pull/3608
|
2022-07-29 17:19:07 +03:00
|
|
|
[3608]: https://github.com/enso-org/enso/pull/3608
|
2022-08-08 22:32:55 +03:00
|
|
|
[3631]: https://github.com/enso-org/enso/pull/3631
|
2022-08-05 19:25:51 +03:00
|
|
|
[3633]: https://github.com/enso-org/enso/pull/3633
|
2022-08-11 14:45:12 +03:00
|
|
|
[3637]: https://github.com/enso-org/enso/pull/3637
|
2023-01-31 23:48:16 +03:00
|
|
|
[3638]: https://github.com/enso-org/enso/pull/3638
|
2022-08-26 12:34:33 +03:00
|
|
|
[3641]: https://github.com/enso-org/enso/pull/3641
|
Builtin Date_Time, Time_Of_Day, Zone (#3658)
* Builtin Date_Time, Time_Of_Day, Zone
Improved polyglot support for Date_Time (formerly Time), Time_Of_Day and
Zone. This follows the pattern introduced for Enso Date.
Minor caveat - in tests for Date, had to bend a lot for JS Date to pass.
This is because JS Date is not really only a Date, but also a Time and
Timezone, previously we just didn't consider the latter.
Also, JS Date does not deal well with setting timezones so the trick I
used is to first call foreign function returning a polyglot JS Date,
which is converted to ZonedDateTime and only then set the correct
timezone. That way none of the existing tests had to be changes or
special cased.
Additionally, JS deals with milliseconds rather than nanoseconds so
there is loss in precision, as noted in Time_Spec.
* Add tests for Java's LocalTime
* changelog
* Make date formatters in table happy
* PR review, add more tests for zone
* More tests and fixed a bug in column reader
Column reader didn't take into account timezone but that was a mistake
since then it wouldn't map to Enso's Date_Time.
Added tests that check it now.
* remove redundant conversion
* Update distribution/lib/Standard/Base/0.0.0-dev/src/Data/Time.enso
Co-authored-by: Radosław Waśko <radoslaw.wasko@enso.org>
* First round of addressing PR review
* don't leak java exceptions in Zone
* Move Date_Time to top-level module
* PR review
Co-authored-by: Radosław Waśko <radoslaw.wasko@enso.org>
Co-authored-by: Jaroslav Tulach <jaroslav.tulach@enso.org>
2022-08-24 13:31:29 +03:00
|
|
|
[3658]: https://github.com/enso-org/enso/pull/3658
|
2022-08-31 01:54:53 +03:00
|
|
|
[3671]: https://github.com/enso-org/enso/pull/3671
|
2022-09-12 18:37:46 +03:00
|
|
|
[3696]: https://github.com/enso-org/enso/pull/3696
|
2022-09-28 15:35:12 +03:00
|
|
|
[3703]: https://github.com/enso-org/enso/pull/3703
|
|
|
|
[3710]: https://github.com/enso-org/enso/pull/3710
|
|
|
|
[3729]: https://github.com/enso-org/enso/pull/3729
|
2022-09-27 17:23:06 +03:00
|
|
|
[3740]: https://github.com/enso-org/enso/pull/3740
|
2022-10-10 22:28:33 +03:00
|
|
|
[3764]: https://github.com/enso-org/enso/pull/3764
|
2022-10-04 12:23:58 +03:00
|
|
|
[3742]: https://github.com/enso-org/enso/pull/3742
|
2022-10-10 19:35:38 +03:00
|
|
|
[3781]: https://github.com/enso-org/enso/pull/3781
|
2022-11-16 13:23:52 +03:00
|
|
|
[3791]: https://github.com/enso-org/enso/pull/3791
|
2022-10-17 12:59:31 +03:00
|
|
|
[3798]: https://github.com/enso-org/enso/pull/3798
|
2022-11-23 14:40:59 +03:00
|
|
|
[3810]: https://github.com/enso-org/enso/pull/3810
|
2022-10-20 15:50:44 +03:00
|
|
|
[3811]: https://github.com/enso-org/enso/pull/3811
|
2022-10-25 15:44:48 +03:00
|
|
|
[3817]: https://github.com/enso-org/enso/pull/3817
|
2022-10-25 21:28:10 +03:00
|
|
|
[3821]: https://github.com/enso-org/enso/pull/3821
|
2022-11-23 14:40:59 +03:00
|
|
|
[3828]: https://github.com/enso-org/enso/pull/3828
|
2022-11-02 12:53:40 +03:00
|
|
|
[3835]: https://github.com/enso-org/enso/pull/3835
|
2022-11-24 13:00:16 +03:00
|
|
|
[3865]: https://github.com/enso-org/enso/pull/3865
|
2022-11-23 17:30:48 +03:00
|
|
|
[3663]: https://github.com/enso-org/enso/pull/3663
|
|
|
|
[3810]: https://github.com/enso-org/enso/pull/3810
|
2022-11-23 14:40:59 +03:00
|
|
|
[3844]: https://github.com/enso-org/enso/pull/3844
|
2022-11-14 20:32:39 +03:00
|
|
|
[3851]: https://github.com/enso-org/enso/pull/3851
|
Unboxed atoms (#3862)
Introduces unboxed (and arity-specialized) storage schemes for Atoms. It results in improvements both in memory consumption and runtime.
Memory wise: instead of using an array, we now use object fields. We also enable unboxing. This cuts a good few pointers in an unboxed object. E.g. a quadruple of integers is now 64 bytes (4x8 bytes for long fields + 16 bytes for layout and constructor pointers + 16 bytes for a class header). It used to be 168 bytes (4x24 bytes for boxed Longs + 16 bytes for array header + 32 bytes for array contents + 8 bytes for constructor ptr + 16 bytes for class header), so we're saving 104 bytes a piece. In the least impressive scenarios (all-boxed fields) we're saving 8 bytes per object (saving 16 bytes for array header, using 8 bytes for the new layout field). In the most-benchmarked case (list of longs), we save 32 bytes per cons-cell.
Time wise:
All list-summing benchmarks observe a ~2x speedup. List generation benchmarks get ~25x speedups, probably both due to less GC activity and better allocation characteristics (only allocating one object per Cons, rather than Cons + Object[] for fields). The "map-reverse" family gets a neat 10x speedup (part of the work is reading, which is 2x faster, the other is allocating, which is now 25x faster, we end up with 10x when combined).
2023-01-24 16:03:06 +03:00
|
|
|
[3862]: https://github.com/enso-org/enso/pull/3862
|
2022-11-23 14:40:59 +03:00
|
|
|
[3897]: https://github.com/enso-org/enso/pull/3897
|
2022-12-01 13:13:34 +03:00
|
|
|
[3906]: https://github.com/enso-org/enso/pull/3906
|
2022-12-08 02:02:42 +03:00
|
|
|
[3941]: https://github.com/enso-org/enso/pull/3941
|
2022-11-28 22:11:31 +03:00
|
|
|
[3915]: https://github.com/enso-org/enso/pull/3915
|
2022-11-30 19:28:57 +03:00
|
|
|
[3931]: https://github.com/enso-org/enso/pull/3931
|
2022-12-07 13:10:11 +03:00
|
|
|
[3938]: https://github.com/enso-org/enso/pull/3938
|
2022-12-22 11:00:06 +03:00
|
|
|
[3949]: https://github.com/enso-org/enso/pull/3949
|
2022-12-08 03:04:46 +03:00
|
|
|
[3952]: https://github.com/enso-org/enso/pull/3952
|
2022-12-30 00:20:00 +03:00
|
|
|
[3956]: https://github.com/enso-org/enso/pull/3956
|
2022-12-19 22:16:43 +03:00
|
|
|
[3981]: https://github.com/enso-org/enso/pull/3981
|
2022-12-30 13:56:27 +03:00
|
|
|
[4005]: https://github.com/enso-org/enso/pull/4005
|
2022-12-30 08:30:32 +03:00
|
|
|
[4008]: https://github.com/enso-org/enso/pull/4008
|
2023-01-06 17:18:20 +03:00
|
|
|
[4014]: https://github.com/enso-org/enso/pull/4014
|
2023-01-05 17:00:00 +03:00
|
|
|
[4020]: https://github.com/enso-org/enso/pull/4020
|
2023-01-09 20:49:49 +03:00
|
|
|
[4022]: https://github.com/enso-org/enso/pull/4022
|
2023-01-09 16:39:14 +03:00
|
|
|
[4023]: https://github.com/enso-org/enso/pull/4023
|
2023-01-09 13:35:36 +03:00
|
|
|
[4030]: https://github.com/enso-org/enso/pull/4030
|
2023-01-16 13:19:19 +03:00
|
|
|
[4048]: https://github.com/enso-org/enso/pull/4048
|
2023-01-30 22:54:51 +03:00
|
|
|
[4049]: https://github.com/enso-org/enso/pull/4049
|
2023-01-18 23:19:36 +03:00
|
|
|
[4056]: https://github.com/enso-org/enso/pull/4056
|
2023-04-28 10:16:00 +03:00
|
|
|
[4067]: https://github.com/enso-org/enso/pull/4067
|
2023-01-30 22:54:51 +03:00
|
|
|
[4077]: https://github.com/enso-org/enso/pull/4077
|
2023-01-31 18:13:00 +03:00
|
|
|
[4099]: https://github.com/enso-org/enso/pull/4099
|
2023-02-05 09:36:16 +03:00
|
|
|
[4110]: https://github.com/enso-org/enso/pull/4110
|
2023-02-09 04:06:27 +03:00
|
|
|
[4111]: https://github.com/enso-org/enso/pull/4111
|
2023-02-09 11:22:28 +03:00
|
|
|
[5591]: https://github.com/enso-org/enso/pull/5591
|
2023-02-17 00:37:12 +03:00
|
|
|
[5609]: https://github.com/enso-org/enso/pull/5609
|
2023-02-14 18:51:17 +03:00
|
|
|
[5602]: https://github.com/enso-org/enso/pull/5602
|
2023-03-01 11:53:29 +03:00
|
|
|
[5700]: https://github.com/enso-org/enso/pull/5700
|
2023-03-07 07:16:38 +03:00
|
|
|
[5778]: https://github.com/enso-org/enso/pull/5778
|
2023-03-11 08:43:22 +03:00
|
|
|
[5845]: https://github.com/enso-org/enso/pull/5845
|
2023-03-09 10:36:59 +03:00
|
|
|
[5791]: https://github.com/enso-org/enso/pull/5791
|
2023-03-16 13:36:55 +03:00
|
|
|
[5900]: https://github.com/enso-org/enso/pull/5900
|
2023-03-22 00:09:41 +03:00
|
|
|
[5966]: https://github.com/enso-org/enso/pull/5966
|
2023-04-28 10:16:00 +03:00
|
|
|
[5998]: https://github.com/enso-org/enso/pull/5998
|
2023-03-27 20:49:20 +03:00
|
|
|
[6067]: https://github.com/enso-org/enso/pull/6067
|
2023-04-06 02:46:08 +03:00
|
|
|
[6151]: https://github.com/enso-org/enso/pull/6151
|
2023-04-06 18:47:40 +03:00
|
|
|
[6171]: https://github.com/enso-org/enso/pull/6171
|
2023-04-20 14:33:45 +03:00
|
|
|
[6335]: https://github.com/enso-org/enso/pull/6335
|
2023-04-28 10:16:00 +03:00
|
|
|
[6372]: https://github.com/enso-org/enso/pull/6372
|
2023-05-02 19:40:58 +03:00
|
|
|
[6352]: https://github.com/enso-org/enso/pull/6352
|
2023-05-10 14:48:31 +03:00
|
|
|
[6577]: https://github.com/enso-org/enso/pull/6577
|
2023-05-24 11:39:08 +03:00
|
|
|
[6750]: https://github.com/enso-org/enso/pull/6750
|
2023-05-18 19:44:38 +03:00
|
|
|
[6755]: https://github.com/enso-org/enso/pull/6755
|
2023-05-22 16:40:10 +03:00
|
|
|
[6780]: https://github.com/enso-org/enso/pull/6780
|
2022-02-06 12:02:09 +03:00
|
|
|
|
2021-10-13 00:51:15 +03:00
|
|
|
# Enso 2.0.0-alpha.18 (2021-10-12)
|
2021-09-27 23:44:55 +03:00
|
|
|
|
2021-10-13 00:50:48 +03:00
|
|
|
<br/>![New Features](/docs/assets/tags/new_features.svg)
|
|
|
|
|
|
|
|
#### Enso Compiler
|
|
|
|
|
|
|
|
- [Updated Enso engine to version 0.2.30][engine-0.2.31]. If you're interested
|
|
|
|
in the enhancements and fixes made to the Enso compiler, you can find their
|
2021-11-01 22:44:15 +03:00
|
|
|
release notes
|
|
|
|
[here](https://github.com/enso-org/enso/blob/develop/RELEASES.md).
|
2021-10-13 00:50:48 +03:00
|
|
|
|
2021-09-30 00:13:13 +03:00
|
|
|
<br/>![Bug Fixes](/docs/assets/tags/bug_fixes.svg)
|
|
|
|
|
|
|
|
#### Visual Environment
|
|
|
|
|
|
|
|
- [Fixed freezing after inactivity.][1776] When the IDE window was minimized or
|
|
|
|
covered by other windows or invisible for any other reason for a duration
|
|
|
|
around one minute or longer then it would often be frozen for some seconds on
|
|
|
|
return. Now it is possible to interact with the IDE instantly, no matter how
|
|
|
|
long it had been inactive.
|
|
|
|
|
|
|
|
<br/>
|
|
|
|
|
|
|
|
[1776]: https://github.com/enso-org/ide/pull/1776
|
|
|
|
|
2021-09-24 01:24:05 +03:00
|
|
|
# Enso 2.0.0-alpha.17 (2021-09-23)
|
2021-09-17 20:22:34 +03:00
|
|
|
|
2021-09-24 01:18:12 +03:00
|
|
|
<br/>![Bug Fixes](/docs/assets/tags/bug_fixes.svg)
|
|
|
|
|
|
|
|
#### Visual Environment
|
|
|
|
|
2021-09-24 01:47:05 +03:00
|
|
|
- [Correct handling of command-line flags.][1815] Command line arguments of the
|
|
|
|
form `--backend=false` or `--backend false` are now handled as expected and
|
|
|
|
turn off the "backend" option. The same fix has been applied to all other
|
|
|
|
boolean command-line options as well.
|
2021-09-24 01:18:12 +03:00
|
|
|
- [Visualizations will be attached after project is ready.][1825] This addresses
|
|
|
|
a rare issue when initially opened visualizations were automatically closed
|
|
|
|
rather than filled with data.
|
|
|
|
|
2021-09-24 01:47:05 +03:00
|
|
|
<br/>
|
|
|
|
|
|
|
|
[1815]: https://github.com/enso-org/ide/pull/1815
|
2021-09-24 01:18:12 +03:00
|
|
|
[1825]: https://github.com/enso-org/ide/pull/1825
|
|
|
|
|
2021-09-24 01:22:29 +03:00
|
|
|
<br/>![New Features](/docs/assets/tags/new_features.svg)
|
|
|
|
|
|
|
|
#### Enso Compiler
|
|
|
|
|
|
|
|
- [Updated Enso engine to version 0.2.30][engine-0.2.30]. If you're interested
|
|
|
|
in the enhancements and fixes made to the Enso compiler, you can find their
|
2021-11-01 22:44:15 +03:00
|
|
|
release notes
|
|
|
|
[here](https://github.com/enso-org/enso/blob/develop/RELEASES.md).
|
2021-09-24 01:22:29 +03:00
|
|
|
|
2021-11-01 03:37:30 +03:00
|
|
|
[engine-0.2.30]: https://github.com/enso-org/enso/blob/develop/RELEASES.md
|
2021-09-24 01:22:29 +03:00
|
|
|
|
2021-09-16 20:26:54 +03:00
|
|
|
# Enso 2.0.0-alpha.16 (2021-09-16)
|
2021-09-13 02:29:53 +03:00
|
|
|
|
2021-09-16 20:15:07 +03:00
|
|
|
<br/>![New Features](/docs/assets/tags/new_features.svg)
|
|
|
|
|
|
|
|
#### Visual Environment
|
|
|
|
|
|
|
|
- [Auto-layout for new nodes.][1755] When a node is selected and a new node gets
|
|
|
|
created below using <kbd>Tab</kbd> then the new node is automatically
|
|
|
|
positioned far enough to the right to find sufficient space and avoid
|
|
|
|
overlapping with existing nodes.
|
|
|
|
|
|
|
|
[1755]: https://github.com/enso-org/ide/pull/1755
|
|
|
|
|
2021-09-16 20:26:03 +03:00
|
|
|
#### Enso Compiler
|
|
|
|
|
|
|
|
- [Updated Enso engine to version 0.2.29][engine-0.2.29]. If you're interested
|
|
|
|
in the enhancements and fixes made to the Enso compiler, you can find their
|
2021-11-01 22:44:15 +03:00
|
|
|
release notes
|
|
|
|
[here](https://github.com/enso-org/enso/blob/develop/RELEASES.md).
|
2021-09-16 20:26:03 +03:00
|
|
|
|
2021-11-01 03:37:30 +03:00
|
|
|
[engine-0.2.29]: https://github.com/enso-org/enso/blob/develop/RELEASES.md
|
2021-09-16 20:26:03 +03:00
|
|
|
|
2021-09-16 20:17:44 +03:00
|
|
|
<br/>![Bug Fixes](/docs/assets/tags/bug_fixes.svg)
|
|
|
|
|
|
|
|
#### Visual Environment
|
|
|
|
|
|
|
|
- [Sharp rendering on screens with fractional pixel ratios.][1820]
|
|
|
|
|
|
|
|
[1820]: https://github.com/enso-org/ide/pull/1820
|
|
|
|
|
|
|
|
<br/>
|
|
|
|
|
2021-09-10 01:26:50 +03:00
|
|
|
# Enso 2.0.0-alpha.15 (2021-09-09)
|
2021-09-08 14:02:59 +03:00
|
|
|
|
|
|
|
<br/>![Bug Fixes](/docs/assets/tags/bug_fixes.svg)
|
|
|
|
|
|
|
|
#### Visual Environment
|
|
|
|
|
|
|
|
- [Fixed parsing of the `--no-data-gathering` command line option.][1831] Flag's
|
|
|
|
name has been changed to `--data-gathering`, so now `--data-gathering=false`
|
|
|
|
and `--data-gathering=true` are supported as well.
|
|
|
|
|
|
|
|
[1831]: https://github.com/enso-org/ide/pull/1831
|
|
|
|
|
2021-09-03 00:47:23 +03:00
|
|
|
# Enso 2.0.0-alpha.14 (2021-09-02)
|
2021-08-27 16:51:21 +03:00
|
|
|
|
2021-08-31 12:12:22 +03:00
|
|
|
<br/>![New Features](/docs/assets/tags/new_features.svg)
|
|
|
|
|
|
|
|
#### Visual Environment
|
|
|
|
|
|
|
|
- [Visualization previews are disabled.][1817] Previously, hovering over a
|
|
|
|
node's output port for more than four seconds would temporarily reveal the
|
2021-09-24 01:18:12 +03:00
|
|
|
node's visualization. This behavior is disabled now.
|
2021-08-31 12:12:22 +03:00
|
|
|
|
|
|
|
[1817]: https://github.com/enso-org/ide/pull/1817
|
|
|
|
|
2021-09-03 00:45:04 +03:00
|
|
|
#### Enso Compiler
|
|
|
|
|
|
|
|
- [Updated Enso engine to version 0.2.28][1829]. If you're interested in the
|
|
|
|
enhancements and fixes made to the Enso compiler, you can find their release
|
2021-11-01 03:37:30 +03:00
|
|
|
notes [here](https://github.com/enso-org/enso/blob/develop/RELEASES.md).
|
2021-09-03 00:45:04 +03:00
|
|
|
|
|
|
|
[1829]: https://github.com/enso-org/ide/pull/1829
|
|
|
|
|
2021-08-27 11:38:58 +03:00
|
|
|
# Enso 2.0.0-alpha.13 (2021-08-27)
|
2021-08-23 12:48:38 +03:00
|
|
|
|
2021-08-27 11:36:04 +03:00
|
|
|
<br/>![New Features](/docs/assets/tags/new_features.svg)
|
|
|
|
|
|
|
|
#### Enso Compiler
|
|
|
|
|
|
|
|
- [Updated Enso engine to version 0.2.27][1811]. If you're interested in the
|
|
|
|
enhancements and fixes made to the Enso compiler, you can find their release
|
2021-11-01 03:37:30 +03:00
|
|
|
notes [here](https://github.com/enso-org/enso/blob/develop/RELEASES.md).
|
2021-08-27 11:36:04 +03:00
|
|
|
|
|
|
|
[1811]: https://github.com/enso-org/ide/pull/1811
|
|
|
|
|
2021-08-14 00:12:45 +03:00
|
|
|
# Enso 2.0.0-alpha.12 (2021-08-13)
|
2021-08-09 16:38:41 +03:00
|
|
|
|
2021-08-14 00:11:27 +03:00
|
|
|
<br/>![New Features](/docs/assets/tags/new_features.svg)
|
|
|
|
|
2021-08-31 12:12:22 +03:00
|
|
|
#### Visual Environment
|
2021-08-14 00:11:27 +03:00
|
|
|
|
2021-08-20 10:37:52 +03:00
|
|
|
- [Improvements to visualization handling][1804]. These improvements are fixing
|
|
|
|
possible performance issues around attaching and detaching visualizations.
|
2021-08-19 13:13:01 +03:00
|
|
|
- [GeoMap visualization will ignore points with `null` coordinates][1775]. Now
|
|
|
|
the presence of such points in the dataset will not break initial map
|
|
|
|
positioning.
|
2021-08-20 11:42:47 +03:00
|
|
|
|
|
|
|
#### Enso Compiler
|
|
|
|
|
|
|
|
- [Updated Enso engine to version 0.2.26][1801]. If you're interested in the
|
2021-08-14 00:11:27 +03:00
|
|
|
enhancements and fixes made to the Enso compiler, you can find their release
|
2021-11-01 03:37:30 +03:00
|
|
|
notes [here](https://github.com/enso-org/enso/blob/develop/RELEASES.md).
|
2021-08-14 00:11:27 +03:00
|
|
|
|
2021-08-20 11:42:47 +03:00
|
|
|
[1801]: https://github.com/enso-org/ide/pull/1801
|
2021-08-19 13:13:01 +03:00
|
|
|
[1775]: https://github.com/enso-org/ide/pull/1775
|
2021-08-14 00:11:27 +03:00
|
|
|
[1798]: https://github.com/enso-org/ide/pull/1798
|
2021-08-20 10:37:52 +03:00
|
|
|
[1804]: https://github.com/enso-org/ide/pull/1804
|
2021-08-14 00:11:27 +03:00
|
|
|
|
2021-08-09 16:37:31 +03:00
|
|
|
# Enso 2.0.0-alpha.11 (2021-08-09)
|
2021-07-23 16:43:58 +03:00
|
|
|
|
2021-07-23 19:04:21 +03:00
|
|
|
This update contains major performance improvements and exposes new privacy user
|
|
|
|
settings. We will work towards stabilizing it in the next weeks in order to make
|
|
|
|
these updates be shipped in a stable release before the end of the year.
|
|
|
|
|
|
|
|
<br/>![New Features](/docs/assets/tags/new_features.svg)
|
|
|
|
|
|
|
|
#### Visual Environment
|
|
|
|
|
2021-08-06 20:24:41 +03:00
|
|
|
- [New look of open project dialog][1700]. Now it has a "Open project" title at
|
2021-07-23 19:04:21 +03:00
|
|
|
the top.
|
2021-08-06 20:24:41 +03:00
|
|
|
- [Documentation coments are displayed next to the nodes.][1744].
|
2021-07-23 19:04:21 +03:00
|
|
|
|
2021-07-27 17:31:33 +03:00
|
|
|
#### Enso Compiler
|
|
|
|
|
2021-08-09 16:35:05 +03:00
|
|
|
- [Updated Enso engine to version 0.2.22][1762]. If you are interested in the
|
2021-07-27 17:31:33 +03:00
|
|
|
enhancements and fixes made to the Enso compiler, you can find out more
|
|
|
|
details in
|
2021-11-01 03:37:30 +03:00
|
|
|
[the engine release notes](https://github.com/enso-org/enso/blob/develop/RELEASES.md).
|
2021-07-27 17:31:33 +03:00
|
|
|
|
2021-07-30 15:38:43 +03:00
|
|
|
<br/>![Bug Fixes](/docs/assets/tags/bug_fixes.svg)
|
|
|
|
|
|
|
|
#### Visual Environment
|
|
|
|
|
2021-09-30 00:13:13 +03:00
|
|
|
- [Fixed a bug where edited node expression was sometimes altered.][1743] When
|
2021-07-30 15:38:43 +03:00
|
|
|
editing node expression, the changes were occasionally reverted, or the
|
2021-09-30 00:13:13 +03:00
|
|
|
grayed-out parameter names were added to the actual expression. <br/>
|
2021-07-23 19:04:21 +03:00
|
|
|
|
|
|
|
[1700]: https://github.com/enso-org/ide/pull/1700
|
2021-08-06 19:56:53 +03:00
|
|
|
[1742]: https://github.com/enso-org/ide/pull/1742
|
2021-08-05 22:40:25 +03:00
|
|
|
[1726]: https://github.com/enso-org/ide/pull/1762
|
2021-07-30 15:38:43 +03:00
|
|
|
[1743]: https://github.com/enso-org/ide/pull/1743
|
2021-08-05 17:28:26 +03:00
|
|
|
[1744]: https://github.com/enso-org/ide/pull/1744
|
2021-07-23 19:04:21 +03:00
|
|
|
|
2021-07-23 10:17:30 +03:00
|
|
|
# Enso 2.0.0-alpha.10 (2021-07-23)
|
2021-07-09 12:41:58 +03:00
|
|
|
|
2021-07-23 19:04:21 +03:00
|
|
|
<br/>![New Features](/docs/assets/tags/new_features.svg)
|
|
|
|
|
2021-07-21 10:57:08 +03:00
|
|
|
#### Enso Compiler
|
|
|
|
|
|
|
|
- [Updated Enso engine to version 0.2.15][1710]. If you're interested in the
|
|
|
|
enhancements and fixes made to the Enso compiler, you can find out more
|
|
|
|
details in
|
2021-11-01 03:37:30 +03:00
|
|
|
[the engine release notes](https://github.com/enso-org/enso/blob/develop/RELEASES.md).
|
2021-07-21 10:57:08 +03:00
|
|
|
|
2021-07-23 19:04:21 +03:00
|
|
|
<br/>
|
|
|
|
|
2021-07-21 10:57:08 +03:00
|
|
|
[1710]: https://github.com/enso-org/ide/pull/1710
|
|
|
|
|
2021-07-20 16:20:38 +03:00
|
|
|
# Enso 2.0.0-alpha.9 (2021-07-16)
|
|
|
|
|
2021-07-16 11:36:15 +03:00
|
|
|
<br/>![New Features](/docs/assets/tags/new_features.svg)
|
|
|
|
|
|
|
|
#### Visual Environment
|
|
|
|
|
2021-07-20 16:20:38 +03:00
|
|
|
- [Improved undo-redo][1653]. Node selection, enabling/disabling visualisations
|
|
|
|
and entering a node are now affected by undo/redo and are restored on project
|
|
|
|
startup.
|
2021-07-16 11:36:15 +03:00
|
|
|
|
|
|
|
<br/>
|
2021-08-06 19:56:53 +03:00
|
|
|
|
2021-07-23 19:04:21 +03:00
|
|
|
[1640]: https://github.com/enso-org/ide/pull/1653
|
|
|
|
|
|
|
|
# Enso 2.0.0-alpha.8 (2021-06-09)
|
2021-07-09 12:41:58 +03:00
|
|
|
|
|
|
|
<br/>![New Features](/docs/assets/tags/new_features.svg)
|
|
|
|
|
|
|
|
#### Enso Compiler
|
|
|
|
|
|
|
|
- [Updated Enso engine to version 0.2.12][1640]. If you're interested in the
|
|
|
|
enhancements and fixes made to the Enso compiler, you can find out more
|
|
|
|
details in
|
2021-11-01 03:37:30 +03:00
|
|
|
[the engine release notes](https://github.com/enso-org/enso/blob/develop/RELEASES.md).
|
2021-07-09 12:41:58 +03:00
|
|
|
|
2021-07-16 11:36:15 +03:00
|
|
|
[1640]: https://github.com/enso-org/ide/pull/1640
|
2021-07-09 12:41:58 +03:00
|
|
|
|
|
|
|
<br/>
|
|
|
|
|
2021-07-06 10:50:16 +03:00
|
|
|
# Enso 2.0.0-alpha.7 (2021-06-06)
|
|
|
|
|
2021-07-06 13:00:38 +03:00
|
|
|
<br/>![New Features](/docs/assets/tags/new_features.svg)
|
|
|
|
|
2021-07-06 10:50:16 +03:00
|
|
|
#### Visual Environment
|
|
|
|
|
2021-07-06 13:00:38 +03:00
|
|
|
- [User Authentication][1653]. Users can sign in to Enso using Google, GitHub or
|
|
|
|
email accounts.
|
|
|
|
|
2021-07-06 10:50:16 +03:00
|
|
|
<br/>![Bug Fixes](/docs/assets/tags/bug_fixes.svg)
|
|
|
|
|
2021-07-06 13:00:38 +03:00
|
|
|
#### Visual Environment
|
|
|
|
|
2021-07-06 10:50:16 +03:00
|
|
|
- [Fix node selection bug ][1664]. Fix nodes not being deselected correctly in
|
|
|
|
some circumstances. This would lead to nodes moving too fast when dragged
|
|
|
|
[1650] or the internal state of the project being inconsistent [1626].
|
|
|
|
|
2021-07-06 13:00:38 +03:00
|
|
|
[1653]: https://github.com/enso-org/ide/pull/1653
|
|
|
|
[1664]: https://github.com/enso-org/ide/pull/1664
|
|
|
|
|
|
|
|
<br/>
|
|
|
|
|
2021-06-25 18:04:37 +03:00
|
|
|
# Enso 2.0.0-alpha.6 (2021-06-28)
|
2021-05-24 18:17:55 +03:00
|
|
|
|
|
|
|
<br/>![New Features](/docs/assets/tags/new_features.svg)
|
|
|
|
|
|
|
|
#### Visual Environment
|
|
|
|
|
2021-07-16 11:36:15 +03:00
|
|
|
- [Profling mode.][1546] The IDE contains a profiling mode now which can be
|
2021-06-10 14:24:04 +03:00
|
|
|
entered through a button in the top-right corner or through the keybinding
|
|
|
|
<kbd>ctrl</kbd>+<kbd>p</kbd>. This mode does not display any information yet.
|
|
|
|
In the future, it will display the running times of nodes and maybe more
|
|
|
|
useful statistics.
|
2021-06-13 22:52:39 +03:00
|
|
|
- [Area selection][1588]. You can now select multiple nodes at once. Just click
|
|
|
|
and drag on the background of your graph and see the beauty of the area
|
|
|
|
selection appear.
|
2021-06-01 12:55:15 +03:00
|
|
|
- [Opening projects in application graphical interface][1587]. Press `cmd`+`o`
|
|
|
|
to bring the list of projects. Select a project on the list to open it.
|
2021-06-11 07:34:03 +03:00
|
|
|
- [Initial support for undo-redo][1602]. Press <kbd>cmd</kbd>+<kbd>z</kbd> to
|
|
|
|
undo last action and <kbd>cmd</kbd>+<kbd>z</kbd> to redo last undone action.
|
|
|
|
This version of undo redo does not have proper support for text editor and
|
|
|
|
undoing UI changes (like selecting nodes).
|
2021-06-01 12:55:15 +03:00
|
|
|
|
2021-05-24 18:17:55 +03:00
|
|
|
#### EnsoGL (rendering engine)
|
|
|
|
|
|
|
|
<br/>![Bug Fixes](/docs/assets/tags/bug_fixes.svg)
|
|
|
|
|
|
|
|
#### Visual Environment
|
|
|
|
|
2021-05-26 16:28:22 +03:00
|
|
|
- [Nodes in graph no longer overlap panels][1577]. The Searcher, project name,
|
|
|
|
breadcrumbs and status bar are displayed "above" nodes.
|
|
|
|
|
2021-05-24 18:17:55 +03:00
|
|
|
#### Enso Compiler
|
|
|
|
|
2021-06-13 22:52:39 +03:00
|
|
|
[1588]: https://github.com/enso-org/ide/pull/1588
|
2021-05-26 16:28:22 +03:00
|
|
|
[1577]: https://github.com/enso-org/ide/pull/1577
|
2021-06-01 12:55:15 +03:00
|
|
|
[1587]: https://github.com/enso-org/ide/pull/1587
|
2021-06-11 07:34:03 +03:00
|
|
|
[1602]: https://github.com/enso-org/ide/pull/1602
|
2021-07-06 10:42:08 +03:00
|
|
|
[1602]: https://github.com/enso-org/ide/pull/1664
|
|
|
|
[1602]: https://github.com/enso-org/ide/pull/1650
|
|
|
|
[1602]: https://github.com/enso-org/ide/pull/1626
|
2021-05-26 16:28:22 +03:00
|
|
|
|
2021-05-24 17:56:58 +03:00
|
|
|
# Enso 2.0.0-alpha.5 (2021-05-14)
|
2021-04-26 16:06:52 +03:00
|
|
|
|
|
|
|
<br/>![New Features](/docs/assets/tags/new_features.svg)
|
|
|
|
|
|
|
|
#### Visual Environment
|
|
|
|
|
2021-05-21 16:24:17 +03:00
|
|
|
- [Create New Project action in Searcher][1566]. When you bring the searcher
|
|
|
|
with tab having no node selected, a new action will be available next to the
|
|
|
|
examples and code suggestions: `Create New Project`. When you choose it by
|
|
|
|
clicking with mouse or selecting and pressing enter, a new unnamed project
|
|
|
|
will be created and opened in the application. Then you can give a name to
|
|
|
|
this project.
|
2021-06-10 12:56:51 +03:00
|
|
|
- [Signed builds.][1366] Our builds are signed and will avoid warnings from the
|
|
|
|
operating system about being untrusted.
|
2021-05-21 16:24:17 +03:00
|
|
|
|
|
|
|
#### EnsoGL (rendering engine)
|
|
|
|
|
2021-05-21 12:41:03 +03:00
|
|
|
- [Components for picking numbers and ranges.][1524]. We now have some internal
|
|
|
|
re-usable UI components for selecting numbers or a range. Stay tuned for them
|
|
|
|
appearing in the IDE.
|
|
|
|
|
2021-05-04 13:54:13 +03:00
|
|
|
<br/>![Bug Fixes](/docs/assets/tags/bug_fixes.svg)
|
|
|
|
|
|
|
|
#### Visual Environment
|
|
|
|
|
2021-06-04 14:05:00 +03:00
|
|
|
- [Delete key will delete selected nodes][1538]. Only the non-intuitive
|
|
|
|
backspace key was assigned to this action before.
|
2021-05-13 10:50:01 +03:00
|
|
|
- [It is possible to move around after deleting a node with a selected
|
|
|
|
visualization][1556]. Deleting a node while its attached visualization was
|
|
|
|
selected made it impossible to pan or zoom around the stage afterwards. This
|
|
|
|
error is fixed now.
|
2021-05-11 12:33:20 +03:00
|
|
|
- [Fixed an internal error that would make the IDE fail on some browser.][1561].
|
|
|
|
Instead of crashing on browser that don't support the feature we use, we are
|
|
|
|
now just start a little bit slower.
|
2021-05-07 12:27:20 +03:00
|
|
|
|
2021-05-21 16:24:17 +03:00
|
|
|
#### Enso Compiler
|
|
|
|
|
2021-05-10 18:39:31 +03:00
|
|
|
- [Updated Enso engine to version 0.2.11][1541].
|
|
|
|
|
2021-05-04 13:54:13 +03:00
|
|
|
If you're interested in the enhancements and fixes made to the Enso compiler,
|
|
|
|
you can find their release notes
|
2021-11-01 03:37:30 +03:00
|
|
|
[here](https://github.com/enso-org/enso/blob/develop/RELEASES.md).
|
2021-05-04 13:54:13 +03:00
|
|
|
|
2021-06-10 12:56:51 +03:00
|
|
|
[1366]: https://github.com/enso-org/ide/pull/1366
|
2021-05-21 16:24:17 +03:00
|
|
|
[1541]: https://github.com/enso-org/ide/pull/1541
|
2021-05-07 12:27:20 +03:00
|
|
|
[1538]: https://github.com/enso-org/ide/pull/1538
|
2021-05-24 17:56:58 +03:00
|
|
|
[1524]: https://github.com/enso-org/ide/pull/1524
|
|
|
|
[1556]: https://github.com/enso-org/ide/pull/1556
|
|
|
|
[1561]: https://github.com/enso-org/ide/pull/1561
|
|
|
|
[1566]: https://github.com/enso-org/ide/pull/1566
|
2021-05-07 12:27:20 +03:00
|
|
|
|
2021-05-04 13:54:13 +03:00
|
|
|
<br/>
|
|
|
|
|
|
|
|
# Enso 2.0.0-alpha.4 (2021-05-04)
|
|
|
|
|
|
|
|
<br/>![New Features](/docs/assets/tags/new_features.svg)
|
|
|
|
|
|
|
|
#### Visual Environment
|
|
|
|
|
2021-04-26 16:06:52 +03:00
|
|
|
- [Window management buttons.][1511]. The IDE now has components for
|
2021-05-04 13:54:13 +03:00
|
|
|
"fullscreen" and "close" buttons. They will when running IDE in a cloud
|
|
|
|
environment where no native window buttons are available.
|
2021-04-30 00:21:18 +03:00
|
|
|
- [Customizable backend options][1531]. When invoking Enso IDE through command
|
2021-05-04 13:54:13 +03:00
|
|
|
line interface, it is possible to add the `--` argument separator. All
|
|
|
|
arguments following the separator will be passed to the backend.
|
2021-04-30 00:21:18 +03:00
|
|
|
- [Added `--verbose` parameter][1531]. If `--verbose` is given as command line
|
|
|
|
argument, the IDE and the backend will produce more detailed logs.
|
2021-04-26 16:06:52 +03:00
|
|
|
|
|
|
|
<br/>![Bug Fixes](/docs/assets/tags/bug_fixes.svg)
|
|
|
|
|
|
|
|
#### Visual Environment
|
|
|
|
|
2021-05-04 13:54:13 +03:00
|
|
|
- [Some command line arguments were not applied correctly in the IDE][1536].
|
|
|
|
Some arguments were not passed correctly to the IDE leading to erroneous
|
|
|
|
behavior or appearance of the electron app. This is now fixed.
|
2021-04-26 16:06:52 +03:00
|
|
|
|
|
|
|
#### Enso Compiler
|
|
|
|
|
|
|
|
If you're interested in the enhancements and fixes made to the Enso compiler,
|
|
|
|
you can find their release notes
|
2021-11-01 03:37:30 +03:00
|
|
|
[here](https://github.com/enso-org/enso/blob/develop/RELEASES.md).
|
2021-04-26 16:06:52 +03:00
|
|
|
|
|
|
|
[1511]: https://github.com/enso-org/ide/pull/1511
|
2021-05-04 13:54:13 +03:00
|
|
|
[1536]: https://github.com/enso-org/ide/pull/1536
|
2021-04-30 00:21:18 +03:00
|
|
|
[1531]: https://github.com/enso-org/ide/pull/1531
|
2021-04-26 16:06:52 +03:00
|
|
|
|
|
|
|
<br/>
|
|
|
|
|
2021-04-13 18:27:25 +03:00
|
|
|
# Enso 2.0.0-alpha.3 (2020-04-13)
|
2021-03-08 15:03:00 +03:00
|
|
|
|
|
|
|
<br/>![New Learning Resources](/docs/assets/tags/new_learning_resources.svg)
|
|
|
|
|
|
|
|
<br/>![New Features](/docs/assets/tags/new_features.svg)
|
|
|
|
|
|
|
|
#### Visual Environment
|
|
|
|
|
2021-04-13 17:41:26 +03:00
|
|
|
- [The status bar reports connectivity issues][1316]. The IDE maintains a
|
|
|
|
connection to the Enso Language Server. If this connection is lost, any
|
|
|
|
unsaved and further work will be lost. In this build we have added a
|
|
|
|
notification in the status bar to signal that the connection has been lost and
|
|
|
|
that the IDE must be restarted. In future, the IDE will try to automatically
|
|
|
|
reconnect.
|
|
|
|
- [Visualizations can now be maximised to fill the screen][1355] by selecting
|
|
|
|
the node and pressing space twice. To quit this view, press space again.
|
|
|
|
- [Visualizations are previewed when you hover over an output port.][1363] There
|
|
|
|
is now a quick preview for visualizations and error descriptions. Hovering
|
|
|
|
over a node output will first show a tooltip with the type information and
|
|
|
|
then, after some time, will show the visualization of the node. This preview
|
|
|
|
visualization will be located above other nodes, whereas the normal view, will
|
|
|
|
be shown below nodes. Errors will show the preview visualization immediately.
|
|
|
|
Nodes without type information will also show the visualization immediately.
|
|
|
|
You can enter a quick preview mode by pressing ctrl (or command on macOS),
|
|
|
|
which will show the preview visualization immediately when hovering above a
|
|
|
|
node's output port.
|
2021-03-25 19:03:22 +03:00
|
|
|
- [Database Visualizations][1335]. Visualizations for the Database library have
|
|
|
|
been added. The Table visualization now automatically executes the underlying
|
2021-04-13 17:41:26 +03:00
|
|
|
query to display its results as a table. In addition, the SQL Query
|
2021-03-25 19:03:22 +03:00
|
|
|
visualization allows the user to see the query that is going to be run against
|
|
|
|
the database.
|
2021-03-30 10:36:42 +03:00
|
|
|
- [Histogram and Scatter Plot now support Dataframes.][1377] The `Table` and
|
|
|
|
`Column` datatypes are properly visualized. Scatter Plot can display points of
|
2021-04-13 17:41:26 +03:00
|
|
|
different colors, shapes and sizes, all as defined by the data within the
|
2021-03-30 10:36:42 +03:00
|
|
|
`Table`.
|
2021-04-02 11:01:50 +03:00
|
|
|
- [Many small visual improvements.][1419] See the source issue for more details.
|
2021-04-07 15:01:51 +03:00
|
|
|
- The dark theme is officially supported now. You can start the IDE with the
|
|
|
|
`--theme=dark` option to enable it.
|
2021-04-13 17:41:26 +03:00
|
|
|
- You can hide the node labels with the `--no-node-labels` option. This is
|
|
|
|
useful when creating demo videos.
|
|
|
|
- [Added a Heatmap visualization.][1438] Just as for the Scatter Plot, it
|
|
|
|
supports visualizing `Table`, but also `Vector`.
|
2021-04-13 16:59:41 +03:00
|
|
|
- [Add a background to the status bar][1447].
|
|
|
|
- [Display breadcrumbs behind nodes and other objects][1471].
|
2021-04-08 12:14:13 +03:00
|
|
|
- [Image visualization.][1367]. Visualizations for the Enso Image library. Now
|
2021-04-13 17:41:26 +03:00
|
|
|
you can display the `Image` type and a string with an image encoded in base64.
|
|
|
|
The histogram visualization has been adjusted, allowing you to display the
|
|
|
|
values of the precomputed bins, which is useful when the dataset is relatively
|
|
|
|
big, and it's cheaper to send the precomputed bins rather than the entire
|
|
|
|
dataset.
|
2021-05-14 16:06:14 +03:00
|
|
|
- [Output type labels.][1427] The labels, that show the output type of a node on
|
|
|
|
hover, appear now in a fixed position right below the node, instead of a
|
|
|
|
pop-up, as they did before.
|
2021-03-12 14:56:33 +03:00
|
|
|
|
2021-03-08 15:03:00 +03:00
|
|
|
<br/>![Bug Fixes](/docs/assets/tags/bug_fixes.svg)
|
|
|
|
|
|
|
|
#### Visual Environment
|
|
|
|
|
2021-04-13 17:41:26 +03:00
|
|
|
- [Not adding spurious imports][1209]. Fixed cases where the IDE was adding
|
|
|
|
unnecessary library imports when selecting hints from the node searcher. This
|
|
|
|
makes the generated textual code much easier to read, and reduces the
|
|
|
|
likelihood of accidental name collisions.
|
|
|
|
- [Hovering over an output port shows a pop-up with the result type of a
|
|
|
|
node][1312]. This allows easy discovery of the result type of a node, which
|
|
|
|
can help with both debugging and development.
|
|
|
|
- [Visualizations can define the context for preprocessor evaluation][1291].
|
|
|
|
Users can now decide which module's context should be used for visualization
|
|
|
|
preprocessor. This allows providing visualizations with standard library
|
2021-03-10 13:09:45 +03:00
|
|
|
functionalities or defining utilities that are shared between multiple
|
|
|
|
visualizations.
|
2021-04-13 17:41:26 +03:00
|
|
|
- [Fixed an issue with multiple instances of the IDE running.][1314] This fixes
|
|
|
|
an issue where multiple instances of the IDE (or even other applications)
|
|
|
|
could lead to the IDE not working.
|
2021-03-12 22:37:53 +03:00
|
|
|
- [Allow JS to log arbitrary objects.][1313] Previously using `console.log` in a
|
2021-03-19 13:43:34 +03:00
|
|
|
visualisation or during development would crash the IDE. Now it correctly logs
|
2021-04-13 17:41:26 +03:00
|
|
|
the string representation of the object. This is great for debugging custom
|
|
|
|
visualizations.
|
|
|
|
- [Fix the mouse cursor offset on systems with fractional display
|
|
|
|
scaling][1064]. The cursor now works with any display scaling, instead of
|
|
|
|
there being an offset between the visible cursor and the cursor selection.
|
2021-03-12 15:24:33 +03:00
|
|
|
- [Disable area selection][1318]. The area selection was visible despite being
|
|
|
|
non-functional. To avoid confusion, area selection has been disabled until it
|
|
|
|
is [correctly implemented][479].
|
2021-04-13 17:41:26 +03:00
|
|
|
- [Fix an error after adding a node][1332]. Sometimes, after picking a
|
|
|
|
suggestion, the inserted node was spuriously annotated with "The name could
|
|
|
|
not be found" error.
|
2021-03-23 17:08:18 +03:00
|
|
|
- [Handle syntax errors in custom-defined visualizations][1341]. The IDE is now
|
2021-04-13 17:41:26 +03:00
|
|
|
able to run properly, even if some of the custom visualizations inside a
|
|
|
|
project contain syntax errors.
|
2021-03-23 17:08:18 +03:00
|
|
|
- [Fix issues with pasting multi-line text into single-line text fields][1348].
|
2021-04-13 17:41:26 +03:00
|
|
|
The line in the copied text will be inserted and all additional lines will be
|
2021-03-23 17:08:18 +03:00
|
|
|
ignored.
|
2021-03-19 13:43:34 +03:00
|
|
|
- [Users can opt out of anonymous data gathering.][1328] This can be done with
|
2021-04-13 17:41:26 +03:00
|
|
|
the `--no-data-gathering` command-line flag when starting the IDE.
|
2021-03-24 21:08:42 +03:00
|
|
|
- [Provide a theming API for JavaScript visualizations][1358]. It is now
|
|
|
|
possible to use the Enso theming engine while developing custom visualizations
|
|
|
|
in JavaScript. You can query it for all IDE colors, including the colors used
|
|
|
|
to represent types.
|
2021-04-13 17:41:26 +03:00
|
|
|
- [You can now start the IDE service without a window again.][1353] The command
|
2021-03-30 21:51:32 +03:00
|
|
|
line argument `--no-window` now starts all the required backend services
|
2021-04-13 17:41:26 +03:00
|
|
|
again, and prints the port on the command line. This allows you to open the
|
|
|
|
IDE in a web browser of your choice.
|
|
|
|
- [JS visualizations have gestures consistent with the IDE][1291]. Panning and
|
|
|
|
zooming now works just as expected using both a trackpad and mouse.
|
2021-03-31 17:31:46 +03:00
|
|
|
- [Running `watch` command works on first try.][1395]. Running the build command
|
|
|
|
`run watch` would fail if it was run as the first command on a clean
|
|
|
|
repository. This now works.
|
2021-04-13 17:41:26 +03:00
|
|
|
- [The `inputType` field of visualizations is actually taken into
|
|
|
|
consideration][1384]. The visualization chooser shows only the entries that
|
|
|
|
work properly for the node's output type.
|
|
|
|
- [Fix applying the output of the selected node to the expression of a new
|
|
|
|
node][1385]. For example, having selected a node with `Table` output and
|
|
|
|
adding a new node with expression `at "x" == "y"`, the selected node was
|
|
|
|
applied to the right side of `==`: `at "x" == operator1."y"` instead of
|
|
|
|
`operator1.at "x" == "y"`.
|
|
|
|
- [`Enso_Project.data` is visible in the searcher][1393].
|
|
|
|
- [The Geo Map visualization recognizes columns regardless of the case of their
|
|
|
|
name][1392]. This allows visualizing tables with columns like `LONGITUDE` or
|
2021-03-26 19:42:50 +03:00
|
|
|
`Longitude`, where previously only `longitude` was recognized.
|
2021-04-13 17:41:26 +03:00
|
|
|
- [It is possible now to switch themes][1390]. Additionally, the theme manager
|
|
|
|
was integrated with the FRP event engine, which has been a long-standing issue
|
|
|
|
in the IDE. Themes management was exposed to JavaScript with the
|
|
|
|
`window.theme` variable. It is even possible to change and develop themes live
|
|
|
|
by editing theme variables directly in the Chrome Inspector. Use the following
|
|
|
|
command to give this a go:
|
|
|
|
`theme.snapshot("t1"); theme.get("t1").interactiveMode()`.
|
2021-03-31 17:46:18 +03:00
|
|
|
- [The active visualization is highlighted.][1412] Now it is clearly visible
|
|
|
|
when the mouse events are passed to the visualization.
|
2021-04-13 17:41:26 +03:00
|
|
|
- [Fixed an issue where projects containing certain language constructs failed
|
|
|
|
to load.][1413]
|
2021-04-02 16:52:22 +03:00
|
|
|
- [Fixed a case where IDE could lose connection to the backend after some
|
|
|
|
time.][1428]
|
2021-04-13 17:41:26 +03:00
|
|
|
- [Improved the performance of the graph editor, particularly when opening a
|
|
|
|
project for the first time.][1445]
|
2021-03-08 15:03:00 +03:00
|
|
|
|
|
|
|
#### EnsoGL (rendering engine)
|
|
|
|
|
2021-04-13 17:41:26 +03:00
|
|
|
- [Unified shadow generation][1411]. Added a toolset to create shadows for
|
2021-03-30 21:09:54 +03:00
|
|
|
arbitrary UI components.
|
2021-03-31 10:12:43 +03:00
|
|
|
|
2021-03-08 15:03:00 +03:00
|
|
|
#### Enso Compiler
|
|
|
|
|
|
|
|
If you're interested in the enhancements and fixes made to the Enso compiler,
|
|
|
|
you can find their release notes
|
2021-11-01 03:37:30 +03:00
|
|
|
[here](https://github.com/enso-org/enso/blob/develop/RELEASES.md#enso-0210-2021-04-07).
|
2021-03-08 15:03:00 +03:00
|
|
|
|
2021-03-30 17:16:46 +03:00
|
|
|
[1064]: https://github.com/enso-org/ide/pull/1064
|
2021-03-08 15:03:00 +03:00
|
|
|
[1209]: https://github.com/enso-org/ide/pull/1209
|
2021-03-10 13:09:45 +03:00
|
|
|
[1291]: https://github.com/enso-org/ide/pull/1291
|
2021-03-25 12:54:11 +03:00
|
|
|
[1311]: https://github.com/enso-org/ide/pull/1311
|
2021-03-30 17:16:46 +03:00
|
|
|
[1313]: https://github.com/enso-org/ide/pull/1313
|
|
|
|
[1314]: https://github.com/enso-org/ide/pull/1314
|
2021-03-12 14:56:33 +03:00
|
|
|
[1316]: https://github.com/enso-org/ide/pull/1316
|
2021-03-12 15:24:33 +03:00
|
|
|
[1318]: https://github.com/enso-org/ide/pull/1318
|
2021-03-30 17:16:46 +03:00
|
|
|
[1328]: https://github.com/enso-org/ide/pull/1328
|
2021-03-30 13:43:05 +03:00
|
|
|
[1355]: https://github.com/enso-org/ide/pull/1355
|
2021-03-23 19:38:00 +03:00
|
|
|
[1332]: https://github.com/enso-org/ide/pull/1332
|
|
|
|
[1341]: https://github.com/enso-org/ide/pull/1341
|
2021-03-23 17:08:18 +03:00
|
|
|
[1341]: https://github.com/enso-org/ide/pull/1341
|
|
|
|
[1348]: https://github.com/enso-org/ide/pull/1348
|
2021-03-22 13:38:05 +03:00
|
|
|
[1353]: https://github.com/enso-org/ide/pull/1353
|
2021-03-31 17:31:46 +03:00
|
|
|
[1395]: https://github.com/enso-org/ide/pull/1395
|
2021-03-30 21:51:32 +03:00
|
|
|
[1363]: https://github.com/enso-org/ide/pull/1363
|
2021-03-30 15:25:38 +03:00
|
|
|
[1384]: https://github.com/enso-org/ide/pull/1384
|
2021-03-26 14:00:25 +03:00
|
|
|
[1385]: https://github.com/enso-org/ide/pull/1385
|
2021-03-30 17:16:46 +03:00
|
|
|
[1390]: https://github.com/enso-org/ide/pull/1390
|
2021-03-26 19:42:50 +03:00
|
|
|
[1392]: https://github.com/enso-org/ide/pull/1392
|
2021-03-30 17:16:46 +03:00
|
|
|
[1393]: https://github.com/enso-org/ide/pull/1393
|
|
|
|
[479]: https://github.com/enso-org/ide/issues/479
|
2021-03-30 13:43:05 +03:00
|
|
|
[1335]: https://github.com/enso-org/ide/pull/1335
|
|
|
|
[1358]: https://github.com/enso-org/ide/pull/1358
|
2021-03-30 10:36:42 +03:00
|
|
|
[1377]: https://github.com/enso-org/ide/pull/1377
|
2021-03-30 21:09:54 +03:00
|
|
|
[1411]: https://github.com/enso-org/ide/pull/1411
|
2021-03-31 17:46:18 +03:00
|
|
|
[1412]: https://github.com/enso-org/ide/pull/1412
|
2021-04-02 11:01:50 +03:00
|
|
|
[1419]: https://github.com/enso-org/ide/pull/1419
|
2021-04-01 23:56:23 +03:00
|
|
|
[1413]: https://github.com/enso-org/ide/pull/1413
|
2021-04-02 16:52:22 +03:00
|
|
|
[1428]: https://github.com/enso-org/ide/pull/1428
|
2021-04-04 18:42:38 +03:00
|
|
|
[1438]: https://github.com/enso-org/ide/pull/1438
|
2021-04-08 12:14:13 +03:00
|
|
|
[1367]: https://github.com/enso-org/ide/pull/1367
|
2021-04-09 18:25:24 +03:00
|
|
|
[1445]: https://github.com/enso-org/ide/pull/1445
|
2021-04-26 16:06:52 +03:00
|
|
|
[1447]: https://github.com/enso-org/ide/pull/1447
|
|
|
|
[1471]: https://github.com/enso-org/ide/pull/1471
|
|
|
|
[1511]: https://github.com/enso-org/ide/pull/1511
|
2021-03-08 15:03:00 +03:00
|
|
|
|
|
|
|
<br/>
|
|
|
|
|
2021-03-04 21:01:35 +03:00
|
|
|
# Enso 2.0.0-alpha.2 (2020-03-04)
|
2021-02-02 08:07:43 +03:00
|
|
|
|
2021-03-04 21:01:35 +03:00
|
|
|
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
|
2021-03-05 18:22:19 +03:00
|
|
|
of the graphical interface. In addition, the graphical interface now informs the
|
|
|
|
users about errors and where they originate.
|
2021-02-02 08:07:43 +03:00
|
|
|
|
2021-03-04 21:01:35 +03:00
|
|
|
<br/>![New Learning Resources](/docs/assets/tags/new_learning_resources.svg)
|
|
|
|
|
|
|
|
- [Learn how to define custom data visualizations in
|
|
|
|
Enso][podcast-custom-visualizations].
|
2021-03-05 18:22:19 +03:00
|
|
|
- [Learn how to use Java libraries in Enso, to build a
|
|
|
|
webserver][podcast-java-interop].
|
|
|
|
- [Learn how to use Javascript libraries in Enso, to build custom server-side
|
|
|
|
website rendering][podcast-http-server].
|
|
|
|
- [Discover why Enso Compiler is so fast and how it was built to support a
|
|
|
|
dual-representation language][podcast-compiler-internals].
|
2021-03-04 21:01:35 +03:00
|
|
|
- [Learn more about the vision behind Enso and about its planned
|
|
|
|
future][podcast-future-of-enso].
|
2021-02-02 08:07:43 +03:00
|
|
|
|
2021-02-06 00:53:42 +03:00
|
|
|
<br/>![New Features](/docs/assets/tags/new_features.svg)
|
|
|
|
|
|
|
|
#### Visual Environment
|
2021-03-04 21:01:35 +03:00
|
|
|
|
|
|
|
- [Errors in workflows are now displayed in the graphical interface][1215].
|
|
|
|
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
|
2021-03-05 18:22:19 +03:00
|
|
|
nice and descriptive fashion.
|
2021-03-04 21:01:35 +03:00
|
|
|
- [Added geographic map support for Tables (data frames).][1187] Tables that
|
2021-03-05 18:22:19 +03:00
|
|
|
have `latitude`, `longitude`, and optionally `label` columns can now be shown
|
2021-03-04 21:01:35 +03:00
|
|
|
as points on a map.
|
2021-03-05 18:22:19 +03:00
|
|
|
- [Added a shortcut for live reloading of visualization files.][1190] This
|
|
|
|
drastically improves how quickly new visualizations can be tested during their
|
2021-03-04 21:01:35 +03:00
|
|
|
development. This is _currently_ limited in that, after reloading
|
|
|
|
visualization definitions, the currently visible visualizations must be
|
2021-03-05 18:22:19 +03:00
|
|
|
switched to another and switched back to refresh their content. See the [video
|
|
|
|
podcast about building custom visualizations][podcast-custom-visualizations]
|
2021-03-04 21:01:35 +03:00
|
|
|
to learn more.
|
|
|
|
- [Added a visual indicator of the ongoing standard library compilation][1264].
|
2021-03-05 18:22:19 +03:00
|
|
|
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.
|
2021-03-04 21:01:35 +03:00
|
|
|
- [Added the ability to reposition visualisations.][1096] 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][1160].
|
|
|
|
|
|
|
|
<br/>![Bug Fixes](/docs/assets/tags/bug_fixes.svg)
|
|
|
|
|
|
|
|
#### Visual Environment
|
|
|
|
|
|
|
|
- [You can now use the table visualization to display data frames][1181]. Please
|
|
|
|
note, that large tables will get truncated to 2000 entries. This limitation
|
|
|
|
will be lifted in future releases.
|
|
|
|
- [Performance improvements during visual workflow][1067]. Nodes added with the
|
2021-03-05 18:22:19 +03:00
|
|
|
searcher will have their values automatically assigned to newly generated
|
2021-03-04 21:01:35 +03:00
|
|
|
variables, which allows the Enso Engine to cache intermediate values and hence
|
|
|
|
improve visualization performance.
|
|
|
|
- [Minor documentation rendering fixes][1098]. 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][1214]. 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
|
2021-03-05 18:22:19 +03:00
|
|
|
different IDE version and prevent unnecessary loss of metadata.
|
2021-03-04 21:01:35 +03:00
|
|
|
- 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][1237].
|
|
|
|
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][1264]. Most notably this occurred with the output node of a
|
|
|
|
function generated using the node collapse refactoring.
|
2021-03-05 18:22:19 +03:00
|
|
|
- Many visual glitches were fixed, including small "pixel-like" artifacts
|
2021-03-04 21:01:35 +03:00
|
|
|
appearing on the screen.
|
|
|
|
- [Several parser improvements][1274]. The parser used in the IDE has been
|
|
|
|
updated to the latest version. This resolves several issues with language
|
2021-03-05 18:22:19 +03:00
|
|
|
constructs like `import`, lambdas, and parentheses, whereupon typing certain
|
2021-03-04 21:01:35 +03:00
|
|
|
text the edit could be automatically reverted.
|
|
|
|
- [The auto-import functionality was improved][1279]. Libraries' `Main` modules
|
2021-03-05 18:22:19 +03:00
|
|
|
are omitted in expressions inserted by the searcher. For example, the `point`
|
2021-03-04 21:01:35 +03:00
|
|
|
method of `Geo` library will be displayed as `Geo.point` and will insert
|
|
|
|
import `Geo` instead of `Geo.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.
|
2021-03-30 18:48:55 +03:00
|
|
|
- [Fixed method names highlighted in pink.][1408] There was a bug introduced
|
|
|
|
after one of the latest Engine updates, that sent `Unresolved_symbol` types,
|
|
|
|
which made all methods pink. This is fixed now.
|
2021-03-04 21:01:35 +03:00
|
|
|
|
|
|
|
#### EnsoGL (rendering engine)
|
|
|
|
|
2021-03-05 18:22:19 +03:00
|
|
|
- A new multi-camera management system, allowing the same shape systems to be
|
2021-03-04 21:01:35 +03:00
|
|
|
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
|
2021-11-01 03:37:30 +03:00
|
|
|
[here](https://github.com/enso-org/enso/blob/develop/RELEASES.md#enso-026-2021-03-02).
|
2021-02-06 00:53:42 +03:00
|
|
|
|
2021-03-05 01:47:50 +03:00
|
|
|
[1067]: https://github.com/enso-org/ide/pull/1067
|
|
|
|
[1096]: https://github.com/enso-org/ide/pull/1096
|
2021-02-11 19:00:22 +03:00
|
|
|
[1098]: https://github.com/enso-org/ide/pull/1098
|
2021-02-06 00:57:16 +03:00
|
|
|
[1181]: https://github.com/enso-org/ide/pull/1181
|
2021-03-04 21:01:35 +03:00
|
|
|
[1215]: https://github.com/enso-org/ide/pull/1215
|
2021-02-12 15:38:06 +03:00
|
|
|
[1160]: https://github.com/enso-org/ide/pull/1160
|
2021-02-10 20:19:54 +03:00
|
|
|
[1190]: https://github.com/enso-org/ide/pull/1190
|
2021-02-16 13:47:57 +03:00
|
|
|
[1187]: https://github.com/enso-org/ide/pull/1187
|
2021-03-01 11:38:16 +03:00
|
|
|
[1068]: https://github.com/enso-org/ide/pull/1068
|
2021-02-19 17:20:25 +03:00
|
|
|
[1214]: https://github.com/enso-org/ide/pull/1214
|
2021-02-25 17:23:55 +03:00
|
|
|
[1237]: https://github.com/enso-org/ide/pull/1237
|
2021-03-01 11:38:16 +03:00
|
|
|
[1264]: https://github.com/enso-org/ide/pull/1264
|
2021-03-02 16:21:50 +03:00
|
|
|
[1274]: https://github.com/enso-org/ide/pull/1274
|
2021-03-02 14:47:13 +03:00
|
|
|
[1279]: https://github.com/enso-org/ide/pull/1279
|
2021-03-04 21:01:35 +03:00
|
|
|
[podcast-java-interop]:
|
|
|
|
https://www.youtube.com/watch?v=bcpOEX1x06I&t=468s&ab_channel=Enso
|
|
|
|
[podcast-compiler-internals]:
|
|
|
|
https://www.youtube.com/watch?v=BibjcUjdkO4&ab_channel=Enso
|
|
|
|
[podcast-custom-visualizations]:
|
|
|
|
https://www.youtube.com/watch?v=wFkh5LgAZTs&t=5439s&ab_channel=Enso
|
|
|
|
[podcast-http-server]:
|
|
|
|
https://www.youtube.com/watch?v=BYUAL4ksEgY&ab_channel=Enso
|
|
|
|
[podcast-future-of-enso]:
|
|
|
|
https://www.youtube.com/watch?v=rF8DuJPOfTs&t=1863s&ab_channel=Enso
|
2021-03-17 12:48:11 +03:00
|
|
|
[1312]: https://github.com/enso-org/ide/pull/1312
|
2021-03-30 18:48:55 +03:00
|
|
|
[1408]: https://github.com/enso-org/ide/pull/1408
|
2021-02-06 00:53:42 +03:00
|
|
|
|
2021-03-04 21:01:35 +03:00
|
|
|
<br/>
|
2021-02-06 00:51:41 +03:00
|
|
|
|
2021-02-02 08:07:43 +03:00
|
|
|
# Enso 2.0.0-alpha.1 (2020-01-26)
|
2021-03-04 21:01:35 +03:00
|
|
|
|
|
|
|
This is the first release of Enso, a general-purpose programming language and
|
|
|
|
environment for interactive data processing. It is a tool that spans the entire
|
|
|
|
stack, going from high-level visualization and communication to the nitty-gritty
|
|
|
|
of backend services, all in a single language.
|
2021-02-02 08:07:43 +03:00
|
|
|
|
|
|
|
<br/>![Release Notes](/docs/assets/tags/release_notes.svg)
|
|
|
|
|
|
|
|
#### Anonymous Data Collection
|
2021-03-04 21:01:35 +03:00
|
|
|
|
|
|
|
Please note that this release collects anonymous usage data which will be used
|
|
|
|
to improve Enso and prepare it for a stable release. We will switch to opt-in
|
|
|
|
data collection in stable version releases. The usage data will not contain your
|
|
|
|
code (expressions above nodes), however, reported errors may contain brief
|
|
|
|
snippets of out of context code that specifically leads to the error, like "the
|
|
|
|
method 'foo' does not exist on Number". The following data will be collected:
|
|
|
|
|
2021-02-02 08:07:43 +03:00
|
|
|
- Session length.
|
2021-03-04 21:01:35 +03:00
|
|
|
- Graph editing events (node create, dele, position change, connect, disconnect,
|
|
|
|
collapse, edit start, edit end). This will not include any information about
|
|
|
|
node expressions used.
|
2021-02-02 08:07:43 +03:00
|
|
|
- Navigation events (camera movement, scope change).
|
2021-03-04 21:01:35 +03:00
|
|
|
- Visualization events (visualization open, close, switch). This will not
|
|
|
|
include any information about the displayed data nor the rendered
|
|
|
|
visualization itself.
|
2021-02-02 08:07:43 +03:00
|
|
|
- Project management events (project open, close, rename).
|
2021-03-04 21:01:35 +03:00
|
|
|
- Errors (IDE crashes, WASM panics, Project Manager errors, Language Server
|
|
|
|
errors, Compiler errors).
|
2021-02-02 08:07:43 +03:00
|
|
|
- Performance statistics (minimum, maximum, average GUI refresh rate).
|