Skip to content

Latest commit

 

History

History
86 lines (59 loc) · 3.22 KB

CHANGES.md

File metadata and controls

86 lines (59 loc) · 3.22 KB

1.0.0

  • Minor improvements #154
  • Fortran bigarray layout by @crackcomm #145
  • Fix conversion of Vec<f32> by @gridbugs #144

1.0.0-beta.5

  • Implement ToValue for Box<T> by @fmckeogh #107
  • Refactor derive macros for FromValue and ToValue
  • Drop support for OCaml 4.07

1.0.0-beta.4

  • Added ocaml::function macro for calling OCaml values
  • Fix spelling in book by @fmckeogh in #98
  • Fixes no_std by @fmckeogh in #99
  • Feature gate panic hook by @fmckeogh in #100
  • Test no_std feature in CI by @fmckeogh in #101
  • Implement FromValue for Box<T> by @fmckeogh in #105

1.0.0-beta.2

  • Added Seq type

1.0.0-beta.1

  • Add ToValue/FromValue implementations for u32

1.0.0-beta.0

  • Removed IntoValue and added ToValue because it now accepts a reference to self
  • Custom types now have to be wrapped in a Pointer<T>
  • Added ocaml::import! macro for calling OCaml functions from Rust
  • Added ocaml::sig proc-macro for generating external and type signatures
  • Added ocaml-build crate for generating OCaml code from ocaml::sig macros and linking dune projects
  • Renamed Value::call to Value::call1 and rewrote Value::call to take a variable number of arguments
  • Added support for automatic conversion between OCaml Result.t and Rust Result
  • Renamed Value::float to Value::double and Value::float_val to Value::double_val
  • Added Value::alloc_double_array, Value::double_field and Value::store_double_field
  • Improved support for float arrays in ocaml-sys
  • Custom values have a new default finalize implementation that will drop the inner Rust value

0.22.4

  • Added Value::exn_to_string to convert OCaml exception values to their string representation
  • Added gc_minor, gc_major, gc_full_major and gc_compact functions for interacting with the OCaml garbage collector

0.22.3

  • Use latest ocaml-interop

0.22.2

  • Adds FromValue/ToValue for [u8]

0.22.1

  • Add no-caml-startup feature to allow ocaml-rs libraries to link correctly when using dune utop

0.22.0

  • Allow Value to hold boxroot or raw value
  • Add Raw::as_value and Raw::as_pointer

0.21.0

  • New Value implementation to use ocaml-boxroot-sys
    • Value no longer implements Copy
  • ocaml::Raw was added to wrap ocaml::sys::Value in macros
  • Update ocaml-interop version

0.20.1

  • Fix issue with OCaml runtime initialization: #59

0.20.0

  • Value methods marked as unsafe: the Value API is considered the "unsafe" API and ocaml-interop is the safer choice
  • ToValue renamed to IntoValue
  • All functions that cause OCaml allocations (including IntoValue::into_value) take a reference to ocaml::Runtime, which is provided by an implicit variable named gc when using ocaml-derive (the name of this variable is configurable: #[ocaml::func(my_gc_var)])