Permalink
Fetching contributors…
Cannot retrieve contributors at this time
488 lines (406 sloc) 17.1 KB
===== 3.0.0 (2017-06-23) - Hong Kong =====
* 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
===== 2.8.4 (2016-12-21) =====
* Features/Changes
** Compiler: new jsoo_link binary to link multiple javascript files
together and merging sourcemaps.
** Toplevel: improve genaration of toplevels, one can now pass a
an export file containing units to export. (see jsoo_listunits)
** Lib: Provide a Js_of_ocaml (namespace) module to ease transition
with future version of js_of_ocaml
* Bug fixes
** Compiler: fix separate compilation when facing empty unit inside a library
** Runtime: fix many javascript stubs
** Syntac: fix ppx deriving json
===== 2.8.3 (2016-11-04) =====
* Features/Changes
** Runtime: complete support for 4.04
* Bug fixes
** Compiler: fix order of javascript files
** Compiler: fix Javascript lexer (newline inside strings)
** Compiler: fix bug in closure generation
** Compiler: fix regression in closure generation (introduced in 2.8) (#531)
** Compiler: fix code generation when static evaluation is disabled
===== 2.8.2 (2016-09-10) =====
* Features/Changes
** Lib: add Dom_html.Keyboard_code & Dom_html.Keyboard_key (Corwin de Boor)
** Misc: update lib and runtime to work better with non browser environment
** Misc: initial support for 4.04
* Bug fixes
** Compiler: fix js output for x - -1
** Compiler: fix parsing of annotations in the runtime
** Compiler: fix javascript minifier
** Compiler: various fixes for separate compilation.
===== 2.8.1 (2016-07-01) =====
* Features/Changes
** Compiler: reduce memory usage for shortvar
** Lib: Add optional `prefix` arg to Jsonp.call
** Ppx: add ppx_driver compatibility
* Bug fixes
** Lib: fix Js.object_keys, Js.export
** Lib: Async, do not ignore unhandled exceptions
===== 2.8 (2016-06-16) =====
* Features/Changes
** Compiler: allow dynlink of precompiled javascript file
** Compiler: Improve tailcall optimization
** Compiler: Improve pretty mode
** Compiler: More inlining and static evaluation
** Compiler: Better source map support, to leverage resolve_variable_names
in chrome DevTools
** Compiler: preserve as much as possible the initial OCaml variable names
** Lib: synchronize with tyxml 4.0.0
** Lib: convert string/bigstring to/from typed_array
** Lib: add Tyxml_js.Register API.
** Lib: Support for Core_kernel and Async_kernel (32bit only).
** Lib: Mutation observer.
** Runtime: bigstring, caml_int32_bits_of_float, ..
** Runtime: better nodejs integration
* Misc
** Support for OCaml 4.03
** Toplevel with ppx syntax
* Bug fixes
** Compiler: Fix float printing
** Compiler: fix separate compilation
===== 2.7 (2016-01-25) =====
* Features/Changes
** Syntax: ppx_deriving
** Compiler: Add custom_header ability to jsoo generate file (Edgar Aroutiounian)
** Compiler: Bytecode parsing, improved performance
** Lib: add geolocation API (Stéphane Legrand)
** Lib: add Mutation observers API (Stéphane Legrand)
** Lib: add Jstable module (Drup)
** Lib: add WebWorker API (Grégoire Henry)
** Lib: Allow to customize 'in_channel' with specific 'refiller' (Grégoire Henry)
** Lib: Synchronized tyxml 3.6.0
* BugFixes
** Compiler: Fix compilation of the [match with exception] construct
** Compiler: fix compat with the upcoming ocaml 4.03
** Lib: Tyxml_js, discrepancy between Firefox and Chromium
** Lib: various small fixes
** Runtime: Fix Big_int.square_big_int
** Runtime: graphics, fix draw_image with transparent pixel
** Ppx: fix for merlin
===== 2.6 (2015-07-15) =====
* Features/Changes
** Compiler: Findlib is optional
** Compiler: improvement of sourcemap support (ie: inlinned sourcemap)
** Compiler: Support for separate compilation (compile cm{o,a} -> js)
** Compiler: more inlining
** Syntax: new ppx syntax
** Syntax: js object literal (camlp4 + ppx)
** Runtime: support for Dynlink
** Runtime: Support for upcomming release of Bin_prot, Core_kernel, Async_kernel
** Lib: add requestAnimationFrame
** Lib: complete Js.Math
** Lib: complete xmlHttpRequest
* Misc
** Drop support for 3.12
* BugFixes
** Runtime: Fix caml_hash
** Lib: fix tyxml + svg
** Lib: various Api fixes
===== 2.5 (2014-09-30) =====
* Features/Changes
** Compiler: SourceMap improvement
** Compiler: remove registration of unused named value (wrt runtime)
** Compiler: Smarter inlining, Constant sharing, Switch generation
** Lib: Dom binding: *AttributeNS, *AttributeNode*, borderRadius
** Runtime: improve performence of string, array allocation
* Misc: enable safestring for OCaml 4.02
* Commandline: switch to Cmdliner. Better -help + manpage
* BugFixes
** Compiler: workaround a bug in ocaml 4.02 wrt debug section.
** Compiler: bug when generating minified JavaScript.
** Runtime: fix Obj.tag
** Runtime: fix internalmod wrt ocaml4.02
===== 2.4.1 (2014-08-28) =====
* BugFixes
** Compiler: restore compatibility with ocaml 4.02
** Runtime: fix caml_hash, Math.imul may give wrong results (#215)
** Lib: Graphics_js, update text drawing baseline
** Lib: Fix overuse of FormData in XmlHttpRequest (Tomohiro Matsuyama #214)
===== 2.4 (2014-08-08) =====
* Features/Changes
** Runtime: support for num (Ryan Goulden)
** Lib: initial support for Dom_svg
** Lib: introduce Jsonp module
** Lib: introduce JSON object binding
** Lib: introduce DomContentLoaded
** lib: introduce eventSource
** Lib: introduce js_of_ocaml.toplevel package
** Lib: various improvement: textContent,outerHTML,unload event,css properties
** Lib: complete binding of Js.array
** Lib: change signature of Sys_js.register_autoload
** Lib: sync js_of_ocaml.tyxml with latest tyxml
** Tools: helpers to build toplevel: jsoo_mktop, jsoo_mkcmis
* BugFixes
** Compiler: generate js files with default permission, was 0o600
(#182) (Daniel Bünzli)
** Syntax: fix typing of method arguments
** Runtime: fix behaviour of Sys.argv (Tomohiro Matsuyama)
** Runtime: fix caml_js_meth_call
** Compiler: fix assert false when deadcode is off
** Compiler: fix compilation of Js.debugger
===== 2.3 (2014-06-30) =====
* Features/Changes
** Lib: remove deprecated Event_arrow
** Lib: introduce js_of_ocaml.tyxml
** Lib: introduce js_of_ocaml.weak (that loads weak.js)
and remove predicate joo_weak
** Lib: introduce js_of_ocaml.log (Lwt logger)
** Lib: Dom_html.{range,selection} (Enguerrand Decorne)
* BugFixes
** Compiler: fix traduction of Ult binop (#177)
** Compiler: fix the build of compiler.{cmxs,cma} (Stéphane Glondu)
** Compiler: fix traduction of logical shift right
** Runtime: fix marshaling (#176)
** Meta: update predicates (joo_* -> jsoo_*)
** Lib: fix class type Dom_html.optionElement
===== 2.2 (2014-05-15) =====
* Features/Changes
** Runtime: improve blit_string perf
** Compiler: option to warn about unused js variable
** Lib: audio/videoElement
* BugFixes
** Syntax: catch exception in syntax extension (#158)
** Compiler: compat with Node.js (global object) (#160)
** Runtime: fix graphics.js
** Lib: fix Dom.event interface
===== 2.1 (2014-04-28) =====
* Features/Changes
** Runtime: bigarray comparison
** Compiler: allow to embed directory with -file dir_name=ext1,ext2:dest_path
** Compiler: can now output embedded files in a differant js file
** Lib: js_of_ocaml.graphics
** Lib: Js.Unsafe.expr to embed JavasScript expression
to be used instead of Js.Unsafe.variable (or eval_string)
** Lib: Sys_js.js_of_ocaml_version && Sys_js.file_content
** OCamlbuild plugin: Add the OASIS support, document the API and add the tags
sourcemap (included in the meta-tag debug) and tailcall (#148)
(by Jacques-Pascal Deplaix)
* BugFixes
** Syntax: Better type constraint (#84)
** Compiler: caml_failwith primitive was sometime missing (#147)
** Compiler: variable names used outside a program were
not marked as reserved (#146)
** Lib: fix WebGl interface
===== 2.0 (2014-04-11) =====
* Features/Changes
** Compiler: generate shorter variable names
** Parsing and minifying of external javascript file (ie: runtime)
(by Hugo Heuzard)
** Compiler: JavaScript strict mode enabled
** Runtime: add support for recursive module (by Hugo Heuzard)
** Compiler: use trampoline to implement tailcall optim (by Hugo Heuzard)
** Improved OCaml toplevel UI (by Hugo Heuzard)
** Toplevel: support dynamic loading of cmo and cma files
** Runtime: add Bigarray support (contributed by Andrew Ray)
** Library: switch from "float Js.t" to just "float" for typing
JavaScript numbers
** Compiler: Add javascript file lookup using findlib
(+mypkg/myfile.js will read myfile.js from mypkg findlib directory)
(by Hugo Heuzard)
** Compiler: improve missing primitives & reserved name detection
(by Hugo Heuzard)
** Compiler: static evaluation of constant ("staticeval" optimisation)
(by Hugo Heuzard)
** Compiler: share constants (by Hugo Heuzard)
** Compiler: alias primitives (by Hugo Heuzard)
** Compiler: complete javacript ast (by Hugo Heuzard)
** Compiler: 'caml_format_int %d x' compiles to ""+x (by Hugo Heuzard)
** Add JavaScript file in META (to be used with ocamlfind)
(by Hugo Heuzard)
** Add Ocamlbuild plugin js_of_ocaml.ocamlbuild
(by Jacques-Pascal Deplaix)
** Add/Install classlist.js, weak.js
** Add Url.Current.protocol (by Vicent Balat)
** Dependency: deriving instead of deriving-ocsigen
** Runtime: log wrong string encoding issues to the console (by Hugo Heuzard)
** Add compiler_libs (by Pierre Chambart)
** Compile syntax extension to native code as well (by Hugo Heuzard)
** Add a JavaScript parser (extracted from facebook/pfff)
** Compiler: remove redundant 'var' (by Hugo Heuzard)
** Compiler: improve compact mode, remove unnecessary space, semicolon
** Runtime: Support in_channel and out_channel (by Hugo Heuzard)
** Compiler: option to embed files into the generated js
such files can be read using open_in (by Hugo Heuzard)
** Runtime: add cache for method lookup (by Hugo Heuzard)
** Compiler: experimental sourcemap support (by Hugo Heuzard)
** JavaScript Errors are now wrapped inside OCaml exceptions (by Hugo Heuzard)
* BugFixes
** Compiler: js file is not create in case of error (by Hugo Heuzard)
** Fix compatibility when using type covn (by Hugo Heuzard)
** Fix md5 : incorrect for string where (length % 64) E 56..59 (by Grégoire Henry)
** Fix caml_js_new: when called with more than 8 arguments
** Address a number of integer overflow issues (by Hugo Heuzard)
** Fix float comparisons (NaN was not compared correctly)
===== 1.4 (2013-12-03) =====
* Features/Changes
** Add missing primitives for OCaml 4.01
** Improved Dom bindings (Hugo Heuzard and many other contributors)
** Add -linkall option to keep all provided primitives (Pierre Chambard)
** Improved tail-call optimization (Hugo Heuzard)
** Added optimization levels: -o {1,2,3} (Hugo Heuzard)
* Bugfixes
** Fixed some incorrect Dom bindings
** Fixed hypot primitive (Pierre Chambard)
** Fixed tail call optimization bug (some incorrect code was
generated when the number of arguments did not match the number of
function parameters)
** Fixed a bug with empty strings
** Fixed weak.js (primitives for Weak module)
===== 1.3 (2012-11-28) =====
* Features/Changes
** Runtime and toplevel updates to support OCaml 4.0
** Add WebSocket bindings
** Added -debuginfo option to output source code location information
(patch by Kensuke Matsuzaki)
** Dom_html: added change, input and hashChange event bindings
** Adding Lwt_js_events.async_loop and buffered_loop
* Bugfixes
** Fix array and string blitting with overlapping regions
** Url module: fix encoding of '+'
** Library: use 'this' instead of 'window' for better portability
** Dom_html: fix creation of elements with type or name attribute
under IE 9
** Compiler: small fix to bytecode parsing that could result in
incorrect generated code
** Dom_html: fix mouse wheel event bindings
** Dom: fix the type of item methods
** Deriving_json: tail-recursive serialisation of lists (by Hugo Heuzard)
** Deriving_json: fix parsing of float arrays and polymorphic variants
(by Hugo Heuzard)
===== 1.2 (2012-06-02) =====
* Bugfixes
** Fix #284
** Fix return type of window##open_
* Features/Changes
** Improvements in the data-flow solver
** Add Dom_html.window##onscroll
** Dom_events.listen: handler should return boolean
** Add DOM drag/drop events
===== 1.1.1 (2012-03-15) =====
* Bugfixes:
** Url parsing.
** webgl binding types
* webgl example
===== 1.1 (2012-02-24) =====
* Libraries:
** Lots of new dom bindings
** WebGL
** Typed arrays
** Many speed improvement (marshal, strings, regexps)
** Many bug fixed
* Compiler:
** Add -I option to select directories containing cmi files
** Fix compilation of mutually recursive functions occurring in loops
** In Javascript output, parenthesize numbers when followed by a dot
** Fix order of evaluation bug
** Fix compilation of loops in 'try ... with' body (close #263)
* hyperbolic tree example
===== 1.0.9 (2011-11-30) =====
* Bugfixe in polymorphic comparison.
===== 1.0.8 (2011-11-25) =====
* Compatibility with deriving-0.3
* Libraries:
** Adding Event_arrows.iter
** Events: adding Dom_html.stopPropagation and ?propagate parameter in Event_arrows
===== 1.0.7 (2011-11-18) =====
* Bugfixes:
** Deriving_json: fix string (un)marshaling (was broken for byte > 127)
** Do not emit string escape sequence \\v (not supported by IE8)
** Removed incorrect optimization of !(x < y) into (x >= y)
** Allow compilation on win32/msvc
** Open all files in binary mode
* Libraries:
** Add Dom_html.buttonPressed
** Add functions to downcast Dom_html.event into mouseEvent, keyboardEvent, ...
** Add Dom.document.adoptNode
** removed Date.now() function, not supported by all browsers
** Allow to test the button associated to a Dom_html.mouseEvent
** Add localStorage and sessionStorage api
===== 1.0.6 (2011-09-28) =====
* Bugfixes:
** browser compatility for Regexp.search and check_headers (XmlHttpRequest.send).
* Libraries:
** add Dom_html.iFrameEliom##width
** add Dom_html.window##scroll
** add Dom.document##importNode
===== 1.0.5 (2011-09-21) =====
* Bugfixes:
** array_get/set bound check
* Libraries:
** XmlHttpRequest: allow to cancel ta XHR after receiving the HTTP headers
** Added the [CSS.Angle] module to handle angles in CSS
===== 1.0.4 (2011-09-07) =====
* Bugfixes:
** fix typo in 'greater than or equal to'
** marshaling, unmarshaling and comparison
are not recursive anymore: avoid stack overflow
** use custom formatter to pretty print Javascript
code to avoid newlines where it is forbidden.
** fix type of Dom.nodeList.item (was optdef, is now opt)
** fixes for internet explorer.
** fixes for bug exposed by Berke Durak's tool jsure.
* Libraries:
** History API
** improvements of CSS module
** Add coercion and attribute manipulation functions in Dom module
===== 1.0.3 (2011-07-13) =====
* Bugfixes:
** 'caml_int_of_string' was incorrect for negative number
** Fixed misparenthesized Javascript 'new' expressions
* Libraries:
** Add a CSS module
** export Form.form_elements
** add onsubmit method to Dom_html.formElement
** add classList property to dom elements
===== 1.0.2 (2011-04-13) =====
* Bugfixes:
** fix compilation of Int32/Nativeint
** fix compilation of self-recursive functions in loops
** fix to File module for when there is no FileReader class in the host browser
** fixed big in weak support
* Compiler:
** Switch licence to LGPL
** API to generate a function instead of a standalone program
** option to compile an OCaml toplevel
* Libraries:
** Add an optional JSON deriving class
** Add Math.random binding
** Add scrollWidth/scrollHeight element methods to the DOM
** Add coercion function Dom_html.CoerceTo.element
** Renaming functions in XmlHttpRequest:
*** send -> perform
*** send_string -> perform_raw_url
===== 1.0.1 (2011-01-26) =====
* Bugfixes:
** conversion of Int64 to string.
** typos.
* Allow use of Lwt.pause.
* Split ocamlfind packages in two: syntax and library.
===== 1.0 (2010-12-13) =====
Initial release