All Versions
Latest Version
Avg Release Cycle
Latest Release

Changelog History
Page 1

  • v1.4.2 Changes

    • ๐Ÿ›  a bug in coerce_with/2 was fixed: a parameter got coerced (as nil) even if it is not required
    • run! raises an Exop.Operation.ErrorResult error when an operation returns an error tuple
  • v1.4.1 Changes

    • ๐Ÿ—„ Code.ensure_compiled/1 instead of deprecated Code.ensure_compiled?/1
    • ๐Ÿ›  :struct check's bug fixed (when a value to be checked is not a struct itself)
  • v1.4.0 Changes

    ๐Ÿ’ฅ breaking changes in this version!

    • ๐Ÿšš a validation type: :struct that had been deprecated since ver. 1.2.2 was finally removed
    • โšก๏ธ the func check's callback arguments now aligned with coerce_with callback, they are: a parameter's name/value tuple (the first), all parameters map given to an operation (the second), the output of the validation callback fuction has been updated as well (check README for details)
    • Exop.Chain's operation (step) now can be conditional with if: _your_condition_func/1 option provided (see README for the details)
    • Exop.Chain's operation now can coerce incoming parameters with coerce_with: your_coerce_func/1 option before any further checks/invocations
  • v1.3.5 Changes

    • basic validation message extension with "got:" (credits to ๐Ÿ‘‰ makes error-tuple messages more descriptive
    • ๐Ÿ†• new :subset_of check allows you to check whether a given list is a subset of defined check-list
  • v1.3.4 Changes

    • ๐Ÿ”จ a bug in coerce_with/2 refactored behavior was fixed
  • v1.3.3 Changes

    • ๐Ÿ›  the issue with coerce_with/2 within an inner check has been fixed (coercion simply didn't work in inner)
    • ๐Ÿ‘€ parameters :default option now accepts 1-arity function as well as a certain value (see README)
  • v1.3.2 Changes

    • โš  got rid some dialyzer warnings
    • specs for macros were added
    • ๐Ÿšš Exop.Policy module has been removed because simplified policy check is here since v1.1.1
    • if Exop.Policy action returns something different from either true or false, this output is treated as authorization error message (reason)
    • ๐Ÿ‘ป behaviour of unknown struct checks has been changed. Now it generates ArgumentError exception on compile time if struct parameter is not existing struct.
  • v1.3.1 Changes

    • 0๏ธโƒฃ allow_nil check behavior bug has been fixed (default value and validations skipping)
  • v1.3.0 Changes

    ๐Ÿ’ฅ breaking changes in this version!

    • ๐Ÿ‘ Exop supports elixir >= 1.6.0
    • ๐Ÿ‘ป behaviour of unknown type checks has been changed. Now it generates ArgumentError exception on compile time if type check is not supported.
    • now accepts structs as well as keywords and maps
    • implicit inner: now you can omit type and inner checks keywords in order to check inner of your parameter
    • ๐Ÿ“„ ex_doc 0.20 (better docs)
    • :from parameter option to be able pass one name of a parameter and work with it within an operation under another name
    • ๐Ÿ†• new checks for :length: gte, gt, lte, lt
    • :length doesnt work with numbers anymore
    • ๐Ÿ‘ :length and :numericality checks return an error for unsupported types (previously unsupported type passed the check)
    • ๐Ÿ‘€ :coerce_with now accepts only a 2-arity function with a coerced param tuple and a map of all received params (see README for more info)
    • ๐Ÿšš defined_params/1 function has been removed, now process/1 function takes only parameters defined in a operation's contract. You still can pass any parameters in run/1 or run!/1 but Exop will proceed only with parameters declared in the contract
  • v1.2.5 Changes

    ๐Ÿ”„ Changes

    • ๐Ÿ‘ allow to pass function of arity one to func validation