Skip to content

Releases: ocsigen/ts2ocaml

1.4.1

11 Mar 08:10
f7016fb
Compare
Choose a tag to compare
  • Fix a bug which prevented ts2ocaml from working on Windows environment.

1.4.0

04 Mar 09:53
fb8c1ac
Compare
Choose a tag to compare
  • Upgrade js_of_ocaml to 4.0 and dune to 3.0.
  • Perform massive refactoring on the generated bindings (breaking changes).
    • Anonymous interface modules are now generated in the module where they are actually used.
    • Changed the representation of untagged union types and intersection types to make it easier to use.
      • ('a, 'b) and_ and ('a, 'b) or_ types are removed in this change.
    • Union types appearing as argument of function are now emitted in a simpler form: [`U1 of t1 | `U2 of t2 | .. ] [@js.union].
      • Now you don't have to do Union.inject_n on function arguments.
    • Union of primitive types are now represented as [...] Primitive.t.
      • Use Primitive.classify function to convert it to a polymorphic variant, on which you can match directly.
      • 'a or_XXX types are removed in this change.
  • Ts2ocaml now emits builder function [@js.builder] for POJO interfaces.
  • Add an option --readable-names to try to use more readable names instead of AnonymousInterfaceN.
  • Fix a bug which prevented ts2ocaml from generating class constructors if not defined explicitly.

1.4.0-beta.6

24 Feb 07:56
01055d9
Compare
Choose a tag to compare
1.4.0-beta.6 Pre-release
Pre-release
  • Upgraded js_of_ocaml to 4.0 and dune to 3.0.

1.4.0-beta.5

14 Feb 11:15
b9ae213
Compare
Choose a tag to compare
1.4.0-beta.5 Pre-release
Pre-release
  • Changed the representation of untagged union types and intersection types to make it easier to use.
    • ('a, 'b) and_ and ('a, 'b) or_ types are removed in this change.
    • This is a breaking change.
  • Union types appearing as argument of function are now emitted in a simpler form: [`U1 of t1 | `U2 of t2 | .. ] [@js.union].
    • Now you don't have to do Union.inject_n on function arguments.
    • This is a breaking change.
  • Union of primitive types are now represented as [...] Primitive.t.
    • Use Primitive.classify function to convert it to a polymorphic variant, on which you can match directly.
    • 'a or_XXX types are removed in this change.
    • This is a breaking change.

1.4.0-beta.4

21 Jan 07:56
d23072f
Compare
Choose a tag to compare
1.4.0-beta.4 Pre-release
Pre-release
  • Ts2ocaml now emits builder function [@js.builder] for POJO interfaces.

1.4.0-beta.3

17 Jan 12:58
b42eebd
Compare
Choose a tag to compare
1.4.0-beta.3 Pre-release
Pre-release
  • Add option --human-readable-anonymous-interface-names (or --readable-names) to try to use more readable names instead of AnonymousInterfaceN.

1.4.0-beta.2

17 Jan 09:36
f3664a4
Compare
Choose a tag to compare
1.4.0-beta.2 Pre-release
Pre-release
  • Fix a bug which prevented ts2ocaml from generating anonymous interfaces when used with --simplify=named-interface-value

1.4.0-beta.1

12 Jan 05:09
46c5162
Compare
Choose a tag to compare
1.4.0-beta.1 Pre-release
Pre-release

Pre-released because more changes and improvements are planned to be included in 1.4.0.

  • Fix a bug which prevented ts2ocaml from generating classes without default constructors.

1.4.0-beta.0

11 Jan 12:08
ff40950
Compare
Choose a tag to compare
1.4.0-beta.0 Pre-release
Pre-release

Pre-released because more changes and improvements are planned to be included in 1.4.0.

  • Perform massive internal refactoring.
  • Anonymous interface modules are now generated in the module where they are actually used.
    • This is a breaking change.
  • Fix a bug which prevented ts2ocaml from generating class constructors if not defined explicitly.

1.3.1

24 Dec 09:27
471d614
Compare
Choose a tag to compare
  • Fix a bug which prevented ts2ocaml from handling enum types without explicit values.
  • Fix a bug which prevented ts2ocaml from parsing package.json correctly.