All Versions
Latest Version
Avg Release Cycle
42 days
Latest Release
34 days ago

Changelog History
Page 5

  • v0.10.1 Changes

    September 22, 2016

    ๐Ÿ›  Fixed

    • โœ‚ Remove obsolete require of dry/struct which is now an optional extension (flash-gordon)

    Compare v0.10.0...v0.10.1

  • v0.10.0 Changes

    September 21, 2016

    โž• Added

    • ๐Ÿ‘Œ Support for validate DSL which accepts an arbitratry validation block that gets executed in the context of a schema object and is treated as a custom predicate (solnic)
    • ๐Ÿ‘Œ Support for or error messages ie "must be a string or must be an integer" (solnic)
    • ๐Ÿ‘Œ Support for retrieving error messages exclusively via schema.(input).errors (solnic)
    • ๐Ÿ‘Œ Support for retrieving hint messages exclusively via schema.(input).hints (solnic)
    • Support for opt-in extensions loaded via Dry::Validation.load_extensions(:my_ext) (flash-gordon)
    • โž• Add :monads extension which transforms a result instance to Either monad, schema.(input).to_either (flash-gordon)
    • โž• Add dry-struct integration via an extension activated by Dry::Validation.load_extensions(:struct) (flash-gordon)

    ๐Ÿ›  Fixed

    • Input rules (defined via input macro) are now lazy-initialized which makes it work with predicates defined on the schema object (solnic)
    • Hints are properly generated based on argument type in cases like size?, where the message should be different for strings (uses "length") or other types (uses "size") (solnic)
    • Defining nested keys without schema blocks results in ArgumentError (solnic)

    ๐Ÿ”„ Changed

    • ๐Ÿ‘ [BREAKING] when macro no longer supports multiple disconnected rules in its block, whatever the block returns will be used for the implication (solnic)
    • [BREAKING] rule(some_name: %i(some keys)) will always use :some_name as the key for failure messages (solnic)

    Compare v0.9.5...v0.10.0

  • v0.9.5 Changes

    August 16, 2016

    ๐Ÿ›  Fixed

    • Infering multiple predicates with options works as expected ie value(:str?, min_size?: 3, max_size?: 6) (solnic)
    • ๐Ÿ”ง Default locale configured in I18n is now respected by the messages compiler (agustin + cavi21)

    Compare v0.9.4...v0.9.5

  • v0.9.4 Changes

    August 11, 2016

    ๐Ÿ›  Fixed

    • Error messages for sibling deeply nested schemas are nested correctly (timriley)

    Compare v0.9.3...v0.9.4

  • v0.9.3 Changes

    July 22, 2016

    โž• Added

    • Support for range arg in error messages for excluded_from? and included_in? (mrbongiolo)
    • Result#message_set returns raw message set object (solnic)

    ๐Ÿ›  Fixed

    • Error messages for high-level rules in nested schemas are nested correctly (solnic)
    • Dumping error messages works with high-level rules relying on the same value (solnic)

    ๐Ÿ”„ Changed

    • #messages is no longer memoized (solnic)

    Compare v0.9.2...v0.9.3

  • v0.9.2 Changes

    July 13, 2016

    ๐Ÿ›  Fixed

    • Constrained types now work with each macro (solnic)
    • Array coercion without member type works now ie required(:arr).maybe(:array?) (solnic)

    Compare v0.9.1...v0.9.2

  • v0.9.1 Changes

    July 11, 2016

    ๐Ÿ›  Fixed

    • 0๏ธโƒฃ I18n backend is no longer required and set by default (solnic)

    Compare v0.9.0...v0.9.1

  • v0.9.0 Changes

    July 08, 2016

    โž• Added

    • ๐Ÿ‘Œ Support for defining maybe-schemas via maybe { schema { .. } } (solnic)
    • ๐Ÿ‘Œ Support for interpolation of custom failure messages for custom rules (solnic)
    • Support for defining a base schema class with config and rules (solnic)
    • ๐Ÿ‘Œ Support for more than 1 predicate in input macro (solnic)
    • Class-level define! API for defining rules on a class (solnic)
    • ๐Ÿ”€ :i18n messages support merging from other paths via messages_file setting (solnic)
    • ๐Ÿ‘Œ Support for message token transformations in custom predicates (fran-worley)
    • [EXPERIMENTAL] Ability to compose predicates that accept dynamic args provided by the schema (solnic)

    ๐Ÿ›  Fixed

    • Duped key names in nested schemas no longer result in invalid error messages structure (solnic)
    • Error message structure for deeply nested each/schema rules (solnic)
    • Values from option are passed down to nested schemas when using Schema#with (solnic)
    • Hints now work with array elements too (solnic)
    • Hints for elements are no longer provided for an array when the value is not an array (solnic)
    • input macro no longer messes up error messages for nested structures (solnic)

    ๐Ÿ”„ Changed

    • Tokens for size? were renamed left => size_left and right => size_right (fran-worley)

    Compare v0.8.0...v0.9.0

  • v0.8.0 Changes

    July 01, 2016

    โž• Added

    • Explicit interface for type specs used to set up coercions, ie required(:age, :int) (solnic)
    • Support new dry-logic predicates: :excluded_from?, :excludes?, :included_in?, :includes?, :not_eql?, :odd?, :even? (jodosha, fran-worley)
    • ๐Ÿ‘Œ Support for blocks in value, filled and maybe macros (solnic)
    • ๐Ÿ‘Œ Support for passing a schema to value|filled|maybe macros ie maybe(SomeSchema) (solnic)
    • ๐Ÿ‘Œ Support for each(SomeSchema) (solnic)
    • ๐Ÿ‘Œ Support for value|filled|maybe macros + each inside a block ie: maybe(:filled?) { each(:int?) } (solnic)
    • ๐Ÿ‘Œ Support for dedicated hint messages via en.errors.#{predicate}.(hint|failure) look-up paths (solnic)
    • ๐Ÿ‘Œ Support for configuring custom DSL extensions via dsl_extensions setting on Schema class (solnic)
    • ๐Ÿ‘Œ Support for preconfiguring a predicate for the input value ie value :hash? used for prerequisite-checks (solnic)
    • Infer coercion from constrained types (solnic)
    • โž• Add value macro (coop)
    • Enable .schema to accept objects that respond to #schema (ttdonovan)
    • ๐Ÿ‘Œ Support for schema predicates which don't need any arguments (fran-worley)
    • 0๏ธโƒฃ Error and hint messages have access to all predicate arguments by default (fran-worley+solnic)
    • Invalid predicate name in DSL will raise an error (solnic)
    • Predicate with invalid arity in DSL will raise an error (solnic)

    ๐Ÿ›  Fixed

    • ๐Ÿ‘Œ Support for jRuby (flash-gordon)
    • ๐Ÿ›  Fix bug when using predicates with options in each and when (fran-worley)
    • ๐Ÿ›  Fix bug when validating custom types (coop)
    • ๐Ÿ›  Fix depending on deeply nested values in high-lvl rules (solnic)
    • ๐Ÿ›  Fix duplicated error message for lt? when hint was used (solnic)
    • ๐Ÿ›  Fix hints for nested schemas (solnic)
    • ๐Ÿ›  Fix an issue where rules with same names inside nested schemas have incorrect hints (solnic)
    • ๐Ÿ›  Fix a bug where hints were being generated 4 times (solnic)
    • ๐Ÿ›  Fix duplicated error messages when message is different than a hint (solnic)

    ๐Ÿ”„ Changed

    • ๐Ÿ‘‰ Uses new :weak hash constructor from dry-types 0.8.0 which can partially coerce invalid hash (solnic)
    • ๐Ÿ—„ key has been deprecated in favor of required (coop)
    • ๐Ÿ—„ required has been deprecated in favor of filled (coop)
    • Now relies on dry-logic v0.3.0 and dry-types v0.8.0 (fran-worley)
    • Tring to use illogical predicates with maybe and filled macros now raise InvalidSchemaError (fran-worley)
    • Enable coercion on form.true and form.false (fran-worley)
    • โœ‚ Remove attr (will be extracted to a separate gem) (coop)
    • ๐Ÿ—„ Deprecate required in favour of filled (coop)
    • ๐Ÿ—„ Deprecate key in favor of required (coop)
    • โœ‚ Remove nested key syntax (solnic)

    Compare v0.7.4...v0.8.0

  • v0.7.4 Changes

    April 06, 2016

    โž• Added

    • Schema.JSON with json-specific coercions (coop)
    • ๐Ÿ‘Œ Support for error messages for odd? andeven?` predicates (fran-worley)

    ๐Ÿ›  Fixed

    • Depending on deeply nested values in high-level rules works now (solnic)

    Compare v0.7.3...v0.7.4