Changelog History
Page 1
-
v2.0.0 Changes
September 05, 2018๐ Version 2.0.0-rc.0
๐ Change in namespace/module names:
- Replace
Rummage.Ecto.Hooks
withRummage.Ecto.Hook
.
- Replace
Rummage.Ecto.CustomHooks
withRummage.Ecto.CustomHook
.Introducing
Rummage.Ecto.Schema
:๐ Changes to
Rummage.Ecto.Hook.Search
:๐ Changes to
Rummage.Ecto.Hook.Sort
:๐ Changes to
Rummage.Ecto.Hook.Paginate
:๐ Changes in Configurations:
- Replace
-
v2.0.0-rc.1
July 09, 2020 -
v2.0.0-rc.0 Changes
September 05, 2018๐ Version 2.0.0-rc.0
๐ Change in namespace/module names:
- Replace
Rummage.Ecto.Hooks
withRummage.Ecto.Hook
.
- Replace
Rummage.Ecto.CustomHooks
withRummage.Ecto.CustomHook
.Introducing
Rummage.Ecto.Schema
:๐ Changes to
Rummage.Ecto.Hook.Search
:๐ Changes to
Rummage.Ecto.Hook.Sort
:๐ Changes to
Rummage.Ecto.Hook.Paginate
:๐ Changes in Configurations:
- Replace
-
v1.3.0 Changes
June 03, 2018๐ This Release has ways to abstract and override schema/rummage functionalities.
-
v1.3.0-rc.schema Changes
June 03, 2018๐ This Release has ways to abstract and override schema/rummage functionalities.
-
v1.3.0-rc.0 Changes
January 09, 2018Revamped Rummage
๐ Better Behaviour definition for Hooks.
- Add
__using__
macro, instead of using module_attribute@behviour
. - Use better function names
run/2
andformat_params
,
- Use
defoverridable
for@behaviour
callbacks.๐ Make Native hooks more generalized instead of targeted for
phoenix
.- Use
atoms
overstrings
for keys in maps and params. - Keep hooks more agnostic of configurations.
- Make Rummage.Ecto delegate configurations to hooks.
The return of
Rummage.Ecto. __using__ /1
macro.- This allows
rummage_ecto
to resolve configurations at compile time.
- This allows better/easier usage of
Rummage.Ecto
.๐ง App specific configurations.
config :appname, Rummage.Ecto .....
instead ofconfig: :rummage_ecto, Rummage.Ecto
.- This allows using rummage with two different apps in an umbrella app with different rummage configurations.
- These configurations are loaded with the help of
__using__
macro, based on the application the module belongs to.Search hook has
search_expr
.- This allows usage of
or_where
andnot_where
queries.
- Defaults to
where
.Search hook has
search_type
:is_null
- This allows for searching for
NULL
orNOT NULL
โ Tested/Examples with different
field_types
,boolean
,float
,string
etc.Paginate hook works with or without a
primary_key
:- the default paginate hook used to work only for Schemas with
id
as primary keys, now it works for all and even Schemas without a primary key.Keyset Pagination CustomHook.
- Adds faster/lighter weight pagination option.
- Documentation specifies when to use it and when not to.
โก๏ธ SimpleSort and SimpleSearch CustomHook updates.
- Same as sort and search, but without associations, so cleaner and faster.
๐ Better documentation.
- Search and Sort associations are better documented.
- CustomHooks are better documented.
- Add
-
v1.2.0 Changes
- Faster Pagination Hooks
-
v1.1.0 Changes
March 20, 2017๐ Changes to Rummage as whole:
๐ This release is to illustrate the actual behavior of Rummage, which is functional:
- Instead of
EctoSchema.rummage(query, rummage)
, callRummage.Ecto.rummage(query, rummage)
0๏ธโฃ Default
Hooks
can handle any number of associations.๐ Changes to complexity:
Hooks
are more independent of each other due to a newly introducedbefore_hook
feature. This
๐ allows us to formatrummage_params
based on what a hook is expecting and keep the code clean.
In Progress:
- A
CustomHook
withkey-set
pagination based on this link.
-
v1.0.0 Changes
March 05, 20170๏ธโฃ Major changes to default hooks:
Search
:- Can now search more than just
like
. - Added case insensitive
like
feature. - Added support for
like
,ilike
,eq
,gt
,lt
,gteq
,lteq
assearch_types
(Refer to docs for more details) - Can search on an association field (Refer to docs for more details)
- Can now search more than just
Sort
:- Added case insensitive
sort
. - Can sort on an association field (Refer to docs for more details)
- Added case insensitive
Pagination
: NO CHANGES
๐ Change in
rummage
struct syntaxes:search
key:- Earlier:
elixir rummage = %{"search" => %{"field_1" => "field_!"}}
- Now:
elixir rummage = %{"search" => %{"field_1" => %{"assoc" => ["assoc_1", "assoc_2"], "search_type" => "like", "search_term" => "field_!"}}
- Earlier:
sort
key:- Earlier:
elixir rummage = %{"sort" => "field_1.asc"}
- Now:
elixir rummage = %{"sort" => %{"assoc" => ["assoc_1", "assoc_2"], "field" => "field_1.asc"}}
- Earlier:
paginate
key: NO CHANGES
Custom Hooks Examples Included:
- Included some examples for custom hooks:
Rumamage.Ecto.CustomHooks.SimpleSearch
: Vanilla search feature with support for onlylike
Rumamage.Ecto.CustomHooks.SimpleSort
: Vanilla sort feature
-
v0.6.0 Changes
February 16, 2017- First version with Rummage.Phoenix compatibility
- First major version