Bump ecto from 3.9.5 to 3.10.2
Bumps ecto from 3.9.5 to 3.10.2.
Changelog
Sourced from ecto's changelog.
v3.10.2 (2023-06-07)
Enhancements
- [Ecto.Changeset] Support a three-arity function with position on
cast_assocandcast_embed- [Ecto.Changeset] Add support for maps in
validate_length/3- [Ecto.Changeset] Add
:nulls_distinctoption tounsafe_validate_unique- [Ecto.Query] Support
array_jointype for ClickHouse adapter- [Ecto.Query.API] Support parameterized and custom map types in json path validation
Bug fixes
- [Ecto.Repo] Respect parent prefix in
Repo.aggregate- [Ecto.Query.API] Fix late binding in
json_extract_pathDeprecations
- Deprecate MFAs on
:withv3.10.1 (2023-04-12)
Bug fixes
- [Ecto.Changeset] Consider
sort_parameven if the relation param was not given- [Ecto.Query] Correct typespec to avoid Dialyzer warnings
v3.10.0 (2023-04-10)
This release contains many improvements to Ecto.Changeset, functions like
Ecto.Changeset.changed?/2andfield_missing?/2will help make your code more expressive. Improvements to association and embed handling will also make it easier to manage more complex forms, especially those embedded within Phoenix.LiveView applications.On the changeset front, note this release unifies the handling of empty values between
cast/4andvalidate_required/3. If you were setting:empty_valuesin the past and you want to preserve this new behaviour throughout, you may want to update your code from this:Ecto.Changeset.cast(changeset, params, [:field1, :field2], empty_values: ["", []])to:
empty_values = [[]] ++ Ecto.Changeset.empty_values() Ecto.Changeset.cast(changeset, params, [:field1, :field2], empty_values: empty_values)Queries have also been improved to support LIMIT WITH TIES as well as materialized CTEs.
Enhancements
- [Ecto.Changeset] Add
get_assoc/get_embed- [Ecto.Changeset] Add
field_missing?/2- [Ecto.Changeset] Add
changed?/2andchanged?/3with predicates support- [Ecto.Changeset] Allow
Regexto be used in constraint names for exact matches- [Ecto.Changeset] Allow
:empty_valuesoption incast/4to include a function which must return true if the value is empty- [Ecto.Changeset]
cast/4will by default consider strings made only of whitespace characters to be empty- [Ecto.Changeset] Add support for
:sort_paramand:drop_paramoncast_assocandcast_embed
... (truncated)
Commits
99458b1Release v3.10.12ba9ede4Fix deprecation on Elixir v1.16c01f88eFix example for changeset with position (#4201)aea34c3Update cheatsheet example, closes #419918de2fdAdd use info for Ecto.{Schema, Type, ParameterizedType} (#4196)f07e4dcAdd array_join (#4193)e13f10dFix late binding with json_extract_path (#4195)29e9566Add query through preload note, closes #41923dd1da8Introduce t:Ecto.Changeset.empty_value/0 (#4191)d186958Link to Logger.level/0 documentation (#4190)- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
-
@dependabot rebasewill rebase this PR -
@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it -
@dependabot mergewill merge this PR after your CI passes on it -
@dependabot squash and mergewill squash and merge this PR after your CI passes on it -
@dependabot cancel mergewill cancel a previously requested merge and block automerging -
@dependabot reopenwill reopen this PR if it is closed -
@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually -
@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) -
@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) -
@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)