Releases: ocsigen/js_of_ocaml
Releases · ocsigen/js_of_ocaml
3.5.1
3.5.0
CHANGES:
Features/Changes
- Compiler: Improve testing of the compiler (Ty Overby)
- Compiler: Add several macros for making the runtime easier to maintain (#771) (Ty Overby)
- Compiler: Allow to emit one javascript per compilation unit (#783)
- Compiler: refactoring (#781, #782, #787, #795, #802)
- Compiler: more source map location for the javascript runtime (#795)
- Compiler: tune variable naming (#838)
- Compiler: Work around num lib incompatibility
- Compiler: escape '</' in strings (#899)
- Compiler: speedup toplevel creation
- Runtime: support sharing when marshaling (#814)
- Runtime: add caml_obj_with_tag
- Runtime: support marshaling custom block
- Runtime: complete rewrite of bigarray
- Runtime: complete num implementation
- Runtime: add caml_ba_hash
- Runtime: rewrite polymorphic compare
- Ppx: switch ppx rewriter to the OCaml 4.08 ast
- Misc: Improve CI speed
- Misc: remove ppx_deriving dependency
- Misc: remove cppo dependency
- Misc: remove ppx_tools_versioned dependency in ppx_deriving_json
- Misc: support for ocaml 4.09
- Misc: switch to ocamlformat.0.12
- Misc: many more tests
- Misc: new jsoo_fs tool to embed files in a jsoo pseudo fs.
- Lib: Use expect tests
- Lib: Add support for 'addEventListener' with options (#807)
- Lib: Change api of [Lwt_js_events.async] (#862)
- Lib: Change api of responseText in xmlhttprequest (#863)
- Lib: add resizeObserver bindings
- Lib: Added support for custom events (#877)
- Lib: Added support for focus events (#885)
- Lib: Added
passive
option support forLwt_js_events
module - Lib: Added bindings for pointer events (#894)
Bug fixes
- Compiler: don't generate source if no-source-map passed (#780)
- Compiler: Fix compilation of [Array.set] to return [unit]/0 (#792)
- Compiler: Fix assertion failure (#828)
- Compiler: Fix compilation of exception handlers (#830)
- Compiler: Fix static evaluation of caml_equal (#906)
- Misc: Fix install on windows (#794)
- Lib: Fix Dom_svg.createForeignObject (#756)
- Runtime: Fix caml_obj_tag, causing miscompilation with lazy value (#772)
- Runtime: Fix caml_ml_seek_out, caml_ml_pos_out (#779) (Shachar Itzhaky)
- Runtime: caml_parse_sign_and_base to support unsigned syntax (#792) (Shachar Itzhaky)
- Runtime: fix encoding when printing to stdout (#800)
- Runtime: Handle browserfs in fs_node detection logic (#831)
- Runtime: fix Obj.tag (#832)
- Runtime: fix marshalling of custom blocks (#861)
- Runtime: fix frexp
- Runtime: fix float printing with "%f" and large floats
Version 3.4.0
Features/Changes
- Compiler: Support reproducible builds by using BUILD_PATH_PREFIX_MAP
- Compiler: Remove support for ocaml < 4.02.3
- Compiler: use paths from debug info when looking to looking cmis to embed
- Compiler: refactoring, renaming
- Compiler: make float literals look like float (#767)
- Misc: use ocamlformat
- Misc: dunify the build of the toplevel
- Misc: support for OCaml 4.08
- Lib: wrap js_of_ocaml-lwt, js_of_ocaml-tyxml, js_of_ocaml-toplevel, js_of_ocaml-compiler
- Runtime: don't use deprecated [new Buffer] on nodejs (#726)
Bug fixes
- Compiler: fix compilation of empty cma
- Compiler: fix js parser with keyword as ident
- Compiler, Runtime: make --setenv work with Sys.getenv_opt
- Compiler: fix miscompilation of Obj.is_int with a match expression
- Compiler: fix quadratic behaviour in findlib.ml
- Compiler: prevent addition with a positively-signed number from being coalesced… (#764)
- Compiler: Fix: static eval of String.get (#770)
- Runtime: make obj_dup work on string/bytes
- Runtime: fix bad hash function on int64
- Runtime: avoid redundant conversion to string in fs_fake.js
Version 3.3.0
Features/Changes
- Toplevel: [--toplevel] is now taken account when compilig cmo and cma.
- Lib: make [Js.Unsafe.any] be [Js.Unsafe.top Js.t]
- Lib: Improve generation of dummy stubs (#700)
- Lib: Deprecate non namespaced module access
- Lib: Upgrade to Tyxml 4.3.0
- Misc: switch to dune
- Misc: remove camlp4 support
Bug fixes
- Toplevel: Fix dynlink of precompiled javascript files.
- Lib: Fix encoding in Sys.set_channel_flusher (fix #686)
- Runtime: fix the type of dataTransfer##.types
- Runtime: add dummy implementation for caml_restore_raw_backtrace
Version 3.2.1
Bug fixes
- Misc: Fix the dependencies of the Lwt logger
- Runtime: fix semantic of bigstring_destroy_stub
Version 3.2.0
Features/Changes
- Runime: improve stacktraces.
- Ppx: ppx uses the OCaml 4.06 ast.
- Misc: support for OCaml 4.07
- Misc: start leveraging safe-string.
- Lib: add support for Internationalization API.
- Lib: Added media events support.
Bug fixes
- Runtime: int_of_string accepts leading '+'
- Runtime: fix polymorphic & hash compare on custom non-ocaml values.
- Runtime: fix string encoding when writing to channels.
- Runtime: improve mode js detection wrt filesystem.
Version 3.1.0
Features/Changes
- Lib: add missing File.blob constructor (fix #630)
- Runtime: hash support for custom blocks
- Runtime: weak.js loaded by default
- Compiler: compile an OCaml program into a named javascript function (fix #599)
- Misc: move ppx_deriving_json in its own opam package (Rudi Grinberg)
- Compiler: static eval of float negation
- Compiler: improve constant sharing.
- Ppx: add support for writeonly_prop and optdef_prop in object literal.
Bug fixes
Version 3.0.2
Features/Changes
- Runtime: support for latest core_kernel
Bug fixes
- Runtime: fix sys_chdir
- Runtime: fix fs support on windows
- Ppx: fix ppx_deriving_json for ocaml 4.05
Version 3.0.1
Features/Changes
- Lib: add Jstable.remove (Cedric Cellier)
- Build: use recent version of jbuilder (># 1.0+beta12)
Bug fixes
- Runtime: fix Sys.file_exists for the in-memory filesystem.
- Runtime: implement missing primitives: caml_nativeint_bswap, caml_floatarray_*,
caml_ba_change_layout - Runtime: few other bugfixes.
- Compiler: fix compat with OCaml 4.06
Js_of_ocaml version 3.0.0
Version 3.0.0
Features/Changes
- Misc: switch to ppx instead of camlp4
- Misc: always install deriving_json
- Misc: remove support for async_kernel, bin_prot
- Misc: remove support for ppx_driver
- Misc: split js_of_ocaml in multiple packages
- Misc: switch to jbuilder
- Misc: new pseudo filesystem support with better node support
- Compiler: sourcemap support is now optional
- Compiler: no more strong dep on yojson, b64, menhir, ocamllex
- Compiler: improve separate compilation workflow
- Runtime: add support for weakdef
- Syntaxes: add expect tests
- Syntaxes: switch to ocaml-migrate-parsetree and ppx_tools_versioned
- Lib: Add primitives in [Js.Unsafe]
- Lib: remove keycode module, replaced by Dom_html.Keyboard_code
- Lib: XmlHttpRequest, API change for perform functions.
Bug fixes:
- Runtime: fix many stubs
- Lib: fix many signatures
- Compiler: fix performance of compilation passes (simpl,clean)
- Compiler: fix compat with OCaml 4.06
- Toplevel: flush channels after execution.
- Toplevel: fix toplevel generation when using -export-unit