This file contains work-in-progress notes for the upcoming release, as well as previous releases. Please check the releases page for the build artifacts.
- Add pre-built JS files to the repository. This removes our reliance on the Lake cloud release fetching these.
-
Added
RefreshComponent. It supports widget implementations that continue updating the UI while new information is being computed in the background. -
Deprecated
@[server_rpc_method_cancellable]. All@[server_rpc_method]s are now cancellable. To migrate, replace@[server_rpc_method_cancellable]with@[server_rpc_method], and replace calls to IO.checkCanceled with RequestM.checkCancelled.If the RPC method spawns CoreM computations, it is also encouraged to pass
cancelTk.cancelledByCancelRequestfrom RequestContext into Core.Context (note that this needs lean4#12948).
- Renamed syntax categories for JSX to be unique to ProofWidgets4. They used to clash with doc-gen4.
- Added
#checkhand#checkh'commands that are similar to#checkbut dim implicit arguments.
- Ported to the new module system.
- Added
path/ellipse/rect/textprimitives toData.Svg.
- Added the
errorOnBuildLake configuration option.
- Published @leanprover-community/proofwidgets4 on NPM. This allows importing ProofWidgets4 JS components from widgets defined in other Lean packages. NPM support is experimental: see discussion.
- Generalized
GraphDisplay.Vertex.radiustoGraphDisplay.Vertex.boundingShape. - Added demo of metavariable graph display in tactic proofs.
- Renamed
DigraphDisplaytoGraphDisplay. Undirected graphs can be rendered by turning off arrowheads. - Added support for edge labels and more customization to
GraphDisplay.
- Updated Lean to v4.14.0-rc1.
- Added
DigraphDisplaycomponent. It uses d3-force for layout and can accommodate a variety of display styles. SeeDemos/Digraph.leanfor more. - Added
MarkdownDisplaycomponent to display Markdown (including LaTeX). - Fixed cloud release issue (see Zulip).
- Moved the toolchain to
leanprover/lean4:v4.7.0-rc1. - Performance improvements for widgets using
mk_rpc_widget%. Redundant, duplicate calls were previously made to the underlying RPC method; this has been fixed. Furthermore, serverside execution of the RPC method gets cancelled by the infoview as long as its results are no longer needed (for example because the user moved the cursor elsewhere). To opt into this mechanism, use@[server_rpc_method_cancellable]instead of@[server_rpc_method]. RPC methods using that attribute can check whether they have been cancelled using IO.checkCanceled, and immediately return with an error or a partial result.
- Moved the toolchain to
leanprover/lean4:v4.6.0. - Exposed
theme.backgroundto Penrose style programs.
- Toolchain bumps and associated tweaks.
- Build the demos in CI.
- Moved the toolchain to
leanprover/lean4:v4.5.0-rc1. This brings changes to the user widget API described here. - Removed
ProofWidgets.savePanelWidgetInfo. For now you should useLean.Widget.savePanelWidgetInfoinstead. An example migration can be found here. - The
with_panel_widgetstactic now optionally accepts props for each listed widget. - Several components now use
mk_rpc_widget%instead of JavaScript string literals. - Fixes and improvements in the
PenroseDiagramcomponent and theEuclideandemo.