Skip to content

Releases: ocsigen/js_of_ocaml

3.6.0

26 Apr 14:16
Compare
Choose a tag to compare

Features/Changes

  • Compiler: change compilation scheme for branches (#948)
  • Compiler: Introduce sub-command: link, build-runtime, build-fs (#987)
  • Compiler: embed javascript runtime in the compiler (#978)
  • Compiler: refactor javascript lexer/parser, add tests (#986)
  • Runtime: clean runtime for string vs bytes
  • Runtime: remove many old polyfill
  • Runtime: add unix_isatty
  • Runtime: optimize caml_call_gen (#996)
  • Runtime: change representation of int64 (#905)
  • Runtime: improve node.js backend for Sys.command (#979)
  • Runtime: add javascript runtime for Str (#998)
  • Lib: add closest method to element (#930)
  • Lib: add several methods and functions to Typed_array (#970)
  • Ppx: ppx_js behave better with merlin (#933)
  • Misc: Cleanup Meta files (e.g. js_of_ocaml.tyxml is no longer valid library name)
  • Misc: switch to ocamlformat.0.14

Bug fixes

  • Compiler: fix vardecl optim (#946)
  • Compiler: restore optimization when generating if statements
  • Compiler: fix javascript parser in the presence of line directives (#980)
  • Runtime: Catch nodejs errors and re-raise them as Sys_error
  • Runtime: fix caml_parse_sign_and_base and unsigned syntax
  • Runtime: fix caml_js_wrap_meth_callback_strict (#996)
  • Runtime: fix over-application of javascript callback (#996)
  • Runtime: fix partial-application of javascript callback (#996)
  • Runtime: fic caml_js_wrap_meth_callback_unsafe (#996)
  • Lib: Fix the type of blur and focus event to be focusEvent (#929)

3.5.2

14 Dec 06:22
Compare
Choose a tag to compare

CHANGES:

Features/Changes

  • Misc: support for ocaml 4.10
  • Misc: ppx_deriving_json uses ppxlib >= 0.9

Bug fixes

  • Runtime: fix pseudo fs initialization (#931)

3.5.1

17 Nov 01:12
Compare
Choose a tag to compare

CHANGES:

Features/Changes

Bug fixes

  • Runtime: fix poly compare with null and undefined (#920)
  • Lib: Deriving Json does not export an [import] unit
  • Dynlink/toplevel: export all units when no export file is specified (#921)
  • Ppx: ppx_deriving_json should allow [%to_json: t] syntax

3.5.0

10 Nov 13:45
Compare
Choose a tag to compare

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 for Lwt_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

25 Oct 08:50
Compare
Choose a tag to compare

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

25 Oct 08:48
Compare
Choose a tag to compare

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

25 Oct 08:48
Compare
Choose a tag to compare

Bug fixes

  • Misc: Fix the dependencies of the Lwt logger
  • Runtime: fix semantic of bigstring_destroy_stub

Version 3.2.0

25 Oct 08:48
Compare
Choose a tag to compare

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

25 Oct 08:47
Compare
Choose a tag to compare

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

  • Compiler: fix code generation of unary ops (missing space).
  • Compiler: fix static eval of conditions (fix #616)
  • Compiler: fix code generation for OCaml GPR#1568
  • Runtime: fix bug found using the closure compiler (#644)

Version 3.0.2

25 Oct 08:47
Compare
Choose a tag to compare

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