1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142
|
CamlIDL 1.13:
-------------
* Include OPAM files in the sources, to support `opam pin` (#26)
* Honor `$(DESTDIR)` for the traditional, non-OPAM installation method (#28).
* Use `Val_unit` instead of 0 to initialize local roots, for compatibility
with OCaml 5 and OCaml 4 in no-page-table mode (#29)
CamlIDL 1.12:
-------------
* Always use modern, `caml_`-prefixed names for FFI functions, continued (#25)
* Support building with a bytecode-only compiler (#27)
CamlIDL 1.11:
-------------
* Fix regression in parsing of `[string]` attribute (#23).
CamlIDL 1.10:
-------------
* Add [bytes] attribute for char arrays and pointers,
mapped to OCaml's bytes type.
* Fix C type error with string parameters of unsigned char type.
* Fix C type error with in parameters of const array type (#9).
* Install HTML documentation in docs/ and serve it from
https://xavierleroy.org/camlidl/ (#20)
* Always use modern, caml_-prefixed names for FFI functions (#21, #22).
CamlIDL 1.09:
-------------
* Revert a problematic change of default configuration
(cpp -traditional instead of cpp)
CamlIDL 1.08:
-------------
* Update to OCaml 4.09 and up
* Support more IDL features: import lists, fixed-width integer types
(int8, int32, etc), MIDL-stlye nonencapsulated unions
(pull request #13, Philipp Gesang)
* Generate C code that respects CAML_NAME_SPACE
* The runtime library referenced a IID_IUnknown symbol that could
not be resolved under Unix (pull request #15, Github user ygrek)
CamlIDL 1.07:
-------------
* Update to OCaml 4.06 and up (issues #6 and #11).
* Auto-link the C runtime library from com.cma and com.cmxa (issue #8).
* Re-license the compiler under the LGPL v2.1 (instead of the QPL 1.0).
CamlIDL 1.06:
-------------
* Update to OCaml 4.03.
* Avoid name clash on Array module.
CamlIDL 1.05:
-------------
* Update to the new representation of objects introduced in OCaml 3.08.
* Fixed compiler failure with bigarrays of "const" elements.
* Fixed bug in conversion from C's signed char to Caml's char type.
* Function declarations support the [mlname] attribute (to set the
Caml name of the function) and the [blocking] attribute (for long-running
C functions).
* Fixed cpp preprocessing problem on MacOS X 10.2 and later.
* Fixed bug in conversion from a struct of floats to a Caml record of floats.
* Fixed incorrect initialization of DLL generated for a COM component.
CamlIDL 1.04:
-------------
* Fixed silly bug in abstract typedefs, introduced in 1.03.
* Strings, arrays and bigarrays are now non-NULL if "unique" is not specified,
even if the pointer default is "unique".
* "out" parameters dependent on "out" parameters are now removed from
the Caml view of a function.
* Removed spurious warning on the "mlname" attribute.
CamlIDL 1.03:
-------------
* Revised handling of integer constants, which can now be of Caml boxed int
types (int32, int64, nativeint).
* Dependent fields can now reference all variables that are in lexical scope,
e.g. struct { int n; struct { [size_is(x)] int * n; } s; }
* The C file generated from x.idl is now named x_stubs.c rather than x.c
to avoid a name clash on file x.o when compiling x.ml to native code.
* Added [finalize(fn)], [compare(fn)] and [hash(fn)] on abstract typedefs
to associate user-provided finalization, comparison or hashing functions
to typedefs.
* Fixed some oddities with the "const" qualifier.
CamlIDL 1.02:
-------------
* Added support for the "long long", "hyper int" and "__int64" types
(64-bit C integers)
* Added support for "const" modifier on pointer types
* Support for [unique] attribute on big arrays, turned into option types
in the Caml interface
* Generated C code should now compile cleanly with a C++ compiler
* Print source location for most warnings
* Error location was sometimes way off; this is now fixed
* Fixed incorrect code generated for the types HRESULT_int and HRESULT_bool
* Fixed refcount management bug causing early deallocation of interfaces
implemented in Caml.
CamlIDL 1.01:
-------------
* Added support for Caml boxed int types (int32, int64, nativeint)
and for big arrays (module Bigarray)
* Fixed bug in allocation of working space for out parameters
of array types.
* Disambiguation of record labels that belong to several struct types.
* Support for [unique] attribute on strings and arrays, turned into
option types in the Caml interface.
* Fixed bug with anonymous enum types (forgot to define the
corresponding translation table).
* Fixed bug with dependent parameters depending on out parameters
(these must not be omitted in the Caml function declaration).
* "in,out" parameters of type string or big array are now presented
as an "in,out" parameter of the Caml function and modified in place,
rather than presented as a parameter and a result.
* Added minimal support for COM dispatch interfaces.
* Fixed lack of initialization of ignored pointers for structs with
only one significant field.
* Relicensed under the QPL (for the compiler) and the LGPL (for
everything else).
CamlIDL 1.00:
-------------
First public release.
|