All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Support for phoenix 1.8
- With Kaffy v0.11.x, the minimum supported phoenix version is 1.7.21
- Kaffy v0.10.x will no longer receive any updates.
- Fix regression introduced in v0.10.1 which made Kaffy ignore all admin modules.
- Fix a crash when Kaffy mistakenly treats erlang modules as Elixir modules (PR #300)
- belongs_to fields didn't respect the
:readonlyoption (PR #297).
- Fix regression when trying to save a resource with an array field.
- Support searching fields with
id,integeranddecimaltypes.
- Fix a crash when deleting resources from the resource page through the "Delete" button.
- Crash when updating records.
- Removes elixir and phoenix deprecation warnings PR#288
- Minimum phoenix version is now 1.6. This means that the minimum Elixir version is now 1.12 (see support policy).
- Fix changeset errors PR#262
- Preload resources before trying to convert resource to existing atom. PR#266
- Include
many_to_manyfields infields_to_be_removed/1. - Fix array fields not being saved properly.
- Fix
:readonlyand:editableoptions for datetime fields. - Default to
nilforbelongs_tofields. - Fix issue with datetime fields sometimes being updated unexpectedly.
- Minimum Elixir version is now 1.11.4.
- Add
phoenix_viewpackage to deps. - Let specify the full 'path' for FontAwesome fonts PR#186
- Lazy load default kaffy field value PR#255
- Update phoenix html to address deprecated form_for PR#260
- Use left_join when building search query PR#273
- Remove the "- Kaffy" suffix from page titles.
- Support hiding menu entries PR#248
- Add support for composite primary keys PR#270
- Index page description PR#274
- Footer can be specified in config PR#275
- Provide more flexibility for customizing the
admin_logoandadmin_logo_minioptions. - Add the ability to "bulk delete" resources from the index page.
- Hide save and delete buttons on the show page based on available actions.
- Add
Kaffy.Utils.auto_detect_resources/0which returns the list of auto-detected resources (Kaffy's attempt at discovering the list of schema/admin modules).
- Add missing "custom-select" classes to some
selecttags. - Ensure that extension modules are loaded.
- Save enum fields with their cast values.
- The
:readonlyoption was ignored when defining:choicesfor a specific field inform_fields(#225) - Fix generating forms for embeds and enums (#234)
- Added the option to disable creating new records (#188)
- A new
:bottomoption to display menu items at the bottom of the side menu (#237) - A smarter inflector covering more plural cases (#233)
- Better documentation generation for ExDocs (#214)
- Allow list actions to have select inputs (#238)
- Display records from schemas which contain fields with names "context" and "resource".
- Clicking on the "Select all" checkbox and performing an action wasn't working properly (#129).
- A resource with a
{:array, _}field type used to crash when rendering the form page (#130). - Tidbit icons weren't shown properly.
- Schemas with
has_manyormany_to_manyassociations crashed when trying to save if the schema doesn't have a defaultchangeset/2function. - Support phoenix 1.6
- If you are defining your resources manually, you need to replace all
:schemaskeys with:resources.
mapand JSON fields weren't being properly recognized and saved/updated (regression from v0.8.x).- Searching a schema which has a
:stringvirtual field produced a crash. - "Next" page link was active even when there was no records to display on the next page.
- belongs_to fields were almost invisible on small screens.
- Schemas without a public
changeset/2function were crashing due to parameters not being cast properly. - Searching a resource with a search term that contained a special SQL character (% or _) returned invalid results.
- Multi-word contexts weren't being formatted properly.
- Introducing extension modules to add custom html, css, and javascript.
- Custom form fields for specialized functionality.
- List actions now can have an intermediary step for more input from the user.
- Decimal values are displayed properly on the index page.
- Improved layout for mobile screens.
- First column on index page is the first field in your schema.
- Ability to override Kaffy's
insert,update, anddeletefunctions to customize how the function works. - Moved scheduled tasks to their own modules and they have their own option in config.
- Improved alert message styles.
- Much improved pagination UI.
- Ability to customize the query Kaffy uses for the index and show pages.
- A more flexible and customizable way to define resource and admin modules.
- Added a
help_textoption toform_fieldsto display a helpful text next to the field.
- Areski Belaid (@areski)
- Axel Clark (@axelclark)
- Adi Purnama (@adipurnama)
- Nicolas Resnikow (@nresni)
- Abdullah Esmail (@aesmail)
- The "Select all" checkbox didn't work properly (thanks @areski).
- Kaffy crashed when opening the page to select a record for the belogns_to association.
- UI improvements on the index page (thanks @areski).
- Replace MDI icons with FontAwesome.
- removed
:permissionfield option in favor of:createand:updateoptions for more control and customization.
- ability to add custom links to the side menu.
- ability to add add custom pages.
- ability to order records per column in the index page.
- a placeholder value for :map textarea fields to indicate that JSON content is expected.
- enhanced "humanization" of field names in index page.
- improved checkbox form control UI (thanks @areski).
- new and improved design (thanks @areski).
- include checkboxes in index page to clearly indicate records are selectable.
- pagination, filtration, and searching are now bookmarkable with querystring parameters.
countquery result is now cached if the table has more than 100,000 records (thanks @areski).- add option to hide the dashboard menu item.
- add option to change the root url to be something other than the dashboard.
- removed render warnings when running under phoenix 1.5.
- add a much improved date/time picker (thanks @areski).
- kaffy was ignoring the default/custom changeset functions when creating/updating records.
- do not show the "Tasks" menu item if there are no tasks (thanks @areski).
- esthetic changes on the index page (thanks @areski).
- introducing simple scheduled tasks.
- search across associations.
- improve how autodetected schema names are formatted.
- clicking on the upper left title goes to the website's root "/" (used to go to the dashboard page, which already has a link in the menu).
- fix a few typos in README (thanks @areski).
- multi-word CamelCase schemas weren't being saved properly.
- by default, do not include autogenerated fields resource form page.
- order autodetected contexts/schemas alphabetically.
- sometimes the primary key field (id) is treated as an association.
- the popup for selecting a "belongs_to" record was not displaying any records.
- use
fn/0instead offn/1withEcto.Repo.transaction/2to support ecto 2.x.
- always include the
:kaffy_browserpipeline to display templates correctly. Please check the minimum configurations - section in the README for more information on how to upgrade.
- support custom actions for a group of selected resources in index page.
- resource index page table was displayed incorrectly when using a custom pipeline.
- all side menu resources are shown by default including sections that are not currently active.
- side menu does not scroll when there are too many contexts/schemas.
- side menu items all popup at the same time when viewed on small screens.
- added a demo link to the hex package page.
- add a rich text editor option for form fields (
type: :richtext).
- dashboard widgets were displayed improperly on small screens.
- introducing custom widgets in the dashboard.
- add custom field filters.
- sometimes if
index/1is not defined in the admin module, the index page is empty.
- pass
connstruct to all callback functions.
- introducing custom actions for single resources.
- fix typo in the resource form (thanks @axelclark).
- Kaffy didn't compile with elixir < 1.10 due to the use of
Kernel.is_struct. It is currently tested with elixir 1.7+ - Sometimes new records couldn't be created if they have
:mapfields.
- A better way to support foreign key fields with a huge amount of records to select from.
- Retrieve the actual name of the association field from the association struct.
- Added ability to delete resources.
- Added resource callbacks when creating, updating, and deleting resources.
- Don't try to decode map fields when they are empty.
- Added support for embedded schemas.
- Added support for
:mapfields for json values.
- Use the json library configured for phoenix instead of hardcoding
Jason.
- Don't crash when the schema has a
has_manyorhas_oneassociation. - Don't crash when the schema has a map field or an embedded schema.
- The
:otp_appconfig is now required.
- Kaffy will now auto-detect your schemas and admin modules if they're not set explicitly. See the README file for more.
- Kaffy now supports phoenix 1.4 and higher.
- Removed some deprecation warnings when compiling kaffy
- Massively simplified configurations. The only required configs now are
otp_app,ecto_repo, androuter.
- Much improved UI.
- Some code cleanups.
- Removed the dependency on
:jason.
- Changed
plug :fetch_live_flashtoplug :fetch_flashfor the default pipeline.