Packages
ash_postgres
2.5.0
2.10.0
2.9.1
2.9.0
2.8.0
2.7.0
2.6.32
2.6.31
2.6.30
2.6.29
2.6.28
2.6.27
2.6.26
2.6.25
2.6.24
2.6.23
2.6.22
2.6.21
2.6.20
2.6.19
2.6.18
2.6.17
2.6.16
2.6.15
2.6.14
2.6.13
2.6.12
2.6.11
2.6.10
2.6.9
2.6.8
2.6.7
2.6.6
2.6.5
2.6.4
2.6.3
2.6.2
2.6.1
2.6.0
2.5.22
2.5.21
2.5.20
2.5.19
2.5.18
2.5.17
2.5.16
2.5.15
2.5.14
2.5.13
2.5.12
2.5.11
2.5.10
2.5.9
2.5.8
2.5.7
2.5.6
2.5.5
2.5.4
2.5.3
2.5.2
2.5.1
2.5.0
2.4.21
2.4.20
2.4.19
2.4.18
2.4.17
2.4.16
2.4.15
2.4.14
2.4.13
2.4.12
2.4.11
2.4.10
2.4.9
2.4.8
2.4.7
2.4.6
2.4.5
2.4.4
2.4.3
2.4.2
2.4.1
2.4.0
2.3.1
2.3.0
2.2.5
2.2.4
2.2.3
2.2.2
2.2.1
2.2.0
2.1.19
2.1.18
2.1.17
2.1.15
2.1.14
2.1.13
2.1.12
2.1.11
2.1.10
2.1.9
2.1.8
2.1.6
2.1.5
2.1.4
2.1.3
2.1.2
2.1.1
2.1.0
2.0.12
2.0.11
2.0.10
2.0.9
2.0.8
2.0.7
2.0.6
2.0.5
2.0.4
2.0.3
2.0.2
2.0.1
2.0.0
2.0.0-rc.15
2.0.0-rc.14
2.0.0-rc.13
2.0.0-rc.12
2.0.0-rc.11
2.0.0-rc.10
2.0.0-rc.9
2.0.0-rc.8
2.0.0-rc.7
2.0.0-rc.6
2.0.0-rc.5
2.0.0-rc.4
2.0.0-rc.3
2.0.0-rc.2
2.0.0-rc.1
2.0.0-rc.0
1.5.30
1.5.29
1.5.28
1.5.27
1.5.26
1.5.25
1.5.24
1.5.23
1.5.22
1.5.21
1.5.20
1.5.19
1.5.18
1.5.17
1.5.16
1.5.15
1.5.14
1.5.13
1.5.12
1.5.11
1.5.10
1.5.9
1.5.8
1.5.7
1.5.6
1.5.5
1.5.4
1.5.3
1.5.2
1.5.1
1.5.0
1.4.0
1.3.68
1.3.67
1.3.66
1.3.65
1.3.64
1.3.63
1.3.62
1.3.61
1.3.60
1.3.59
1.3.58
1.3.56
1.3.55
1.3.54
1.3.53
1.3.52
1.3.51
1.3.50
1.3.49
1.3.48
1.3.47
1.3.46
1.3.45
1.3.44
1.3.43
1.3.42
1.3.41
1.3.40
1.3.39
1.3.38
1.3.37
1.3.36
1.3.35
1.3.34
1.3.33
1.3.32
1.3.31
1.3.30
1.3.29
1.3.28
1.3.26
1.3.25
1.3.24
1.3.23
1.3.22
1.3.21
1.3.20
1.3.19
1.3.18
1.3.17
1.3.16
1.3.15
1.3.14
1.3.12
1.3.11
1.3.10
1.3.9
1.3.8
1.3.6
1.3.5
1.3.4
1.3.3
1.3.2
1.3.1
1.3.0
1.3.0-rc.4
1.3.0-rc.3
1.3.0-rc.2
1.3.0-rc.0
1.2.6
1.2.5
1.2.4
1.2.3
1.2.2
1.2.1
1.2.0
1.2.0-rc.1
1.2.0-rc.0
1.1.3
1.1.2
1.1.1
1.1.0
1.0.0
1.0.0-rc.9
1.0.0-rc.8
1.0.0-rc.7
1.0.0-rc.6
1.0.0-rc.5
1.0.0-rc.4
1.0.0-rc.3
1.0.0-rc.2
1.0.0-rc.1
1.0.0-rc.0
1.0.0-pre.3
1.0.0-pre.2
1.0.0-pre.1
1.0.0-pre.0
0.43.0
0.42.0-rc.7
0.42.0-rc.6
0.42.0-rc.5
0.42.0-rc.4
0.42.0-rc.3
0.42.0-rc.1
0.42.0-rc.0
0.41.7
0.41.6
0.41.5
0.41.4
0.41.3
0.41.2
0.41.1
0.41.0-rc0
retired
0.41.0-rc.9
0.41.0-rc.8
0.41.0-rc.7
0.41.0-rc.6
0.41.0-rc.5
0.41.0-rc.4
0.41.0-rc.3
0.41.0-rc.2
0.41.0-rc.1
0.41.0-rc.0
0.40.11
0.40.10
0.40.9
0.40.8
0.40.7
0.40.6
0.40.5
0.40.4
0.40.3
0.40.2
0.40.1
0.40.0-rc5
0.40.0-rc4
0.40.0-rc3
0.40.0-rc2
0.40.0-rc1
0.39.0-rc0
0.38.11
0.38.10
0.38.9
0.38.8
0.38.7
0.38.6
0.38.5
0.38.4
0.38.3
0.38.2
0.38.1
0.38.0
0.37.8
0.37.7
0.37.6
0.37.5
0.37.4
0.37.3
0.37.2
0.37.1
0.37.0
0.36.5
0.36.4
0.36.3
0.36.2
0.36.1
0.36.0
0.35.5
0.35.4
0.35.3
0.35.1
0.34.5
0.34.4
0.34.3
0.34.2
0.34.1
0.34.0
0.33.1
0.33.0
0.32.2
0.32.1
0.32.0
0.31.1
0.30.1
0.29.6
0.29.5
0.29.4
0.29.3
0.29.2
0.29.1
0.28.1
0.28.0
0.27.0
0.26.2
0.26.1
0.26.0
0.25.5
0.25.4
0.25.3
0.25.2
0.25.1
0.25.0
0.24.0
0.23.2
0.23.1
0.23.0
0.22.1
0.22.0
0.21.0
0.20.1
0.20.0
0.19.0
0.18.0
0.17.0
0.16.1
0.15.0
0.14.0
0.13.0
0.12.1
0.12.0
0.11.2
0.10.0
0.9.0
0.8.0
0.7.0
0.6.0
0.5.0
0.4.0
0.3.0
0.2.1
0.2.0
0.1.4
0.1.3
0.1.2
0.1.1
0.1.1-rc.2
0.1.1-rc.1
0.1.1-rc.0
0.1.0
The PostgreSQL data layer for Ash Framework
Current section
Files
Jump to
Current section
Files
ash_postgres
CHANGELOG.md
CHANGELOG.md
# Change Log
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://www.conventionalcommits.org) for commit guidelines.
<!-- changelog -->
## [v2.5.0](https://github.com/ash-project/ash_postgres/compare/v2.4.22...v2.5.0) (2025-01-20)
### Features:
* add repo callback to disable atomic actions and error expressions (#464)
### Bug Fixes:
* generate a repo when selecting one
* handle regex match correctly (#460)
### Improvements:
* use prettier SQL in `Ash.calculate`
* add `c:AshPostgres.Repo.default_constraint_match_type`
* mark ash_raise_error as STABLE
## [v2.4.22](https://github.com/ash-project/ash_postgres/compare/v2.4.21...v2.4.22) (2025-01-13)
### Bug Fixes:
* inner join bulk operations if distinct? is present
* fully specificy synthesized indices from multi-resource tables
## [v2.4.21](https://github.com/ash-project/ash_postgres/compare/v2.4.20...v2.4.21) (2025-01-06)
### Bug Fixes:
* filter query by source record ids when lateral joining
* don't use symlinked app dir for migration's path
## [v2.4.20](https://github.com/ash-project/ash_postgres/compare/v2.4.19...v2.4.20) (2024-12-26)
### Bug Fixes:
* use passed in version of postgres when modifying existing repo
## [v2.4.19](https://github.com/ash-project/ash_postgres/compare/v2.4.18...v2.4.19) (2024-12-26)
### Bug Fixes:
* ensure there is always at least one upsert field so filter is run
### Improvements:
* better min_pg_version when modifying a repo
* automatically set `min_pg_version` where possible
* use a notice to suggest configuring `min_pg_version`
## [v2.4.18](https://github.com/ash-project/ash_postgres/compare/v2.4.17...v2.4.18) (2024-12-20)
### Bug Fixes:
* handle double select issue
### Improvements:
* make igniter optional
* make tsvector type selectable
## [v2.4.17](https://github.com/ash-project/ash_postgres/compare/v2.4.16...v2.4.17) (2024-12-16)
### Bug Fixes:
* Fix query for metadata on foreign keys and fix duplicate references being produced (#444)
* alter resource generation query to go to the source pg_constraints table instead of to the view to fetch constraint data (#443)
## [v2.4.16](https://github.com/ash-project/ash_postgres/compare/v2.4.15...v2.4.16) (2024-12-12)
### Bug Fixes:
* properly support expr errors in bulk create
* only build references for belongs_to relationships
### Improvements:
* add postgres_reference_expr callback (#438)
## [v2.4.15](https://github.com/ash-project/ash_postgres/compare/v2.4.14...v2.4.15) (2024-12-06)
### Bug Fixes:
* split off varchar options from index
* don't attempt to use non-existent relationship
* handle manual/no_attributes? relationships in lateral join logic
* don't use `priv` configuration for snapshot_path
### Improvements:
* update sql implementation for type determination
## [v2.4.14](https://github.com/ash-project/ash_postgres/compare/v2.4.13...v2.4.14) (2024-11-27)
### Bug Fixes:
* pass AST to deal with stupid igniter behavior
## [v2.4.13](https://github.com/ash-project/ash_postgres/compare/v2.4.12...v2.4.13) (2024-11-26)
### Bug Fixes:
- [`mix ash.migrate`] honor the `snapshots_only` option
### Improvements:
- [`mix ash.migrate`] honor repo configuration in migration generator
- [`mix ash.codegen`] honor `:priv` in migration generator, and make it explicitly configurable
- [`mix ash_postgres.install`] don't generate task aliases that run seeds in test
## [v2.4.12](https://github.com/ash-project/ash_postgres/compare/v2.4.11...v2.4.12) (2024-10-30)
### Bug Fixes:
- [query builder] don't double add distinct clauses
- [`AshPostgres.DataLayer`] don't use `cast` for changes
### Improvements:
- [`AshPostgres.Repo`] set `prefer_transaction?` to false in generated repos
- [`AshPostgres.DataLayer`] support prefer_transaction?
## [v2.4.11](https://github.com/ash-project/ash_postgres/compare/v2.4.10...v2.4.11) (2024-10-23)
### Bug Fixes:
- [upserts] ensure repo_opts is passed through to `repo.all/2`
## [v2.4.10](https://github.com/ash-project/ash_postgres/compare/v2.4.9...v2.4.10) (2024-10-23)
## Security
- Patch of [GHSA-hf59-7rwq-785m](https://github.com/ash-project/ash_postgres/security/advisories/GHSA-hf59-7rwq-785m) Empty, atomic, non-bulk actions, policy bypass for side-effects vulnerability.
### Bug Fixes:
- [upserts] run any query that could produce errors when performing atomic upgrade
- [multitenant migrations] race condition compiling migrations when concurrently creating new tenants (#406)
## [v2.4.9](https://github.com/ash-project/ash_postgres/compare/v2.4.8...v2.4.9) (2024-10-16)
### Bug Fixes:
- [`mix ash_postgres.gen.resources`] fix resource generator task & tests
## [v2.4.8](https://github.com/ash-project/ash_postgres/compare/v2.4.7...v2.4.8) (2024-10-11)
### Improvements:
- [migration generator] use the `name` parameter when generating migrations
## [v2.4.7](https://github.com/ash-project/ash_postgres/compare/v2.4.6...v2.4.7) (2024-10-10)
### Improvements:
- [upserts] adapt to fixes and optimizations around skipped upserts in ash core
## [v2.4.6](https://github.com/ash-project/ash_postgres/compare/v2.4.5...v2.4.6) (2024-10-07)
### Improvements:
- [`mix ash_postgres.install`] with `--yes` assume oldest version
## [v2.4.5](https://github.com/ash-project/ash_postgres/compare/v2.4.4...v2.4.5) (2024-10-06)
### Bug Fixes:
- [upserts] ensure upsert fields are uniq
### Improvements:
- [`mix ash_postgres.install`] detect 1 arg repo use in installer
- [`AshPostgres.Repo`] support to_ecto(%Ecto.Changeset{}) and from_ecto(%Ecto.Changeset{}) (#395)
## [v2.4.4](https://github.com/ash-project/ash_postgres/compare/v2.4.3...v2.4.4) (2024-09-29)
### Bug Fixes:
- [atomic updates] handle atomic array operations
## [v2.4.3](https://github.com/ash-project/ash_postgres/compare/v2.4.2...v2.4.3) (2024-09-27)
### Bug Fixes:
- [`mix ash_postgres.gen.resources`] support pg <= 14 in resource generator, and update tests
## [v2.4.2](https://github.com/ash-project/ash_postgres/compare/v2.4.1...v2.4.2) (2024-09-24)
### Bug Fixes:
- [migration generator] typo of `biging` -> `bigint`
- [migration generator] altering attributes not properly generating foreign keys in some cases
- [`mix ash_postres.install`] use correct module name in the `DataCase` moduledocs. (#393)
- [migration generator] trim input before passing to `String.to_integer/1`. (#389)
### Improvements:
- [`mix ash_postgres.install`] add `--repo` option to installer, and warn on clashing existing repo
- [`mix ash_postgres.install`] prompt for minimum pg version
- [`mix ash_postgres.install`] adjust mix task aliases to be used with `ash_postgres`
- [migration generator] set a name for generated migrations
## [v2.4.1](https://github.com/ash-project/ash_postgres/compare/v2.4.0...v2.4.1) (2024-09-16)
### Bug Fixes:
- [bulk updates] ensure that returning is never an empty list
- [`mix ash_postgres.gen.resources`] match on table schema as well as table name
## [v2.4.0](https://github.com/ash-project/ash_postgres/compare/v2.3.1...v2.4.0) (2024-09-13)
### Features:
- [`AshPostgres.Ltree`] Implement Ltree Type (#385)
### Improvements:
- [migration generator] remove LEAKPROOF from function to prevent migration issues
- [`Ash.Changeset`] support upcoming `action_select` options
- [`mix ash.install`] ensure `Repo` is started after telemetry in igniter installer
## [v2.3.1](https://github.com/ash-project/ash_postgres/compare/v2.3.0...v2.3.1) (2024-09-05)
### Improvements:
- [`mix ash_postgres.gen.migrations`] better imported index names
- [`mix ash_postgres.gen.migrations`] add `--extend` option, forwarded to generated resource
## [v2.3.0](https://github.com/ash-project/ash_postgres/compare/v2.2.5...v2.3.0) (2024-09-05)
### Features:
- [`mix ash_postgres.gen.resources`] Add `mix ash_postgres.gen.resources` for importing tables from an existing database as resources
## [v2.2.5](https://github.com/ash-project/ash_postgres/compare/v2.2.4...v2.2.5) (2024-09-04)
### Improvements:
- [`AshPostgres.DataLayer`] support ash main upsert_condition logic
## [v2.2.4](https://github.com/ash-project/ash_postgres/compare/v2.2.3...v2.2.4) (2024-09-03)
### Bug Fixes:
- [`AshPostgres.DataLayer`] ensure default bindings are present on data layer
- [`AshPostgres.DataLayer`] properly traverse newtypes when determining types
## [v2.2.3](https://github.com/ash-project/ash_postgres/compare/v2.2.2...v2.2.3) (2024-08-18)
### Bug Fixes:
- [`mix ash_postgres.install`] was not adding ash_functions/min_pg_version
## [v2.2.2](https://github.com/ash-project/ash_postgres/compare/v2.2.1...v2.2.2) (2024-08-17)
### Bug Fixes:
- [`mix ash_postgres.install`] properly handle new igniter installer functions
## [v2.2.1](https://github.com/ash-project/ash_postgres/compare/v2.2.0...v2.2.1) (2024-08-16)
### Bug Fixes:
- [`AshPostgres.DataLayer`] set a proper default for `skip_unique_indexes`
### Improvements:
- [`mix ash_postgres.install`] include `min_pg_version` in new generators
## [v2.2.0](https://github.com/ash-project/ash_postgres/compare/v2.1.19...v2.2.0) (2024-08-13)
### Bug Fixes:
- [`AshPostgres.Repo`] remove `Agent` "convenience" for determining min pg version
We need to require that users provide this function. To that end we're
adding a warning in a minor release branch telling users to define this.
The agent was acting as a bottleneck that all queries must go through,
causing nontrivial performance issues at scale.
- [upserts] handle filter condition on create (#368)
## [v2.1.19](https://github.com/ash-project/ash_postgres/compare/v2.1.18...v2.1.19) (2024-08-12)
### Bug Fixes:
- [ecto compatibility] we missed a change when preparing for ecto 3.12 parameterized type changes
- [exists aggregates] update ash_sql for exists aggregate fixes
## [v2.1.18](https://github.com/ash-project/ash_postgres/compare/v2.1.17...v2.1.18) (2024-08-09)
### Improvements:
- [`ash_postgres.gen.migration`] dynamically select and allow setting a repo
## v2.1.17 (2024-07-27)
### Improvements:
- [`ash_sql`] update ash & ash_sql for various fixes
## v2.1.16 (2024-07-25)
### Bug Fixes:
- [updates] don't overwrite non-updated fields on update
- [`mix ash_postgres.generate_migrations`] ensure app is compiled before using repo modules
### Improvements:
- [`ash_sql`] update ash_sql for cleaner queries
## [v2.1.15](https://github.com/ash-project/ash_postgres/compare/v2.1.14...v2.1.15) (2024-07-23)
### Bug Fixes:
- [query building] use a subquery if any exists aggregates are in play
## [v2.1.14](https://github.com/ash-project/ash_postgres/compare/v2.1.13...v2.1.14) (2024-07-22)
### Bug Fixes:
- [multitenancy] properly convert tenant to string when building lateral join
## [v2.1.13](https://github.com/ash-project/ash_postgres/compare/v2.1.12...v2.1.13) (2024-07-22)
### Bug Fixes:
- [atomic validations] update ash & ash_sql for fixes, test atomic validations in destroys
## [v2.1.12](https://github.com/ash-project/ash_postgres/compare/v2.1.11...v2.1.12) (2024-07-19)
### Bug Fixes:
- [`mix ash_postgres.install`] properly add prod config in installer
### Bug Fixes:
- [`mix ash_postgres.install`] properly perform or don't perform configuration modification code
- [`has_many` relationships] allow non-unique has_many source_attributes (#355)
### Improvements:
- [`mix ash_postgres.install`] prepend `:postgres` to section order
- [`mix ash.patch.extend`] pluralize table name in extender
## [v2.1.10](https://github.com/ash-project/ash_postgres/compare/v2.1.9...v2.1.10) (2024-07-18)
### Bug Fixes:
- [lateral joins] allow non-unique has_many source_attributes (#355)
## [v2.1.9](https://github.com/ash-project/ash_postgres/compare/v2.1.8...v2.1.9) (2024-07-18)
### Bug Fixes:
### Improvements:
- [`mix ash.gen.resource`] pluralize table name in extender
## v2.1.8 (2024-07-17)
### Bug Fixes:
- [aggregates] update ash_sql & ash for include_nil? fix (and test it)
- [aggregates] ensure synthesized query aggregates have context set
### Improvements:
- [installers] update igniter dependencies
- [expressions] add `binding()` expression, for referring to the current table
## v2.1.7 (2024-07-17)
### Bug Fixes:
- update to latest ash version for aggregate fix
- update ash_sql for include_nil? fix and test it
- ensure synthesized query aggregates have context set
### Improvements:
- update ash/igniter dependencies
- add `binding()` expression
- use latest type casting code from ash
- support new type determination code
## [v2.1.6](https://github.com/ash-project/ash_postgres/compare/v2.1.5...v2.1.6) (2024-07-16)
### Bug Fixes:
- ensure synthesized query aggregates have context set
### Improvements:
- update ash/igniter dependencies
- add `binding()` expression
- use latest type casting code from ash
- support new type determination code
## [v2.1.5](https://github.com/ash-project/ash_postgres/compare/v2.1.4...v2.1.5) (2024-07-15)
### Bug Fixes:
- ensure synthesized query aggregates have context set
### Improvements:
- [`Ash.Expr`] add `binding()` expression to refer to current table
- [`Ash.Expr`] use latest type casting code from ash
## [v2.1.4](https://github.com/ash-project/ash_postgres/compare/v2.1.3...v2.1.4) (2024-07-14)
### Improvements:
- [`Ash.Expr`] use latest type casting code from ash
## [v2.1.3](https://github.com/ash-project/ash_postgres/compare/v2.1.2...v2.1.3) (2024-07-14)
### Improvements:
- [`Ash.Expr`] support new type determination code
## [v2.1.2](https://github.com/ash-project/ash_postgres/compare/v2.1.1...v2.1.2) (2024-07-13)
- [query builder] update ash & improve type casting behavior
## v2.1.1 (2024-07-10)
### Bug Fixes:
- [mix ash_postgres.install] properly interpolate module names in installer
## v2.1.0 (2024-07-10)
### Features:
- [AshPostgres.DataLayer] add `storage_types` configuration (#342)
- [generators] add `mix ash_postgres.install` (`mix igniter.install ash_postgres`)
### Bug Fixes:
- [AshPostgres.DataLayer] ensure that `from_many?` relationships in lateral join have a limit applied
- [migration generator] properly delete args passed from migrate to ecto
### Improvements:
- [Ash.Type.UUIDv7] add support for `:uuid_v7` type (#333)
- [migration generator] order keys in snapshot json (#339)
## [v2.0.12](https://github.com/ash-project/ash_postgres/compare/v2.0.11...v2.0.12) (2024-06-20)
### Bug Fixes:
- [migration generator] only add references indexes if they've changed
## [v2.0.11](https://github.com/ash-project/ash_postgres/compare/v2.0.10...v2.0.11) (2024-06-19)
### Bug Fixes:
- [AshPostgres.DataLayer] rework expression type detection
- [migration generator] ensure index keys are atoms in generated migrations (#332)
## [v2.0.10](https://github.com/ash-project/ash_postgres/compare/v2.0.9...v2.0.10) (2024-06-18)
### Bug Fixes:
- [AshPostgres.DataLayer] update ash_sql to fix query generation issues
- [migration generator] ensure that parens are always added to calculation generated SQL
- [migration generator] properly get calculation sql
### Improvements:
- [AshPostgres.DataLayer] better type handling using new type inference
- [identities] identities w/ calculations and where clauses in upserts
## [v2.0.9](https://github.com/ash-project/ash_postgres/compare/v2.0.8...v2.0.9) (2024-06-13)
### Features:
- [migration generator] autogenerate index in references (#321)
### Bug Fixes:
- [AshPostgres.DataLayer] fix invalid select on sorting by some calculations
- [AshPostgres.DataLayer] fix error message displaying in identity verifier
- [lateral joining] ensure that context multitenancy is properly applied to lateral many-to-many joins
- [migration generator] don't assume old snapshots have `index?` key for attributes
- [ash.rollback] `list_tenants` -> `all_tenants`
- [ash.rollback] when checking for roll back-able migrations, only check `Path.basename`
### Improvements:
- [migration generator] don't sort identity keys.
## [v2.0.8](https://github.com/ash-project/ash_postgres/compare/v2.0.7...v2.0.8) (2024-06-06)
## v2.0.7 (2024-06-06)
### Bug Fixes:
- [fix] update ash_sql and fix issues retaining lateral join context
- [fix] ensure that all current attribute values are selected on bulk update shifted root query
## v2.0.6 (2024-05-29)
### Bug Fixes:
- [atomic updates] properly support aggregate references in atomic updates
- [migration generator] ensure that identities are dropped when where/nils_distinct? are changed
- [migration generator] ensure that `where` is wrapped in parenthesis
- [ecto compatibility] support old/new parameterized type format
### Improvements:
- [identities] require clarification of index names > 63 characters
- [mix ash_postgres.squash_snapshots] add `ash_postgres.squash_snapshots` mix task (#302)
## v2.0.5 (2024-05-24)
### Improvements:
- [idenities] update `ash` and support new `identity` features
## [v2.0.4](https://github.com/ash-project/ash_postgres/compare/v2.0.3...v2.0.4) (2024-05-23)
### Bug Fixes:
[updates] ensure update's reselect all changing values
## [v2.0.3](https://github.com/ash-project/ash_postgres/compare/v2.0.2...v2.0.3) (2024-05-22)
### Bug Fixes:
[updates] handle complex maps/list on update
[Ash.Query] support anonymous aggregates in sorts
[exists] ensure parent_as bindings properly reference binding names
[migration generator] add and remove custom indexes in tandem properly
### Improvements:
[references] support `on_delete: :nilify` for specific columns (#289)
## [v2.0.2](https://github.com/ash-project/ash_postgres/compare/v2.0.1...v2.0.2) (2024-05-15)
### Bug Fixes:
- [update_query/destroy_query] rework the update and destroy query builder to support multiple kinds of joining
- [mix ash_postgres.migrate] remove duplicate repo flags (#285)
- [Ash.Error.Changes.StaleRecord] ensure filter is included in stale record error messages we return
- [AshPostgres.MigrationGenerator] properly parse previous version from migration generation
## v2.0.1 (2024-05-12)
### Bug Fixes:
- [AshPostgres.MigrationGenerator] properly parse previous version of custom extensions when generating migrations
## v2.0.0
The changelog is starting over. Please see `/documentation/1.0-CHANGELOG.md` in GitHub for previous changelogs.
### Breaking Changes:
- [Ash.Type.UUID] change defaults in migrations for uuids to `gen_random_uuid()`
- [Ash.Type.DateTime] Use UTC for default generated timestamps (#131)
- [AshPostgres.DataLayer] must now know the min_pg_version that will be used. By default we check this at repo startup by asking the database, but you can also define it yourself.
- [AshPostgres.DataLayer] Now requires postgres version 14 or higher
### Features:
- [AshPostgres.Timestamptz] add timestamptz types (#266)
- [AshPostgres.Repo] add `create?` and `drop?` callbacks to `AshPostgres.Repo` (#143)
- [AshPostgres.DataLayer] support `c:AshDataLayer.calculate/3` capability
### Bug Fixes:
- [AshPostgres.MigrationGenerator] honor dry_run option in extension migrations
- [AshPostgres.MigrationGenerator] don't wait for shell input when checking migrations
- [AshPostgres.DataLayer] ensure limit/offset triggers joining for update/destroy query
- [AshPostgres.DataLayer] properly honor `limit` in bulk operations
- [AshPostgres.DataLayer] ensure that `exists` with a filter paired with `from_many?` functions properly
### Improvements:
- [AshPostgres.Repo] warn on missing ash-functions at compile time
- [AshPostgres.Repo] add default implementation for pg_version, and rename to `min_pg_version`
- [mix ash.rollback] support `mix ash.rollback` with interactive rollback
- [AshSql] move many internals out to `AshSql` package to be shared