Releases: Dyalog/ewc
Releases · Dyalog/ewc
Release list
v0.6.0
The APL server and the React client now live in a single repository, and this is
the first release built from that one tree. ewc-v0.6.0.zip on the release page
is a runnable tree: the server, the demos and a built client together.
Upgrading
- Download
ewc-v0.6.0.zip. - Building from a clone is
yarn installthenyarn buildat the repository
root. Yarn, not npm: the JavaScript tooling is a yarn workspace, and one
install at the root covers both halves.client/dist/is no longer committed. - The demo moved from
demo/totest-apps/demo/. Update any
]link.create #.demo <repo>/demoto<repo>/test-apps/demo. - Do not
]link.createthe repository root. It walksclient/node_modules,
where package names collide as APL names and abort the whole link. LinkEWC/
andtest-apps/demo/by name instead;EWC.FOLDERstill resolves itself. - A sibling
ewc-client/orjswc-client/checkout is no longer searched for a
client build. With the client in the same repository, a leftover sibling would
silently shadow it.
New
- One repository. The APL server, the demos, the User Guide and the React client
are versioned, tested and released together, so a change spanning both halves
is a single pull request rather than a pair. - Plugins: applications can register their own components at runtime with
EWC.RegisterPlugin, contributing EWC classes, static resources to serve and
client JavaScript to inject. A charting or dashboard library of your choice no
longer has to wait for Dyalog to add it. TrackbarandColorButtonclasses.Static: the plain positioned container that pre-datesSubFormandGroup,
with no caption and no etched frame, for older applications that build their
own panels out of it.Locator: the user positions an outline and theLocatorevent (80) reports
where they put it, replying(name 80 y x h w)as⎕DQdoes natively.- Subsidiary windows. A non-primary
Formin Browser and Multi modes renders as
a floating window over the primary one, with a titlebar, itsCaption, a close
box and drag, rather than as a browser popup. Desktop mode is unchanged. CBitsandKeepBitsonBitmap: an image supplied as a colour-bit matrix
now renders.AutoConfandAttach: an object reconfigures when its parent resizes, with
each edge either pinned or proportional, andConfigure(31) is reported.PORTTRIES: whenPORTis busy, EWC moves up to the next free port (ten by
default, the way Vite steps from 5173), says which one it took, and leaves it
inEWC.PORT. SetEWC.PORTTRIES←1to insist onPORTand haveInit
signal an error instead. The Vite dev server can be aimed at a second server
with?aplPort=or?aplUrl=.test-apps/: EWC applications that the Playwright suite drives.multitest
joins the demo, with an extensive suite covering Multi mode.- Reference documentation is regenerated and deployed by an action, carries the
Dynamicflag per property, and links to the Dyalog 20.0 documentation.
Improved
- Mouse events report positions correctly, relative to the object that raised
them. - Event names are matched case-insensitively, as
⎕WCdoes. An application that
wrote'mousedown'was silently ignored before. Active 0greys out menus, menu items,ColorButtonandTrackbarrather
than being ignored. It is how applications disable a command.- A
Form'sCaptionsets the browser tab title. - Menu styling and layout refinements, including menu-bar items.
Edit: the cursor no longer jumps while typing into a field with restricted
input.∆DQ:eDQ '.'(dequeue every object) works again, and processing an event
for an existing ID no longer exits∆DQ.wss.aplclogs go through EWC's own logging, and its timeout handling is more
defensive.- Assorted layout and styling fixes across components.