Skip to content

Latest commit

 

History

History
227 lines (149 loc) · 4.96 KB

NEWS.md

File metadata and controls

227 lines (149 loc) · 4.96 KB

Changes by Version

Unreleased

0.9.3 - 2016-12-10

Added

  • Hash::clear() (#47)
  • Hash::delete() (#47)
  • Clone for Hash (#47)
  • Default for Array
  • Default for NilClass
  • Default for Hash
  • RString::to_str()
  • RString::to_str_unchecked()

0.9.2 - 2016-12-10

Added

  • Thread class
  • Thread::new()
  • Thread::wait_fd() (Unix-like systems)

Deprecated

  • VM::thread_call_without_gvl() in favor of Thread::call_without_gvl()
  • VM::thread_call_without_gvl2() in favor of Thread::call_without_gvl2()
  • VM::thread_call_with_gvl() in favor of Thread::call_with_gvl()

0.9.1 - 2016-11-03

Added

  • Float class (#46)
  • Array::with_capacity()
  • Class::const_get()
  • Class::const_set()
  • Object::is_frozen()
  • Object::freeze()
  • VM::is_block_given()
  • Optional block for marking wrapped data for GC

0.9.0 - 2016-10-24

Added

  • Array::concat() (#38)
  • Array::dup() (#38)
  • Array::pop() (#38)
  • Array::reverse()
  • Array::reverse_bang()
  • Array::shift() (#38)
  • Array::sort_bang() (#38)
  • Array::sort() (#38)
  • Array::to_s() (#38)
  • Array::unshift() (#38)
  • GC::mark()
  • Class::wrap_data()
  • Object::get_data()
  • wrappable_struct!

Changed

  • Strings with interior null-bytes can be passed to Ruby

Fixed

  • AppVeyor build freezes (#39)

0.8.1 - 2016-09-25

Changed

  • VM thread functions to receive FnOnce instead of FnMut

0.8.0 - 2016-09-18

See wiki page for upgrading from 0.7.x to 0.8.0.

Added

  • VerifiedObject trait for safe conversions between types
  • Object::try_convert_to()
  • Error enum convertible to exceptions
  • Result<T: Object, Error> as a result of type conversion
  • unsafe_methods! macro
  • Class::define_nested_class()
  • Object::respond_to()
  • Class::superclass()
  • Class::ancestors()
  • Hash::length()
  • Object::singleton_class()
  • attr_reader, attr_writer, attr_accessor to Class
  • GVL-related functions to VM (#34)
  • Checking for presence of method arguments
  • Derive Debug, PartialEq for all Ruby types
  • VM::raise()

Changed

  • AnyObject::to() marked as unsafe
  • AnyObject::to() moved to Object::to()
  • AnyObject::ty() moved to Object::ty()
  • methods! macro sets arguments to Result<T: Object, Error> using try_convert_to()
  • Traits from ruru::traits::* module exported to top-level ruru::* module
  • Class::new() receives optional superclass
  • define, define_method, define_singleton_method moved from Class to Object trait
  • Hash::each() yields keys and values as AnyObject instead of Object to allow safe conversions

Fixed

  • x86 build

0.7.8 - 2016-07-09

Added

  • Iterator for Array (#30)
  • FromIterator for Array

0.7.7 - 2016-07-07

Added

  • Hash::each()

Fixed

  • Windows build

Removed

  • Direct libc crate dependency

0.7.6 - 2016-07-05

Added

  • RString::bytesize()
  • RString::to_string_unchecked()

Changed

  • Reduce the number of identifiers needed to import when using the class! macro

0.7.5 - 2016-06-30

Added

  • VM::block_proc()

0.7.4 - 2016-06-29

Added

  • Proc class

Changed

  • Reduce the number of identifiers needed to import when using macros

Fixed

  • Windows build (#25)

0.7.3 - 2016-05-07

Added

  • NilClass
  • Object.is_nil()

Changed

  • Move the ruby-sys crate to its own repository (#17)

Fixed

  • Warnings from the methods! macro

0.7.2 - 2016-05-05

Changed

  • Refactor Value usage (#15)

0.7.1 - 2016-05-05

Added

  • AnyObject.ty (#13)

Removed

  • ruru.unsafe_binding module

0.7.0 - 2016-05-02

Added

  • VM::require() (Ruby's require statement)

Changed

  • fn required when declaring methods in methods! macro

For versions prior to 0.7.0, please see git log.