All Versions
Latest Version
Avg Release Cycle
65 days
Latest Release
494 days ago

Changelog History
Page 4

  • v0.9.4 Changes

    January 24, 2017

    โž• Added

    • โž• Added Types::Object which passes an object of any type (flash-gordon)

    Compare v0.9.3...v0.9.4

  • v0.9.3 Changes

    December 03, 2016

    ๐Ÿ›  Fixed

    • โšก๏ธ Updated to dry-core >= 0.2.1 (ruby warnings are gone) (flash-gordon)

    Compare v0.9.2...v0.9.3

  • v0.9.2 Changes

    November 13, 2016

    โž• Added

    • ๐Ÿ‘Œ Support for "Y" and "N" as true and false values, respectively (scare21410)

    ๐Ÿ”„ Changed

    • โšก๏ธ Optimized object allocation in hash schemas, resulting in up to 25% speed boost (davydovanton)

    Compare v0.9.1...v0.9.2

  • v0.9.1 Changes

    November 04, 2016

    ๐Ÿ›  Fixed

    • Hash#strict_with_defaults properly evaluates callable defaults (bolshakov)

    ๐Ÿ”„ Changed

    • Hash#weak accepts Hash-descendants again (solnic)

    Compare v0.9.0...v0.9.1

  • v0.9.0 Changes

    September 21, 2016

    โž• Added

    • Hash#strict_with_defaults which validates presence of all required keys and respects default types for missing values (backus)
    • Type#constrained? method (flash-gordon)

    ๐Ÿ›  Fixed

    • Summing two constrained types works correctly (flash-gordon)
    • Types::Array::Member#valid? in cases where member type is a constraint (solnic)
    • Hash::Schema#try handles exceptions properly and returns a failure object (solnic)

    ๐Ÿ”„ Changed

    • [BREAKING] Renamed Hash##{schema=>permissive} (backus)
    • [BREAKING] dry-monads dependency was made optional, Maybe types are available after Dry::Types.load_extensions(:maybe) (flash-gordon)
    • [BREAKING] Dry::Types::Struct and Dry::Types::Value have been extracted to dry-struct (backus)
    • ๐Ÿ‘ Types::Form::Bool supports upcased true/false values (kirs)
    • Types::Form::{Date,DateTime,Time} fail gracefully for invalid input (padde)
    • ice_nine dependency has been dropped as it was required by Struct only (flash-gordon)

    Compare v0.8.1...v0.9.0

  • v0.8.1 Changes

    July 13, 2016

    ๐Ÿ›  Fixed

    • Compiler no longer chokes on type nodes without args (solnic)
    • โœ‚ Removed bin/console from gem package (solnic)

    Compare v0.8.0...v0.8.1

  • v0.8.0 Changes

    July 01, 2016

    โž• Added

    • Struct now implements Type interface so ie SomeStruct | String works now (flash-gordon)
    • :weak Hash constructor which can partially coerce a hash even when it includes invalid values (solnic)
    • Types include Dry::Equalizer now (flash-gordon)

    ๐Ÿ›  Fixed

    • Struct#to_hash descends into arrays too (nepalez)
    • 0๏ธโƒฃ Default#with works now (flash-gordon)

    ๐Ÿ”„ Changed

    • :symbolized hash schema is now based on :weak schema (solnic)
    • Struct::Value instances are now deeply frozen via ice_nine (backus)

    Compare v0.7.2...v0.8.0

  • v0.7.2 Changes

    May 11, 2016

    ๐Ÿ›  Fixed

    • 0๏ธโƒฃ Bool#default gladly accepts false as its value (solnic)
    • ๐Ÿ‘€ Creating an empty schema with input processor no longer fails (lasseebert)

    ๐Ÿ”„ Changed

    • ๐Ÿ‘ Allow multiple calls to meta (solnic)
    • ๐Ÿ‘ Allow capitalised versions of true and false values for boolean coercions (nil0bject)
    • Replace kleisli with dry-monads (flash-gordon)
    • ๐Ÿ‘‰ Use coercions from Kernel (flash-gordon)
    • Decimal coercions now work with Float (flash-gordon)
    • Coerce empty strings in form posts to blank arrays and hashes (timriley)
    • โšก๏ธ update to use dry-logic v0.2.3 (fran-worley)

    Compare v0.7.1...v0.7.2

  • v0.7.1 Changes

    April 06, 2016

    โž• Added

    • JSON::* types with JSON-specific coercions (coop)

    ๐Ÿ›  Fixed

    • Schema is properly inherited in Struct (backus)
    • constructor_type is properly inherited in Struct (fbernier)

    Compare v0.7.0...v0.7.1

  • v0.7.0 Changes

    March 30, 2016

    ๐Ÿš€ Major focus of this release is to make complex type composition possible and improving constraint errors to be more meaningful.

    โž• Added

    • Type#try interface that tries to process the input and return a result object which can be either a success or failure (solnic)
    • #meta interface for setting arbitrary meta data on types (solnic)
    • ConstraintError has a message which includes information about the predicate which failed ie nil violates constraints (type?(String) failed) (solnic)
    • Struct uses Dry::Equalizer too, just like Value (AMHOL)
    • Sum::Constrained which has a disjunction rule built from its types (solnic)
    • ๐Ÿ‘ Compiler supports [:constructor, [primitive, fn_proc]] nodes (solnic)
    • ๐Ÿ— Compiler supports building schema-less form.hash types (solnic)

    ๐Ÿ›  Fixed

    • ๐Ÿ‘ Sum now supports complex types like Array or Hash with member types and/or constraints (solnic)
    • 0๏ธโƒฃ Default#constrained will properly wrap a new constrained type (solnic)

    ๐Ÿ”„ Changed

    • [BREAKING] Renamed Type#{optional=>maybe} (AMHOL)
    • ๐Ÿ— [BREAKING] Type#optional(other) builds a sum: Strict::Nil | other (AMHOL)
    • [BREAKING] Type objects are now frozen (solnic)
    • [BREAKING] Value instances are frozen (AMHOL)
    • Array is no longer a constructor and has a Array::Member subclass (solnic)
    • Hash is no longer a constructor and is split into Hash::Safe, Hash::Strict and Hash::Symbolized (solnic)
    • Constrained has now a Constrained::Coercible subclass which will try to apply its type prior applying its rule (solnic)
    • #maybe uses Strict::Nil now (solnic)
    • 0๏ธโƒฃ Type#default will raise if nil was passed for Maybe type (solnic)
    • Hash with a schema will set maybe values for missing keys or nils (flash-gordon)

    Compare v0.6.0...v0.7.0