π 1.13.0
See the new website.
π± LynxJS support
Alpha support for LynxJS.
β¨ Special thanks
β¨ Highlights
- Native mobile backend.
misocan now target iOS/Android by driving the Lynx dual-thread runtime instead of the browser DOM β newMiso.Nativemodule tree, gated behind-fnative. Seesample-app-nativefor a worked example. This is still considered in alpha / beta. - App-global
context. miso's analogue of React Context β one value shared by everyComponent, seeded viastartAppWithContext, read viagetContext/view, updated viamodifyContext/putContext. Miso.Cookieβ Cookie Store API bindings (cookieGet,cookieSet,cookieDelete,cookieChangeSub, β¦).canvasSubβ drives a<canvas>in a tightrequestAnimationFrameloop outside the VDOM diff cycle.Miso.Traceβ a browser-consoleDebug.Traceanalogue (trace,traceShow,traceWarn*,traceError*, β¦) for pure code.- Synchronous
Miso.Fetchvariants (getJSON_,postJSON_, β¦) plus cross-thread effectsrunOnBG/runOnMainfor the native runtime. - Static components β
mountStatic/vcompsurvive the dual-thread boundary viaStaticPtr. - New cabal flags:
-faeson(defineMiso.JSONin terms ofData.Aeson) and-ftext(useData.TextforMisoStringon WASM). β οΈ Breaking:View/Attributegained type parameters,Subgained amodelparameter,Miso.Bindingandparent/ROOTwere removed in favor ofcontext,Miso.Types.keyedwas removed,autocomplete_now takesMisoString. See the changelog for full migration notes.- Perf: eager
JSValfreeing on WASM (GC pause reduction),StableNamedirty-checking extended tocontext/props, direct main-thread event dispatch. - Many other fixes below, etc.
What's Changed
- fix: Make
MisoStringtakeandlengthfunctions consistent withData.Textby @Zer0- in #1552 - feat: Add
CookieStoreAPI support by @dmjio in #1551 - fix: Ensure
-fssrcompiles with native build by @dmjio in #1553 - docs: note that
scriptsandstylesare for development mode only by @dmjio in #1555 - feat: add Lynx thread detection (
onBTS/onMTS) by @dmjio in #1556 - docs: clarify props documentation in Miso.hs by @dmjio in #1557
- feat: Add synchronous API variants to Miso.Fetch by @dmjio in #1554
perf: Cache thread environment (mts/bts/web) by @dmjio in #1558docs: note that stable keys preserveDOMRefby @dmjio in #1559- Add await to miso DSL by @Zer0- in #1560
- Fix Miso.Fetch FFI tests: replace httpbin.org with local CORS echo server by @dmjio with @Copilot in #1561
- Add
ReactContext. ParameterizesComponentoncontext. by @dmjio in #1563 - fix: Derive
ExceptionforJSException. by @dmjio in #1564 - ci: Build
exe:component-testsin CI. by @dmjio in #1565 - feat: Add read-only
contextaccess withinEffectby @dmjio in #1566 - fix: drop dead code related to
SSR. by @dmjio in #1567 - feat: Generalise
Miso.Util.Parser.endOfInputby @ners in #1571 - ci: build and cache
ghcNativeghc by @dmjio in #1572 - fix: autocomplete, autocorrect, spellcheck attributes by @ners in #1575
- fix: remove redundant import by @ners in #1576
- feat: upstream
miso-lynxintomisoasMiso.Native(dual-thread) by @dmjio in #1562 - [native] isolate bundle provenance and add a conformance fixture by @Huxpro in #1577
- docs: warn against
startApp/miso/prerenderunder the native flag by @dmjio in #1587 - fix: runtime listener/doc/type cleanups from pre-1.13 review by @dmjio in #1588
- fix: reset pendingStaticKey/pendingMainThread before plain On handlers by @dmjio in #1589
- fix: gate key-based model recovery on
liveModeby @dmjio in #1590 - refactor: drop unused
ToJSON/FromJSONcontext constraints by @dmjio in #1591 - fix: error on missing
domRefinMOUNTinstead of synthesizing a fake parent node by @dmjio in #1592 - docs: add
VCompStatichaddock section by @dmjio in #1593 - perf: dispatch main-thread events directly, no scratch-node/JS round-trip by @dmjio in #1594
- feat: add
misoWithContext/prerenderWithContext(context-seeding hydration entry points) by @dmjio in #1595 - fix: Incorporate
cancelAnimationFrameintorAFSubby @dmjio in #1596 - perf: extend
StableNamedirty-checking tocontextandpropsby @dmjio in #1597 - chore: prepare
1.13.0.0release by @dmjio in #1599 - docs: fix
t'namespace prefixes that Haddock renders as literal text by @dmjio in #1600 - Drop
Miso.String.QQby @dmjio in #1601 - feat: Add
-faesoncabal flag: defineMiso.JSONin terms ofData.Aesonby @dmjio in #1602 - Document
Miso.String.QQremoval andaesonflag in 1.13 changelog by @dmjio in #1603 - feat: Eagerly free short-lived
JSValhandles in the WASM runtime by @dmjio in #1605 - fix: register non-bubbling media events in the capture phase by @dmjio in #1609
- docs: move VCompStatic section under VComp, link both like VNode by @dmjio in #1607
- fix: no-op
cookieStorechange listener whenCookieStoreAPI is unavailable by @dmjio in #1608 - Document #1605, #1608, #1609 in the 1.13 changelog by @dmjio in #1610
- feat: add Miso.Trace by @ners in #1606
- docs: document Miso.Trace in the 1.13 changelog by @dmjio in #1611
- native: fix
consumeSlideEvent_shape; bind the layout event's real name by @dmjio in #1612 - feat: Parameterize
Subbymodel, addcanvasSubby @dmjio in #1613 - wasm: add
text/aesoncabal-flag support and CI coverage by @dmjio in #1614 - docs: document #1612 native fixes in the 1.13 changelog by @dmjio in #1615
- fix:
nextSiblingparity onmts/bts. by @dmjio in #1616 - fix:
fetchCoreno longer double-fires the success callback when responseType is"none"by @dmjio in #1617 - fix: native
removeAttributeactually removes the attribute by @dmjio in #1619 - fix: register
mouseleave/pointerleavelisteners in the capture phase by @dmjio in #1621 - docs: fix
vcompmisused as acomponentsynonym in Miso.hs examples by @dmjio in #1623 - fix: make
MisoStringdrop code-point-aware on WASM, matchingtake/lengthby @dmjio in #1624 - fix:
parseInt(-ftext) mis-parses negative hex, e.g. "-0x1A" as 0 by @dmjio in #1622 - docs: add changelog entries for recently merged fixes by @dmjio in #1626
- fix: native BTS
insertBeforecrashes when the anchor is null by @dmjio in #1628 - Fall back to Date.now() when performance is unavailable by @nanofuxion in #1627
- fix: native decoder/method wire-shape and default-value bugs by @dmjio in #1625
- fix:
freeLifecycleHooksreadsmount/unmountoff the wrongVTreeobject by @dmjio in #1629 - fix: native virtualization state leaked on nested removal by @dmjio in #1631
- fix:
eventJSONcrashes when a decoder path resolves tonull/undefinedby @dmjio in #1630
New Contributors
- @Huxpro made their first contribution in #1577
- @nanofuxion made their first contribution in #1627
Full Changelog: 1.12.0...1.13.0