Virtus v1.0.0 Release Notes

Release Date: 2013-10-16 // about 9 years ago
  • ๐Ÿš€ This release no longer works with Ruby 1.8.7.

    • [BREAKING CHANGE] Integrated with axiom-types, most of the attribute sub-classes are gone (solnic)
    • ๐Ÿ”ง [feature] Configurable coercion via coercible integration (solnic)
    • [feature] Strict mode for coercions via :strict option (solnic)
    • 0๏ธโƒฃ [feature] Lazy-loaded default values via :lazy option (solnic)
    • ๐Ÿ‘€ [feature] Finalizing models solving circular-dependency issue (see #81) (solnic)
    • [feature] Ability to cherry-pick which extension should be included (solnic)
    • [feature] Ability to inject a custom coercer object via :coercer option (solnic)
    • ๐Ÿ— [feature] Extension module builder with pre-defined configuration for attributes (elskwid & solnic)
    • ๐Ÿ— [feature] Virtus::Attribute exposes a public API - you can easily build, rename and clone attribute instances and use their coercion power (solnic)
    • 0๏ธโƒฃ [feature] Ability to reset attributes to their default values (pewniak747)
    • [changed] A meaningful error will be raised if a reserved name is used as an attribute name (solnic)
    • 0๏ธโƒฃ [changed] Default value can be set via private and protected methods now (solnic)
    • [changed] New syntax for value objects (solnic)
    • 0๏ธโƒฃ [changed] Default values are now set in the constructor for non-lazy attributes (solnic)
    • ๐Ÿ”ง [deprecated] Virtus::Attribute.coerce in favor of Virtus.coerce or a customized configured module (solnic)
    • ๐Ÿ—„ [deprecated] include Virtus in favor of include Virtus.model (for classes) or Virtus.module (for modules) (solnic)
    • ๐Ÿ—„ [deprecated] include Virtus::ValueObject in favor of include Virtus.value_object (solnic)
    • ๐Ÿ—„ [deprecated] Virtus#attributes in favor of Virtus#attribute_set (solnic)
    • ๐Ÿ›  [fixed] const missing hook now works correctly in modules too (cored)
    • ๐Ÿ›  [fixed] value object with Hash type works correctly (solnic)
    • ๐Ÿ›  [fixed] issues with value-object subclasses and #== method (solnic)

    Compare v0.5.4..v1.0.0