Skip to content

v1.9.0

Choose a tag to compare

@github-actions github-actions released this 18 Oct 14:30
· 6 commits to main since this release
Release v1.9.0

FEATURES
- In a browser: any crymble-ui app builds, unchanged, as a static web page - the same Crystal compiled to
  WebAssembly, drawing on an HTML canvas through a second backend that paints the desktop's pixels. No line of the
  app changes, nothing is compiled conditionally. bin/crymble-web, installed into your app's bin/ by
  `shards install`: `setup` (the toolchain, once; Linux x86_64), `build [TARGET|FILE.cr] [--release] [--local]`,
  `serve`. The result is a folder of static files; the app runs only in the visitor's tab. docs/WEB.md.
- WindowRenderer: the platform-neutral half of the window renderer. A host drives its loop with `start` + `tick`
  (the browser does); SFMLRenderer#run is unchanged.
- CrymbleUI.backend_notices: the lines an app's About should show for the backend it was built with (SFML on the
  desktop, the canvas in a browser) and the embedded font.

CHANGES
- Only a widget that paints the focus flash is flashed (Button, Checkbox; Widget#paints_focus_flash?): a focused
  grid, text input, combo box, tab or section header no longer redraws every 300 ms for nothing.

NOTES
- v1.8.0's release notes listed the three features and the change above, but v1.8.0 does not contain them - they
  ship with this release.
- Windows: the whole spec suite and the examples type-check for Windows; runtime behaviour on Windows is verified
  by CI on this release.
- The web flavour is tested in headless Chromium (pixel conformance against the desktop, browser smoke tests);
  Firefox and Safari not yet by hand.