All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
v1.3.62 (2023-11-16)
-
use
synonymous_relationship_path
when looking up ref bindings -
add calculation context to calculation expressions
v1.3.61 (2023-11-15)
-
don't append update_defaults automatically if
upsert_fields
was set -
don't ensure repo compiled at compile time
-
handle additional case for new functional repo callback
-
get resource from proper bindings on
exists
query
-
support a 2 argument function for the repo option
-
spport
CURRENT_DATE
default
v1.3.60 (2023-10-27)
- support
parent
in sort expressions
v1.3.59 (2023-10-25)
- join relationships for aggregate filters
v1.3.58 (2023-10-24)
-
don't traverse new types for storage type
-
properly join to related references in relationship filters
v1.3.57 (2023-10-17)
- allow for combining
AshEdgeDB.Repo
with other repos
v1.3.56 (2023-10-11)
- don't raise all errors
v1.3.55 (2023-10-11)
- support atomics on upserts
v1.3.54 (2023-10-10)
- fix type specification for foreign_key_names
v1.3.53 (2023-10-10)
-
don't run main query if only
exists
aggs are specified -
subquery aggregate if limit is applied
-
update ash dependency
-
support
:ci_string
as a storage_type -
support to-one references in calculations
v1.3.52 (2023-09-26)
- use
:wrap_list
type instead of custom validaitons (#167)
-
fix
upsert_fields
behavior for upserts -
support data_layer_context option on transactions
v1.3.51 (2023-09-20)
-
add
AshEdgeDB.Tsvector
-
add AshEdgeDB.Tsquery
-
support vector types and
vector_cosine_distance
v1.3.50 (2023-09-06)
- Allow resources to opt out of the primary key requirement. (#166)
v1.3.49 (2023-09-04)
- implement ash lifecycle tasks
v1.3.48 (2023-09-04)
- better error message for missing table config
v1.3.47 (2023-08-31)
- ensure we always select at least one field, and change one field
v1.3.46 (2023-08-31)
- use provided values for updates
v1.3.45 (2023-08-31)
- don't clobber loaded data on update
v1.3.44 (2023-08-31)
- properly handle ensure nsted calls to
get_path
are jsonb
- support atomics (#165)
v1.3.43 (2023-08-22)
- properly provide constraints on all type casting
v1.3.42 (2023-08-22)
-
support non-atom named aggregates
-
handle case where multiple grouped aggregates depend on further aggregates
-
support in-line aggregates
-
specify @behaviour in AshEdgeDB.Type
-
add
value_to_edgedb_default/3
andAshEdgeDB.Type
-
handle non-cast-in-type queries
v1.3.41 (2023-08-08)
- handle interaction between distinct, join filters and sort
-
custom-extension implementation (#162)
-
custom-extension implementation
-
allow adding custom-extension by module's reference and fixes formatting
-
support new
from_many?
option -
subquery after distinct to handle distinct
v1.3.40 (2023-08-01)
- properly detect optimizable first aggregates
v1.3.39 (2023-08-01)
- properly alter deferrability on attribute alter
-
update ash
-
handle empty maps in migration defaults automatically
-
handle empty lists in migraiton defaults automatically
-
apply sort in subqueries properly
-
handle
no_attributes?
better in more places -
support the new
parent/1
expr in relationships -
explicitly lock the source row
v1.3.38 (2023-07-21)
- un-break aggregates referencing calculations
- properly handle context for referenced calculations
v1.3.37 (2023-07-19)
- support new
distinct_sort
option
v1.3.36 (2023-07-19)
-
type casting improvements, handle manual relationships in
exists
-
protected names in conflict_target (#158)
v1.3.35 (2023-07-18)
- support new
distinct
features from ash core
v1.3.34 (2023-07-18)
- support unary
-/1
operator
v1.3.33 (2023-07-14)
- convert
Ash.Resource.Aggregate
toAsh.Query.Aggregate
when adding
-
support
deferrable
option in migration generator -
support
exists
aggregates
v1.3.32 (2023-07-12)
- support
at/2
expression
v1.3.31 (2023-07-12)
-
raise better error on invalid filter values
-
Fixes multiple schema identities migrations (#156)
-
fix Logger deprecations for elixir 1.15 (#155)
-
interpolate table names with
inspect
in generated migrations (#152)
-
better
ash_functions
message -
support
string_split
-
add edgedb expressions guide
-
add
simple_join_first_aggregates
option
v1.3.30 (2023-06-06)
-
handle changing custom index names better
-
validate custom index names
v1.3.29 (2023-06-05)
- properly handle nested aggregate references
v1.3.28 (2023-05-23)
- handle raised errors in bulk actions
v1.3.27 (2023-05-17)
- raise better errors on conflicting locks
v1.3.26 (2023-05-16)
-
use proper lock list again
-
use proper list of row level locks
-
check
changeset.action_type
notchangeset.action.type
- support more lock types
v1.3.25 (2023-05-08)
- support changeset.filters (for optimistic locking)
v1.3.24 (2023-05-03)
- support bulk upserts
v1.3.23 (2023-05-01)
-
don't incorrectly mark references as primary key references
-
go back to old migration sorting algorithm
v1.3.22 (2023-04-28)
- support locking
v1.3.21 (2023-04-27)
- handle new spark versions better, more explicit snapshots
v1.3.20 (2023-04-22)
-
subquery aggregates when a distinct is being added
-
don't call
.table
onnil
-
wrap
datetime_add
in parenthesis -
handle primary key changes properly
-
update ash
-
don't call
.table
onnil
snapshot
-
use digraph for operation ordering
v1.3.19 (2023-04-07)
-
properly handle newtypes, add test
-
honor newtypes when determining migration type
-
handle nil ash_functions_version in another place
-
handle nil ash_functions_version
- update ash
v1.3.18 (2023-03-23)
v1.3.17 (2023-03-20)
- properly map
parent
bindings inexists
v1.3.16 (2023-03-03)
- support new date expressions
v1.3.15 (2023-02-23)
- add aggregates used by sorts
v1.3.14 (2023-02-21)
- Implement string_join expr (#132)
v1.3.13 (2023-02-17)
- don't use
:distinct
whenuniq?
is nottrue
v1.3.12 (2023-02-16)
- exclude
order_by
when building aggregates
v1.3.11 (2023-02-16)
-
properly find migration directories in umbrella apps
-
don't double-cast to array for list aggregates
-
significantly optimize aggregate queries
-
better type casting for concat operator
v1.3.10 (2023-02-09)
- sorting on optimized first aggregates
v1.3.9 (2023-02-09)
-
do limit/offset outside of query if distinct is required
-
load by order ascending
-
support new
uniq?
option on count/list aggregates -
optimized
first
aggregates where possible
v1.3.8 (2023-02-06)
- Actually use
AshEdgeDB.Repo
behaviour (#129)
- authorization filters are now attached by ash core
v1.3.7 (2023-02-06)
- Actually use
AshEdgeDB.Repo
behaviour (#129)
- authorization filters are now attached by ash core
v1.3.6 (2023-02-03)
-
properly set next migration name
-
override
insert
function for proper ecto interop
- add
migration_ignore_attributes
v1.3.5 (2023-01-29)
- properly convert to/from ecto, only when necessary
v1.3.4 (2023-01-28)
- support latest ecto interop changes in ash core
-
properly cast division to floats for elixir-y behavior
-
support for dynamically set repo
-
update ash
v1.3.3 (2023-01-18)
- update to new docs patterns
v1.3.2 (2023-01-17)
-
nest subqueries when required for distinct
-
replace
{:in, ...}
type with{:array, ...}
v1.3.1 (2023-01-11)
- allow for non attribute aggregate references for first/list
v1.3.0 (2023-01-11)
- update to latest ash
v1.3.0-rc.4 (2023-01-09)
- properly join to all required relationships
v1.3.0-rc.3 (2023-01-09)
- properly type cast in fragments (and elsewhere)
v1.3.0-rc.2 (2023-01-06)
- undo changes that caused type casting bugs
v1.3.0-rc.1 (2023-01-06)
- undo changes that caused type casting bugs
v1.3.0-rc.1 (2023-01-06)
-
use
parent_expr
instead ofthis
-
various expression & type building fixes
v1.3.0-rc.0 (2023-01-04)
- support latest ash
-
honor calculation constraints
-
handle lists with expressions inside
-
support calc constraints
-
support new
cast_in_query?/2
-
support calculations as aggregate targets
v1.2.6 (2022-12-27)
-
properly set
migrations_path
default in umbrellas -
don't subquery unless we have to
v1.2.5 (2022-12-21)
-
don't group aggregates that reference relationships in their filters
-
properly skip unique indexes when configured
- add like and ilike
v1.2.4 (2022-12-18)
- properly add aggregates to query when referenced from calculations
- distinct on source of query, not relationship destination
v1.2.3 (2022-12-15)
- properly combine sort + to many join filter
v1.2.2 (2022-12-15)
- udpate to latest ash, fix array issues
v1.2.1 (2022-12-13)
-
pattern match error in
lazy_non_matching_defaults/1
-
use attribute name not attribute for default funs
-
actually fix
default_fun
upserts -
fix upserting update_defaults
v1.2.0 (2022-12-13)
- make migration generator work better for umbrellas
v1.2.0-rc.1 (2022-12-10)
-
don't make migration generation recursive
-
nevermind, can't make migrate recursive
-
make migrate task recursive as well
-
mark generate_migrations as recursive for umbrellas
v1.2.0-rc.0 (2022-12-10)
- avg/min/max/custom aggregate support
-
various broken behavior from new aggregate work
-
forgot a
-
fix various problems with the model behind aggregates
-
properly set binding names for many to many join filters
-
better error messages from mix tasks
-
validate that references refer to relationships
-
avg/min/max/custom aggregate support
-
upgrade and depend on ash version
-
fix lateral many to many joins
-
inform users about edgedb incompatibility with multidimensional arrays
v1.1.3 (2022-12-01)
- properly turn custom index keys into atoms
-
update ash, add test for transaction hooks
-
support new transaction info with hooks
-
add unique constraints to changeset for custom unique indexes
-
separate out concurrent index creations and do them in a separate transaction
v1.1.2 (2022-11-21)
- don't use hard-coded join assoc name (#118)
- add
migration_defaults
for customizing default values
v1.1.1 (2022-10-25)
- && operator in expressions to point to ash_elixir_and (#115)
- add check for unsupported expression
v1.1.0 (2022-10-20)
- support
now()
in latest Ash
v1.0.0 (2022-10-17)
-
no unnecessary type cast on count/sum aggregates
-
don't apply
filter
toarray_agg
-
update to Ash 2.0
-
handle UUID types better
-
set lateral join source for latest ash
-
use
prepend?: true
option when applying relationship sorts
v1.0.0-rc.9 (2022-10-07)
-
handle custom calculation selects properly
-
use attribute source for identity fields
-
update to the latest ash
-
remove the need to dynamically expand fragments
-
when casting string to uuid, dump to binary
-
update to latest ash
v1.0.0-rc.8 (2022-09-29)
-
never attempt to group custom operations
-
wrap case statement in parens
exists
filters necessitate multiple aggregate joins (for now)
v1.0.0-rc.7 (2022-09-28)
- properly type cast top level fragments
-
update to the latest ash
-
upgrade to new
exists
usage
v1.0.0-rc.6 (2022-09-21)
- support latest ash
v1.0.0-rc.5 (2022-09-15)
-
update to latest ash
-
implement Length function (#111)
-
upgrade to latest ash
v1.0.0-rc.4 (2022-09-14)
-
support latest ash
-
support manual relationships with joins
v1.0.0-rc.3 (2022-09-12)
- keep unique index keys in order in migrations
v1.0.0-rc.2 (2022-09-06)
- support latest ash
exists/2
expr
v1.0.0-rc.1 (2022-09-04)
v0.43.0 (2022-08-05)
-
properly order check constraints
-
remove check constraints before adding them
-
fix typecasting for calculations & embed access
-
add custom_statements to migration generator
-
support
||
and&&
v0.42.0-rc.7 (2022-07-14)
- support
cast_in_query?/0
andsource
-
use new doc_index patterns
-
support upsert_identity with base_filter
-
support upsert_identity with base filters
-
handle various join bugs
-
use attribute.name if attribute.source is nil
-
set attribute source properly
-
ensure source is always set on attributes in snapshots
-
handle paths for aggregates w/ > 2 relationships
-
rename attributes correctly in down migration (#98)
-
don't generate modify commands for attributes due to schema changes
-
default schema to primary schema
-
test and confirm behavior of schemas
-
use correct bindings for filtered relationships
-
cast calcs in query expressions
-
explicitly type cast aggregate/calc selects
-
don't try and match reference schema to table schema
-
don't use
table
where we should useschema
in migration generator -
handle combinations of distinct & sort
-
ensure all single actions are explicitly marked as primary? (#95)
-
only rename schema when necessary
-
inspect un-defaultable value in error message
-
select custom aggregates properly
-
don't add reference when renaming column if unnecessary
-
don't cast
nil
to""
-
!is_atom/1
->!is_boolean/1
-
sanitize lists to stringify atoms
-
cast embedded atoms to strings first
-
don't cast
{:in, :any}
types -
more don't cast any types
-
don't cast if there is no type
-
properly handle relationship filter bindings
-
don't consider fields changed with only source -> name changes
-
handle name -> source change in more places
-
handle name -> source rename in operation ordering
-
fix aggregate/base filters
-
don't select more fields than necessary
-
don't call
ecto_type
twice when resolving types -
place expressions in the proper order in selects
-
match on count in expr
-
remove incorrect param count tracking
-
properly track param count
-
properly reverse parameters before/after expansion
-
don't use the base ecto type
-
don't sort when joining
-
ensure repo is compiled (#80)
-
properly construct nested join relationships
-
use
CiStringWrapper
type in ash_edgedb -
ensure we are returning * on upserts (#79)
-
handle new if types
-
copy query prefix to newly created query (#74)
-
add default guide, and empty ash edgedb guide
-
set
update_defaults
on upsert results -
handle fallback ecto migration default elegantly (#94)
-
add
ignore?
option toreferences
-
check_migrations, rename to
--check
-
add explicit timeout capability declaration
-
add static schema specification in DSL
-
support static schema specification in migration generator
-
implement decimal ecto migration default (#91)
-
support float as Ecto migration default (#89)
-
update ecto
-
add atom impl for
EctoMigrationDefault
-
Add EctoMigrationDefault protocol and implement defaults (#87)
-
update ecto, fix dialyzer
-
support new timeouts
-
make select unique before running query
-
add doc_index
-
add exclusion_constraint_names (#83)
-
support referencing aggregates from aggregate filters
-
support access syntax
-
don't upsert defaults on conflict (#77)
-
relax ash version requirement
-
add custom migration types, and repo level override
-
update to latest version of ash
v0.42.0-rc.6 (2022-07-10)
- support
cast_in_query?/0
andsource
-
use new doc_index patterns
-
support upsert_identity with base_filter
-
support upsert_identity with base filters
-
handle various join bugs
-
use attribute.name if attribute.source is nil
-
set attribute source properly
-
ensure source is always set on attributes in snapshots
-
handle paths for aggregates w/ > 2 relationships
-
rename attributes correctly in down migration (#98)
-
don't generate modify commands for attributes due to schema changes
-
default schema to primary schema
-
test and confirm behavior of schemas
-
use correct bindings for filtered relationships
-
cast calcs in query expressions
-
explicitly type cast aggregate/calc selects
-
don't try and match reference schema to table schema
-
don't use
table
where we should useschema
in migration generator -
handle combinations of distinct & sort
-
ensure all single actions are explicitly marked as primary? (#95)
-
only rename schema when necessary
-
inspect un-defaultable value in error message
-
select custom aggregates properly
-
don't add reference when renaming column if unnecessary
-
don't cast
nil
to""
-
!is_atom/1
->!is_boolean/1
-
sanitize lists to stringify atoms
-
cast embedded atoms to strings first
-
don't cast
{:in, :any}
types -
more don't cast any types
-
don't cast if there is no type
-
properly handle relationship filter bindings
-
don't consider fields changed with only source -> name changes
-
handle name -> source change in more places
-
handle name -> source rename in operation ordering
-
fix aggregate/base filters
-
don't select more fields than necessary
-
don't call
ecto_type
twice when resolving types -
place expressions in the proper order in selects
-
match on count in expr
-
remove incorrect param count tracking
-
properly track param count
-
properly reverse parameters before/after expansion
-
don't use the base ecto type
-
don't sort when joining
-
ensure repo is compiled (#80)
-
properly construct nested join relationships
-
use
CiStringWrapper
type in ash_edgedb -
ensure we are returning * on upserts (#79)
-
handle new if types
-
copy query prefix to newly created query (#74)
-
set
update_defaults
on upsert results -
handle fallback ecto migration default elegantly (#94)
-
add
ignore?
option toreferences
-
check_migrations, rename to
--check
-
add explicit timeout capability declaration
-
add static schema specification in DSL
-
support static schema specification in migration generator
-
implement decimal ecto migration default (#91)
-
support float as Ecto migration default (#89)
-
update ecto
-
add atom impl for
EctoMigrationDefault
-
Add EctoMigrationDefault protocol and implement defaults (#87)
-
update ecto, fix dialyzer
-
support new timeouts
-
make select unique before running query
-
add doc_index
-
add exclusion_constraint_names (#83)
-
support referencing aggregates from aggregate filters
-
support access syntax
-
don't upsert defaults on conflict (#77)
-
relax ash version requirement
-
add custom migration types, and repo level override
-
update to latest version of ash
v0.42.0-rc.5 (2022-07-06)
- support
cast_in_query?/0
andsource
-
support upsert_identity with base_filter
-
support upsert_identity with base filters
-
handle various join bugs
-
use attribute.name if attribute.source is nil
-
set attribute source properly
-
ensure source is always set on attributes in snapshots
-
handle paths for aggregates w/ > 2 relationships
-
rename attributes correctly in down migration (#98)
-
don't generate modify commands for attributes due to schema changes
-
default schema to primary schema
-
test and confirm behavior of schemas
-
use correct bindings for filtered relationships
-
cast calcs in query expressions
-
explicitly type cast aggregate/calc selects
-
don't try and match reference schema to table schema
-
don't use
table
where we should useschema
in migration generator -
handle combinations of distinct & sort
-
ensure all single actions are explicitly marked as primary? (#95)
-
only rename schema when necessary
-
inspect un-defaultable value in error message
-
select custom aggregates properly
-
don't add reference when renaming column if unnecessary
-
don't cast
nil
to""
-
!is_atom/1
->!is_boolean/1
-
sanitize lists to stringify atoms
-
cast embedded atoms to strings first
-
don't cast
{:in, :any}
types -
more don't cast any types
-
don't cast if there is no type
-
properly handle relationship filter bindings
-
don't consider fields changed with only source -> name changes
-
handle name -> source change in more places
-
handle name -> source rename in operation ordering
-
fix aggregate/base filters
-
don't select more fields than necessary
-
don't call
ecto_type
twice when resolving types -
place expressions in the proper order in selects
-
match on count in expr
-
remove incorrect param count tracking
-
properly track param count
-
properly reverse parameters before/after expansion
-
don't use the base ecto type
-
don't sort when joining
-
ensure repo is compiled (#80)
-
properly construct nested join relationships
-
use
CiStringWrapper
type in ash_edgedb -
ensure we are returning * on upserts (#79)
-
handle new if types
-
copy query prefix to newly created query (#74)
-
set
update_defaults
on upsert results. For most users, this means that where previouslyupdated_at
would not get set on an upsert that ultimately resulted in an update, it will now. -
handle fallback ecto migration default elegantly (#94)
-
add
ignore?
option toreferences
-
check_migrations, rename to
--check
-
add explicit timeout capability declaration
-
add static schema specification in DSL
-
support static schema specification in migration generator
-
implement decimal ecto migration default (#91)
-
support float as Ecto migration default (#89)
-
update ecto
-
add atom impl for
EctoMigrationDefault
-
Add EctoMigrationDefault protocol and implement defaults (#87)
-
update ecto, fix dialyzer
-
support new timeouts
-
make select unique before running query
-
add doc_index
-
add exclusion_constraint_names (#83)
-
support referencing aggregates from aggregate filters
-
support access syntax
-
don't upsert defaults on conflict (#77)
-
relax ash version requirement
-
add custom migration types, and repo level override
-
update to latest version of ash
v0.42.0-rc.4 (2022-06-28)
- support
cast_in_query?/0
andsource
-
use attribute.name if attribute.source is nil
-
set attribute source properly
-
ensure source is always set on attributes in snapshots
-
handle paths for aggregates w/ > 2 relationships
-
rename attributes correctly in down migration (#98)
-
don't generate modify commands for attributes due to schema changes
-
default schema to primary schema
-
test and confirm behavior of schemas
-
use correct bindings for filtered relationships
-
cast calcs in query expressions
-
explicitly type cast aggregate/calc selects
-
don't try and match reference schema to table schema
-
don't use
table
where we should useschema
in migration generator -
handle combinations of distinct & sort
-
ensure all single actions are explicitly marked as primary? (#95)
-
only rename schema when necessary
-
inspect un-defaultable value in error message
-
select custom aggregates properly
-
don't add reference when renaming column if unnecessary
-
don't cast
nil
to""
-
!is_atom/1
->!is_boolean/1
-
sanitize lists to stringify atoms
-
cast embedded atoms to strings first
-
don't cast
{:in, :any}
types -
more don't cast any types
-
don't cast if there is no type
-
properly handle relationship filter bindings
-
don't consider fields changed with only source -> name changes
-
handle name -> source change in more places
-
handle name -> source rename in operation ordering
-
fix aggregate/base filters
-
don't select more fields than necessary
-
don't call
ecto_type
twice when resolving types -
place expressions in the proper order in selects
-
match on count in expr
-
remove incorrect param count tracking
-
properly track param count
-
properly reverse parameters before/after expansion
-
don't use the base ecto type
-
don't sort when joining
-
ensure repo is compiled (#80)
-
properly construct nested join relationships
-
use
CiStringWrapper
type in ash_edgedb -
ensure we are returning * on upserts (#79)
-
handle new if types
-
copy query prefix to newly created query (#74)
-
handle fallback ecto migration default elegantly (#94)
-
add
ignore?
option toreferences
-
check_migrations, rename to
--check
-
add explicit timeout capability declaration
-
add static schema specification in DSL
-
support static schema specification in migration generator
-
implement decimal ecto migration default (#91)
-
support float as Ecto migration default (#89)
-
update ecto
-
add atom impl for
EctoMigrationDefault
-
Add EctoMigrationDefault protocol and implement defaults (#87)
-
update ecto, fix dialyzer
-
support new timeouts
-
make select unique before running query
-
add doc_index
-
add exclusion_constraint_names (#83)
-
support referencing aggregates from aggregate filters
-
support access syntax
-
don't upsert defaults on conflict (#77)
-
relax ash version requirement
-
add custom migration types, and repo level override
-
update to latest version of ash
v0.42.0-rc.3 (2022-06-28)
- support
cast_in_query?/0
andsource
-
set attribute source properly
-
ensure source is always set on attributes in snapshots
-
handle paths for aggregates w/ > 2 relationships
-
rename attributes correctly in down migration (#98)
-
don't generate modify commands for attributes due to schema changes
-
default schema to primary schema
-
test and confirm behavior of schemas
-
use correct bindings for filtered relationships
-
cast calcs in query expressions
-
explicitly type cast aggregate/calc selects
-
don't try and match reference schema to table schema
-
don't use
table
where we should useschema
in migration generator -
handle combinations of distinct & sort
-
ensure all single actions are explicitly marked as primary? (#95)
-
only rename schema when necessary
-
inspect un-defaultable value in error message
-
select custom aggregates properly
-
don't add reference when renaming column if unnecessary
-
don't cast
nil
to""
-
!is_atom/1
->!is_boolean/1
-
sanitize lists to stringify atoms
-
cast embedded atoms to strings first
-
don't cast
{:in, :any}
types -
more don't cast any types
-
don't cast if there is no type
-
properly handle relationship filter bindings
-
don't consider fields changed with only source -> name changes
-
handle name -> source change in more places
-
handle name -> source rename in operation ordering
-
fix aggregate/base filters
-
don't select more fields than necessary
-
don't call
ecto_type
twice when resolving types -
place expressions in the proper order in selects
-
match on count in expr
-
remove incorrect param count tracking
-
properly track param count
-
properly reverse parameters before/after expansion
-
don't use the base ecto type
-
don't sort when joining
-
ensure repo is compiled (#80)
-
properly construct nested join relationships
-
use
CiStringWrapper
type in ash_edgedb -
ensure we are returning * on upserts (#79)
-
handle new if types
-
copy query prefix to newly created query (#74)
-
handle fallback ecto migration default elegantly (#94)
-
add
ignore?
option toreferences
-
check_migrations, rename to
--check
-
add explicit timeout capability declaration
-
add static schema specification in DSL
-
support static schema specification in migration generator
-
implement decimal ecto migration default (#91)
-
support float as Ecto migration default (#89)
-
update ecto
-
add atom impl for
EctoMigrationDefault
-
Add EctoMigrationDefault protocol and implement defaults (#87)
-
update ecto, fix dialyzer
-
support new timeouts
-
make select unique before running query
-
add doc_index
-
add exclusion_constraint_names (#83)
-
support referencing aggregates from aggregate filters
-
support access syntax
-
don't upsert defaults on conflict (#77)
-
relax ash version requirement
-
add custom migration types, and repo level override
-
update to latest version of ash
v0.42.0-rc.2 (2022-05-18)
- support
cast_in_query?/0
andsource
-
don't try and match reference schema to table schema
-
don't use
table
where we should useschema
in migration generator -
handle combinations of distinct & sort
-
ensure all single actions are explicitly marked as primary? (#95)
-
only rename schema when necessary
-
inspect un-defaultable value in error message
-
select custom aggregates properly
-
don't add reference when renaming column if unnecessary
-
don't cast
nil
to""
-
!is_atom/1
->!is_boolean/1
-
sanitize lists to stringify atoms
-
cast embedded atoms to strings first
-
don't cast
{:in, :any}
types -
more don't cast any types
-
don't cast if there is no type
-
properly handle relationship filter bindings
-
don't consider fields changed with only source -> name changes
-
handle name -> source change in more places
-
handle name -> source rename in operation ordering
-
fix aggregate/base filters
-
don't select more fields than necessary
-
don't call
ecto_type
twice when resolving types -
place expressions in the proper order in selects
-
match on count in expr
-
remove incorrect param count tracking
-
properly track param count
-
properly reverse parameters before/after expansion
-
don't use the base ecto type
-
don't sort when joining
-
ensure repo is compiled (#80)
-
properly construct nested join relationships
-
use
CiStringWrapper
type in ash_edgedb -
ensure we are returning * on upserts (#79)
-
handle new if types
-
copy query prefix to newly created query (#74)
-
check_migrations, rename to
--check
-
add explicit timeout capability declaration
-
add static schema specification in DSL
-
support static schema specification in migration generator
-
implement decimal ecto migration default (#91)
-
support float as Ecto migration default (#89)
-
update ecto
-
add atom impl for
EctoMigrationDefault
-
Add EctoMigrationDefault protocol and implement defaults (#87)
-
update ecto, fix dialyzer
-
support new timeouts
-
make select unique before running query
-
add doc_index
-
add exclusion_constraint_names (#83)
-
support referencing aggregates from aggregate filters
-
support access syntax
-
don't upsert defaults on conflict (#77)
-
relax ash version requirement
-
add custom migration types, and repo level override
-
update to latest version of ash
v0.42.0-rc.1 (2022-05-18)
- support
cast_in_query?/0
andsource
-
don't use
table
where we should useschema
in migration generator -
handle combinations of distinct & sort
-
ensure all single actions are explicitly marked as primary? (#95)
-
only rename schema when necessary
-
inspect un-defaultable value in error message
-
select custom aggregates properly
-
don't add reference when renaming column if unnecessary
-
don't cast
nil
to""
-
!is_atom/1
->!is_boolean/1
-
sanitize lists to stringify atoms
-
cast embedded atoms to strings first
-
don't cast
{:in, :any}
types -
more don't cast any types
-
don't cast if there is no type
-
properly handle relationship filter bindings
-
don't consider fields changed with only source -> name changes
-
handle name -> source change in more places
-
handle name -> source rename in operation ordering
-
fix aggregate/base filters
-
don't select more fields than necessary
-
don't call
ecto_type
twice when resolving types -
place expressions in the proper order in selects
-
match on count in expr
-
remove incorrect param count tracking
-
properly track param count
-
properly reverse parameters before/after expansion
-
don't use the base ecto type
-
don't sort when joining
-
ensure repo is compiled (#80)
-
properly construct nested join relationships
-
use
CiStringWrapper
type in ash_edgedb -
ensure we are returning * on upserts (#79)
-
handle new if types
-
copy query prefix to newly created query (#74)
-
check_migrations, rename to
--check
-
add explicit timeout capability declaration
-
add static schema specification in DSL
-
support static schema specification in migration generator
-
implement decimal ecto migration default (#91)
-
support float as Ecto migration default (#89)
-
update ecto
-
add atom impl for
EctoMigrationDefault
-
Add EctoMigrationDefault protocol and implement defaults (#87)
-
update ecto, fix dialyzer
-
support new timeouts
-
make select unique before running query
-
add doc_index
-
add exclusion_constraint_names (#83)
-
support referencing aggregates from aggregate filters
-
support access syntax
-
don't upsert defaults on conflict (#77)
-
relax ash version requirement
-
add custom migration types, and repo level override
-
update to latest version of ash
v0.42.0-rc.0 (2022-04-26)
- support
cast_in_query?/0
andsource
-
select custom aggregates properly
-
don't add reference when renaming column if unnecessary
-
don't cast
nil
to""
-
!is_atom/1
->!is_boolean/1
-
sanitize lists to stringify atoms
-
cast embedded atoms to strings first
-
don't cast
{:in, :any}
types -
more don't cast any types
-
don't cast if there is no type
-
properly handle relationship filter bindings
-
don't consider fields changed with only source -> name changes
-
handle name -> source change in more places
-
handle name -> source rename in operation ordering
-
fix aggregate/base filters
-
don't select more fields than necessary
-
don't call
ecto_type
twice when resolving types -
place expressions in the proper order in selects
-
match on count in expr
-
remove incorrect param count tracking
-
properly track param count
-
properly reverse parameters before/after expansion
-
don't use the base ecto type
-
don't sort when joining
-
ensure repo is compiled (#80)
-
properly construct nested join relationships
-
use
CiStringWrapper
type in ash_edgedb -
ensure we are returning * on upserts (#79)
-
handle new if types
-
copy query prefix to newly created query (#74)
-
update ecto
-
add atom impl for
EctoMigrationDefault
-
Add EctoMigrationDefault protocol and implement defaults (#87)
-
update ecto, fix dialyzer
-
support new timeouts
-
make select unique before running query
-
add doc_index
-
add exclusion_constraint_names (#83)
-
support referencing aggregates from aggregate filters
-
support access syntax
-
don't upsert defaults on conflict (#77)
-
relax ash version requirement
-
add custom migration types, and repo level override
-
update to latest version of ash
v0.41.7 (2021-12-21)
-
ensure repo is compiled (#80)
-
properly construct nested join relationships
-
use
CiStringWrapper
type in ash_edgedb -
ensure we are returning * on upserts (#79)
-
handle new if types
-
copy query prefix to newly created query (#74)
-
don't upsert defaults on conflict (#77)
-
relax ash version requirement
-
add custom migration types, and repo level override
-
update to latest version of ash
v0.41.6 (2021-12-21)
-
properly construct nested join relationships
-
use
CiStringWrapper
type in ash_edgedb -
ensure we are returning * on upserts (#79)
-
handle new if types
-
copy query prefix to newly created query (#74)
-
don't upsert defaults on conflict (#77)
-
relax ash version requirement
-
add custom migration types, and repo level override
-
update to latest version of ash
v0.41.5 (2021-11-26)
-
ensure we are returning * on upserts (#79)
-
handle new if types
-
copy query prefix to newly created query (#74)
-
don't upsert defaults on conflict (#77)
-
relax ash version requirement
-
add custom migration types, and repo level override
-
update to latest version of ash
v0.41.4 (2021-11-25)
-
handle new if types
-
copy query prefix to newly created query (#74)
-
don't upsert defaults on conflict (#77)
-
relax ash version requirement
-
add custom migration types, and repo level override
-
update to latest version of ash
v0.41.3 (2021-11-13)
-
handle new if types
-
copy query prefix to newly created query (#74)
-
relax ash version requirement
-
add custom migration types, and repo level override
-
update to latest version of ash
v0.41.2 (2021-11-10)
- copy query prefix to newly created query (#74)
-
add custom migration types, and repo level override
-
update to latest version of ash
v0.41.1 (2021-11-03)
- copy query prefix to newly created query (#74)
- update to latest version of ash
v0.41.0-rc.9 (2021-11-01)
-
use proper ecto types everywhere
-
try to fix missing paren issue in array_agg
-
fix can? for :joins (#73)
-
remove unused default value
-
use proper identity names for polymorphic resources
-
set identity names propertly for polymorphic resources
-
handle nil values in snapshots better
-
remove unused field from snapshot parsing
-
support
default
on aggregates -
support
custom_indexes
v0.41.0-rc.8 (2021-10-25)
-
fix can? for :joins (#73)
-
remove unused default value
-
use proper identity names for polymorphic resources
-
set identity names propertly for polymorphic resources
-
handle nil values in snapshots better
-
remove unused field from snapshot parsing
-
support
default
on aggregates -
support
custom_indexes
v0.41.0-rc.7 (2021-10-24)
-
fix can? for :joins (#73)
-
remove unused default value
-
use proper identity names for polymorphic resources
-
set identity names propertly for polymorphic resources
-
handle nil values in snapshots better
-
remove unused field from snapshot parsing
- support
custom_indexes
v0.41.0-rc.6 (2021-09-26)
-
remove unused default value
-
use proper identity names for polymorphic resources
-
set identity names propertly for polymorphic resources
-
handle nil values in snapshots better
-
remove unused field from snapshot parsing
- support
custom_indexes
v0.41.0-rc.5 (2021-09-21)
-
use proper identity names for polymorphic resources
-
set identity names propertly for polymorphic resources
-
handle nil values in snapshots better
-
remove unused field from snapshot parsing
- support
custom_indexes
v0.41.0-rc.4 (2021-09-21)
-
set identity names propertly for polymorphic resources
-
handle nil values in snapshots better
-
remove unused field from snapshot parsing
- support
custom_indexes
v0.41.0-rc.3 (2021-09-21)
-
handle nil values in snapshots better
-
remove unused field from snapshot parsing
- support
custom_indexes
v0.41.0-rc.2 (2021-09-21)
- remove unused field from snapshot parsing
- support
custom_indexes
v0.41.0-rc.1 (2021-09-20)
- support
custom_indexes
v0.41.0-rc.0 (2021-09-13)
- update to latest ash/ecto versions w/ parameterized types
- Support default tenant migration path in releases (#69)
v0.40.11 (2021-07-28)
- set subquery prefix properly
v0.40.10 (2021-07-27)
-
set subquery source correctly
-
create parameter for ci strings
-
explicitly set prefix at each level
-
interaction w/ attribute and context tenancy
-
info on migration generator output
-
use match: :full on attr multitenancy
-
update to latest ash
-
update to latest ash
-
upgrade ash dep
v0.40.9 (2021-07-22)
- don't add a non-list to a list
- add sort + select test
v0.40.8 (2021-07-19)
- ensure source table is sorted in lateral join
- fix significant performance issue in lateral joins
v0.40.7 (2021-07-12)
- support default_prefix configuration
v0.40.6 (2021-07-08)
-
fix migrator mix tasks w/ only/except tenants
-
drop foreign keys after table create properly
-
drop foreign keys before dropping table
-
left_lateral_join for many_to_many aggregates
-
properly reference nested aggregate fields for join
-
properly determine fallback table for polymorphic resources
-
ensure non-tenant resources can be aggregates
-
properly set aggregate query sources
-
retain parent as bindings
-
don't add
rel_source
at all -
properly build atoms list
-
horribly hack ecto for dynamic bindings
-
properly coalesce aggregate values
-
always add nullability flag
-
sort references only after other same-table ops
-
generate multitenant foreign keys properly
-
--name
when generating migrations -
add
mix ash_edgedb.rollback
-
update to latest ash
-
update to latest ash
-
leverage new
private_vars
for errs
v0.40.5 (2021-07-08)
-
fix migrator mix tasks w/ only/except tenants
-
drop foreign keys after table create properly
-
drop foreign keys before dropping table
-
left_lateral_join for many_to_many aggregates
-
properly reference nested aggregate fields for join
-
properly determine fallback table for polymorphic resources
-
ensure non-tenant resources can be aggregates
-
properly set aggregate query sources
-
retain parent as bindings
-
don't add
rel_source
at all -
properly build atoms list
-
horribly hack ecto for dynamic bindings
-
properly coalesce aggregate values
-
always add nullability flag
-
sort references only after other same-table ops
-
generate multitenant foreign keys properly
-
add
mix ash_edgedb.rollback
-
update to latest ash
-
update to latest ash
-
leverage new
private_vars
for errs
v0.40.4 (2021-07-05)
-
left_lateral_join for many_to_many aggregates
-
properly reference nested aggregate fields for join
-
properly determine fallback table for polymorphic resources
-
ensure non-tenant resources can be aggregates
-
properly set aggregate query sources
-
retain parent as bindings
-
don't add
rel_source
at all -
properly build atoms list
-
horribly hack ecto for dynamic bindings
-
properly coalesce aggregate values
-
always add nullability flag
-
sort references only after other same-table ops
-
generate multitenant foreign keys properly
-
update to latest ash
-
update to latest ash
-
leverage new
private_vars
for errs
v0.40.3 (2021-07-03)
-
ensure non-tenant resources can be aggregates
-
properly set aggregate query sources
-
retain parent as bindings
-
don't add
rel_source
at all -
properly build atoms list
-
horribly hack ecto for dynamic bindings
-
properly coalesce aggregate values
-
always add nullability flag
-
sort references only after other same-table ops
-
generate multitenant foreign keys properly
-
update to latest ash
-
leverage new
private_vars
for errs
v0.40.2 (2021-07-02)
-
properly set aggregate query sources
-
retain parent as bindings
-
don't add
rel_source
at all -
properly build atoms list
-
horribly hack ecto for dynamic bindings
-
properly coalesce aggregate values
-
always add nullability flag
-
sort references only after other same-table ops
-
generate multitenant foreign keys properly
-
update to latest ash
-
leverage new
private_vars
for errs
v0.40.1 (2021-07-02)
-
properly coalesce aggregate values
-
always add nullability flag
-
sort references only after other same-table ops
-
generate multitenant foreign keys properly
-
update to latest ash
-
leverage new
private_vars
for errs
v0.40.0-rc5 (2021-07-01)
-
properly coalesce aggregate values
-
always add nullability flag
-
sort references only after other same-table ops
-
generate multitenant foreign keys properly
- leverage new
private_vars
for errs
v0.40.0-rc4 (2021-06-23)
-
always add nullability flag
-
sort references only after other same-table ops
-
generate multitenant foreign keys properly
- leverage new
private_vars
for errs
v0.40.0-rc3 (2021-06-15)
-
always add nullability flag
-
sort references only after other same-table ops
-
generate multitenant foreign keys properly
v0.40.0-rc2 (2021-06-08)
-
sort references only after other same-table ops
-
generate multitenant foreign keys properly
v0.40.0-rc1 (2021-06-05)
v0.39.0-rc.0 (2021-06-04)
-
support expression based calculations
-
support concat + if expressions
- various other improvements
v0.38.11 (2021-05-23)
- set prefix to "public" for fkeys to public schema
- set explicit prefix on join filters
v0.38.10 (2021-05-19)
-
support new ash upsert specifying targets
-
update to latest ash
v0.38.9 (2021-05-12)
- properly group many_to_many aggregates
v0.38.8 (2021-05-09)
- update to the latest ash version
v0.38.7 (2021-05-09)
- support latest ash/filtering on related aggregates
v0.38.6 (2021-05-07)
-
properly construct sources for lateral joins
-
copy the correct data for lateral join queries
-
better errors in error cases
- update to latest ash
v0.38.5 (2021-05-07)
- don't cast booleans to string in last_ditch_cast
v0.38.4 (2021-05-07)
- support latest ash version resource sorts
v0.38.3 (2021-05-06)
-
update to latest ash
-
document script to iterate migrations (#65)
v0.38.2 (2021-05-04)
-
join to join table in lateral join query
-
multitenancy + lateral join sources
-
don't distinct in lateral joins
v0.38.1 (2021-05-04)
- fix fragment processing broken (#64)
v0.38.0 (2021-04-29)
- support new side load improvements
- Preserve attribute order (#63)
v0.37.8 (2021-04-27)
-
simpler index names
-
don't prefix unique indices with prefix()
-
sort index operations last
- custom index names
v0.37.7 (2021-04-27)
- remove inspects that were left in by accident
v0.37.6 (2021-04-27)
-
type cast atoms to strings in last ditch cast
-
properly type cast
-
Remove duplicate file extension (#60)
v0.37.5 (2021-04-27)
- properly type cast
v0.37.4 (2021-04-26)
- support
list
aggregate
v0.37.3 (2021-04-26)
-
stringify struct defaults in migration generator
-
properly comment out extension uninstallation code
v0.37.2 (2021-04-21)
- support ash enums
v0.37.1 (2021-04-19)
- include type in references (because it is not automatic)
v0.37.0 (2021-04-19)
- add check_constraints, both for validation and migrations
v0.36.5 (2021-04-13)
-
always drop constraints before modifying
-
properly compare old references and new references
v0.36.4 (2021-04-12)
- don't explicitly set type in
references
- default integers to
:bigint
v0.36.3 (2021-04-12)
- primary autoincrement key as bigserial (#54)
v0.36.2 (2021-04-09)
- support new ash select feature
v0.36.1 (2021-04-04)
- raise when
all_tenants/0
default impl is called
- add sum aggregate (#53)
v0.36.0 (2021-04-01)
-
support configuring references
-
support configuring polymorphic references
-
support
distinct
Ash queries
v0.35.5 (2021-03-29)
- Made AshEdgeDB.Repo.init/2 overridable (#51)
-
only count resources w/ create action for nullability
-
better error message on missing table
v0.35.4 (2021-03-21)
-
reroute
Ash.Type.UUID
to:uuid
in migrations -
force create extensions snapshot
-
consistent foreign key names
-
support custom foreign key error messages
v0.35.3 (2021-03-19)
-
force create extensions snapshot
-
more conservative inner join checks
-
add back in inner join detection logic
-
consistent foreign key names
-
support custom foreign key error messages
v0.35.2 (2021-03-05)
-
more conservative inner join checks
-
add back in inner join detection logic
v0.35.1 (2021-03-02)
- don't start the whole app in migrate
v0.35.0 (2021-03-02)
- automatically install extensions from repo
v0.34.7 (2021-03-02)
-
typo in references for multitenancy
-
null: true
when attr isn't on all resources for a table
v0.34.6 (2021-02-24)
- better embedded filters, switch to latest ash
v0.34.5 (2021-02-23)
- support latest ash
v0.34.4 (2021-02-08)
- trim when choosing new attribute name
v0.34.3 (2021-02-06)
- don't reference polymorphic tables to belongs_to relationships
v0.34.2 (2021-02-06)
- set up references properly
v0.34.1 (2021-02-06)
- reference the configured table if set
v0.34.0 (2021-02-06)
- support polymorphic relationships
v0.33.1 (2021-01-27)
- actually insert the tracking row
v0.33.0 (2021-01-27)
-
add
mix ash_edgedb.create
-
add
mix ash_edgedb.migrate
-
add
mix ash_edgedb.migrate --tenants
-
add
mix ash_edgedb.drop
- rework the way multitenant migrations work
v0.32.2 (2021-01-26)
- un-break the
in
filter type casting code
- better errors for multitenant unique constraints
v0.32.1 (2021-01-24)
ago
was adding, not subtracting
v0.32.0 (2021-01-24)
- support latest ash + contains
v0.31.1 (2021-01-22)
- update to latest ash
v0.31.0 (2021-01-22)
-
support fragments
-
support type casting
-
update to latest ash to support expressions
- update CI versions
v0.30.1 (2021-01-13)
v0.30.0 (2021-01-13)
- Add check_migrated option to migration generator (#40) (#43)
v0.29.6 (2021-01-12)
- rename out of phase, small migration fix
v0.29.5 (2021-01-10)
- Use ecto_sql formatter settings (#38)
v0.29.4 (2021-01-10)
- Omit field opts if they are default values (#37)
v0.29.3 (2021-01-08)
- support latest ash
v0.29.2 (2021-01-08)
- Make integer serial if generated
v0.29.1 (2021-01-08)
- support latest ash version
v0.29.0 (2021-01-08)
- retain snapshot history
- support latest ash version
v0.28.1 (2021-01-07)
- Add :binary migration type (#33)
v0.28.0 (2020-12-29)
- support latest Ash version
v0.27.0 (2020-12-23)
- support refs on both sides of operators
- bump ash version
v0.26.2 (2020-12-06)
- properly accept the
tenant_migration_path
v0.26.1 (2020-12-01)
- set default properly when modifying
v0.26.0 (2020-11-25)
- don't drop columns unless explicitly told to
- various migration generator bug fixes
v0.25.5 (2020-11-17)
- drop constraints outside of phases (#29)
v0.25.4 (2020-11-07)
- only alter the things that have changed
v0.25.3 (2020-11-06)
- add utc_datetime migration type
v0.25.2 (2020-11-03)
- access data_layer_query with function
v0.25.1 (2020-10-29)
- mark repo as not requiring compile-time dep
v0.25.0 (2020-10-29)
- multitenancy (#25)
- verify repo using ensure_compiled
v0.24.0 (2020-10-17)
- support latest ash
v0.23.2 (2020-10-07)
v0.23.1 (2020-10-06)
v0.23.0 (2020-10-06)
- update to latest ash, trigram filter
v0.22.1 (2020-10-01)
-
don't group alters with creates (#22)
-
add jason dependency, clean lockfile (#21)
v0.22.0 (2020-09-24)
- fix error when filtering with
true
- broken types for
in
operator
v0.21.0 (2020-09-19)
- support base_filter (#18)
v0.20.1 (2020-09-11)
- document/update migration path logic
v0.20.0 (2020-09-11)
- snapshot-based migration generator
v0.19.0 (2020-09-02)
- support inner joins when possible (#15)
-
better support for aggregates/calculations when delegating
-
don't fail w/ no extensions configured
v0.18.0 (2020-08-26)
-
update to ash 1.11 (#13)
-
support Ash v1.10 (#12)
-
support latest ash
-
update to latest ash
v0.17.0 (2020-08-26)
-
update to ash 1.11 (#13)
-
support Ash v1.10 (#12)
-
support latest ash
-
update to latest ash
v0.16.1 (2020-08-19)
- fix compile/dialyzer issues
v0.16.0 (2020-08-19)
-
update to latest ash
-
update to latest version of ash
v0.15.0 (2020-08-18)
- update to latest version of ash
v0.14.0 (2020-08-17)
-
support ash 1.7
-
support named aggregates
v0.13.0 (2020-07-25)
-
update to latest ash
-
support latest ash
v0.12.1 (2020-07-24)
- add can? for
:aggregate
v0.12.0 (2020-07-24)
- update to latest ash
v0.11.2 (2020-07-23)
v0.11.1 (2020-07-23)
v0.11.0 (2020-07-23)
- support ash 13.0 aggregates
v0.10.0 (2020-07-15)
- update to latest ash
v0.9.0 (2020-07-13)
- update to latest ash
v0.8.0 (2020-07-09)
- update to latest ash
v0.7.0 (2020-07-09)
-
update to latest ash
-
update to latest ash, add docs
-
update to ash 0.9.1 for transactions
v0.6.0 (2020-06-29)
- update to latest ash
v0.5.0 (2020-06-29)
- upgrade to latest ash
v0.4.0 (2020-06-27)
- update to latest ash
v0.3.0 (2020-06-19)
- New filter style (#10)
v0.2.1 (2020-06-15)
- update .formatter.exs
v0.2.0 (2020-06-14)
- use the new DSL builder for config (#7)
v0.1.4 (2020-06-05)
-
update ash version dependency
-
account for removal of name
v0.1.3 (2020-06-03)
This release was a test of our automatic hex.pm package deployment