Skip to content

v0.7.0

Latest

Choose a tag to compare

@fuelen fuelen released this 22 Aug 18:02

Added

  • Composite.apply_tagged/1 and Composite.apply_tagged/3 — return
    :unchanged when the applied query compares equal (==) to the input, or
    {:changed, query} otherwise. This lets callers short-circuit instead of
    passing an unchanged query to Repo.all/1.

Changed

  • Minimum Elixir version bumped from ~> 1.9 to ~> 1.14, matching Ecto's
    own minimum.
  • Declaring the same dependency/4 name twice now emits IO.warn/1. The
    previous loader is still overwritten (behavior preserved).
  • Documented that duplicate param/4 paths chain handlers in declaration
    order — this is intentional, not a bug.

Fixed

  • Dependencies now load in the order specified by :requires. The previous
    MapSet-based implementation did not preserve declaration order.
  • strict: true no longer crashes when a known nested parameter has a nil
    value or when both a parent path and its nested path are declared.

Internal

  • Refactored maybe_raise_on_unknown_params to use Map.fetch/2 instead of
    Enum.find/2 (O(n·m) → amortized O(n)).
  • Added GitHub Actions CI (tests on Elixir 1.14 / OTP 25 and 1.19.4 / OTP 28.3,
    plus mix format --check-formatted).
  • Added runnable doctests for default_ignore?/1, new/2, apply_tagged/1.
  • Updated development dependencies.