Skip to content

Latest commit

 

History

History
118 lines (72 loc) · 2.92 KB

CHANGELOG.md

File metadata and controls

118 lines (72 loc) · 2.92 KB

Changelog

Unreleased

[1.2.4] - 2024-04-22

Fixed

  • Nested lists within structs resulted in a CaseClauseError during redaction.

[1.2.3] - 2023-11-11

Changed

  • Updated documentation.

[1.2.2] - 2023-06-28

Changed

  • You can now override the exception message used by c:LetMe.Policy.authorize!/4 (e.g. use LetMe.Policy, error_message: "Not today, chap.").

[1.2.1] - 2023-06-28

Changed

  • Define action type when you use LetMe.Policy.
  • Add type specifications for generated authorize functions.

[1.2.0] - 2023-06-19

Added

  • Added an optional opts argument to the authorize functions, so that additional options can be passed to pre-hooks.
  • Updated LetMe.filter_rules/2 to allow filtering by meta data.

Changed

  • Pre-hook options are now expected to be passed as a keyword list.

Fixed

  • Fix deprecation warning about Logger.warn/2 in Elixir 1.15.

[1.1.0] - 2023-05-08

Added

  • Added a metadata macro to add metadata to actions. The metadata can be read from the LetMe.Rule struct.

[1.0.3] - 2023-03-21

Changed

  • Update ex_doc and other dev dependencies.

[1.0.2] - 2023-01-05

Added

  • Added a cheat sheet for rules and checks.

Fixed

  • Fixed a code example for rule introspection in the readme.

[1.0.1] - 2022-11-06

Changed

  • Use Keyword.pop/3 with default value instead of Keyword.pop!/2, so that you can pass options to LetMe.redact/3 without passing the redact_value option.

[1.0.0] - 2022-11-06

Added

  • Added c:LetMe.Policy.filter_allowed_actions/3 and LetMe.filter_allowed_actions/4.
  • Added c:LetMe.Policy.get_object_name/1.

Changed

  • Renamed c:LetMe.Policy.authorized?/3 to c:LetMe.Policy.authorize?/3, because consistency is more important than grammar, maybe.
  • The c:LetMe.Schema.scope/2 callback was removed in favour of c:LetMe.Schema.scope/3. The __using__ macro defined default implementations for both functions that returned the given query unchanged, in case you only needed the redact callback of the behaviour. In practice, this made it all too easy to call the 2-arity version when only the 3-arity version was defined, and vice versa, which would lead the query to not be scoped. So in order to reduce the room for error at the cost of a minor inconvenience, you will now always need to implement the 3-arity function, even if you don't need the third argument.
  • Changed c:LetMe.Schema.redacted_fields/2 to c:LetMe.Schema.redacted_fields/3 to allow passing additional options, and to be consistent with c:LetMe.Schema.scope/3.

[0.2.0] - 2022-07-12

Changed

  • Added support for nested field redactions, either by explicitly listing the fields or by referencing a module that also implements LetMe.Schema.

Fixed

  • reject_redacted_fields/3 called redact/2 callback with the wrong argument order.

[0.1.0] - 2022-07-11

initial release