CHANGES:
- Update JS reserved keywords
(#1338) - Remove errors for
bs.*
and non-namespaced attributes
(#1348)- These attributes haven't been supported since Melange v4, and deprecated
before that - erroring on e.g. attributes like
@as
prevents e.g. universal libraries
that want to use PPXes supporting@as
with native semantics.
- These attributes haven't been supported since Melange v4, and deprecated
- remove
@mel.splice
error
(#1350)@mel.splice
has been removed in earlier Melange versions and it has
been producing errors for the last 2 versions. Since ecosystem libraries
have been keeping up to date with Melange versions, after this change, it
will be silently ignored.
- allow
@mel.as "constant"
and@mel.this
to coexist -- marking the constant
argument as the instance / self argument
(#1353) - JS generation: improve indentation of
new
blocks
(#1360) - JS generation: improve indentation of blocks with array/string/char accesses
(#1361) - runtime: improve the runtime for exceptions / extensible variants to account
for sharing extensions across contexts
(#1326)- This change moves the exception runtime from a global counter to a
counter per module. This impacts calls toPrintexc.exn_slot_id
and
Printexc.exn_slot_name
, which would previously return the global
identifier at exception creation, and will now return the module-local
runtime identifier.
- This change moves the exception runtime from a global counter to a
- build: fix Melange build on dune profiles other than
dev
/release
(#1365) - core, runtime: optimize throwing errors in Melange, fix re-throwing
regression and throwing JS values
(#1362) - runtime: add
Js.Fetch
module with types forfetch
in JS
(#1343) - runtime: add
Js.ReadableStream
module to unify around its type in community
libraries (#1344) - runtime: add
Js.WritableStream
(#1367)