All Versions
53
Latest Version
Avg Release Cycle
23 days
Latest Release
50 days ago

Changelog History
Page 3

  • v3.4.3-dev Changes

    April 19, 2020

    โœจ Enhancements

    • [Ecto.Query] Support as/1 and parent_as/1 for lazy named bindings and to allow parent references from subqueries

    ๐Ÿ› Bug fixes

    • [Ecto.Query] Do not raise for missing assocs if :force is given to preload
    • [Ecto.Repo] Return error from Repo.delete on invalid changeset from prepare_changeset
  • v3.4.2 Changes

    April 10, 2020

    โœจ Enhancements

    • [Ecto.Changeset] Support multiple fields in unique_constraint/3
  • v3.4.1 Changes

    April 08, 2020

    โœจ Enhancements

    • [Ecto] Add Ecto.embedded_load/3 and Ecto.embedded_dump/2
    • [Ecto.Query] Improve error message on invalid JSON expressions
    • [Ecto.Repo] Emit [:ecto, :repo, :init] telemetry event upon Repo init

    ๐Ÿ› Bug fixes

    • [Ecto.Query] Do not support JSON selectors on type/2

    ๐Ÿ—„ Deprecations

    • [Ecto.Repo] Deprecate conflict_target: {:constraint, _}. It is a discouraged approach and {:unsafe_fragment, _} is still available if someone definitely needs it
  • v3.4.0 Changes

    March 24, 2020

    v3.4 requires Elixir v1.7+.

    โœจ Enhancements

    • [Ecto.Query] Allow dynamic queries in CTE and improve error message
    • [Ecto.Query] Add Ecto.Query.API.json_extract_path/2 and JSON path support to query syntax. For example, posts.metadata["tags"][0]["name"] will return the name of the first tag stored in the :map metadata field
    • [Ecto.Repo] Add new default_options/1 callback to repository
    • [Ecto.Repo] Support passing :telemetry_options to repository operations

    ๐Ÿ› Bug fixes

    • [Ecto.Changeset] Properly add validation annotation to validate_acceptance
    • [Ecto.Query] Raise if there is loaded non-empty association data without related key when preloading. This typically means not all fields have been loaded in a query
    • [Ecto.Schema] Show meaningful error in case schema is invoked twice in an Ecto.Schema
  • v3.3.4 Changes

    February 27, 2020

    ๐Ÿ› Bug fixes

    • [mix ecto] Do not rely on map ordering when parsing repos
    • [mix ecto.gen.repo] Improve error message when a repo is not given
  • v3.3.3 Changes

    February 14, 2020

    โœจ Enhancements

    • [Ecto.Query] Support fragments in lock
    • [Ecto.Query] Handle nil in select_merge with similar semantics to SQL databases (i.e. it simply returns nil itself)
  • v3.3.2 Changes

    January 28, 2020

    โœจ Enhancements

    • [Ecto.Changeset] Only bump optimistic lock in case of success
    • [Ecto.Query] Allow macros in Ecto window expressions
    • [Ecto.Schema] Support :join_defaults on many_to_many associations
    • [Ecto.Schema] Allow MFargs to be given to association :defaults
    • [Ecto.Type] Add Ecto.Type.embedded_load and Ecto.Type.embedded_dump

    ๐Ÿ› Bug fixes

    • [Ecto.Repo] Ignore empty hostname when parsing database url (Elixir v1.10 support)
    • [Ecto.Repo] Rewrite combinations on Repo.exists? queries
    • [Ecto.Schema] Respect child @schema_prefix in cast_assoc
    • [mix ecto.gen.repo] Use config_path when writing new config in mix ecto.gen.repo
  • v3.3.1 Changes

    December 27, 2019

    โœจ Enhancements

    • [Ecto.Query.WindowAPI] Support filter/2

    ๐Ÿ› Bug fixes

    • [Ecto.Query.API] Fix coalesce/2 usage with mixed types
  • v3.3.0 Changes

    December 11, 2019

    โœจ Enhancements

    • [Ecto.Adapter] Add storage_status/1 callback to Ecto.Adapters.Storage behaviour
    • [Ecto.Changeset] Add Ecto.Changeset.apply_action!/2
    • [Ecto.Changeset] Remove actions restriction in Ecto.Changeset.apply_action/2
    • [Ecto.Repo] Introduce c:Ecto.Repo.aggregate/2
    • [Ecto.Repo] Support {:replace_all_except, fields} in :on_conflict

    ๐Ÿ› Bug fixes

    • [Ecto.Query] Make sure the :prefix option in :from/:join also cascades to subqueries
    • [Ecto.Query] Make sure the :prefix option in :join also cascades to queries
    • [Ecto.Query] Use database returned values for literals. Previous Ecto versions knew literals from queries should not be discarded for combinations but, even if they were not discarded, we would ignore the values returned by the database
    • [Ecto.Repo] Do not wrap schema operations in a transaction if already inside a transaction. We have also removed the private option called :skip_transaction

    ๐Ÿ—„ Deprecations

    • [Ecto.Repo] :replace_all_except_primary_keys is deprecated in favor of {:replace_all_except, fields} in :on_conflict
  • v3.2.5 Changes

    November 03, 2019

    ๐Ÿ› Bug fixes

    • [Ecto.Query] Fix a bug where executing some queries would leak the {:maybe, ...} type