v4.4.0
4.4.0 (2020-01-06)
A rather large release that includes a lot of deprecations for the upcoming 5.0 release.
The most notable changes are
Menus
Alchemy now has now a Menus module where you can manage multiple menus. A menu node can be just a name, a name and an url or an Alchemy::Page
. The Alchemy page tree is now deprecated and will most likely be removed or replaced. A new render_menu
helper has been introduced. Menus can have templates that live in app/views/alchemy/menus
A handy rake task has been introduced to help with the transition to Menus.
bin/rake alchemy:convert:page_trees:to_menus
Element editors are deprecated
Element editors (aka. app/views/alchemy/*_editor
partials) have been deprecated and will be removed in Alchemy 5. If you used the editor partial to pass options into an essence editor, please move these settings either into the elements.yml
content settings
or if you used to pass dynamic values (to the EssenceSelect
for instance) use a custom essence or for page selections use the newly introduced EssencePage
.
If you put warnings and messages into the element editors, use the newly introduced warning
and message
keys for the element definition in the elements.yml
.
Element views without suffix
Element view partials do not need the _view
suffix anymore. You can safely remove them from your files. Please remember to also rename the your_element_view
local variable into your_element
.
Added a alchemyPageSelect jQuery function
Based on Select2 we introduced a new alchemyPageSelect
jQuery function. Used in the new EssencePage
editor, for the node page select and in the link dialogs.
Moved the anchor form into its own tab in the link dialog
The anchor form has been moved into its own tab for better distinction and UX of that feature.
Faster API
The API endpoints now eager load their associated records. Bye bye N+1 👋. Hello 🏎
EssencePage
For "real" element <-> page associations we introduced a new EssencePage
essence.
I hope you like these changes and they help you to make Alchemy even better for you. Please consider to support my work on Open Collective
❤️ Thomas
All changes
- Use contents settings for size in EssencePicture#picture_url #1703 (tvdeyen)
- Remove title tag from preview elements #1701 (tvdeyen)
- Remove custom JS logging #1700 (tvdeyen)
- Remove demo locale files #1699 (tvdeyen)
- Use alchemyPageSelect for Node page select #1698 (tvdeyen)
- Cache menu partials #1697 (tvdeyen)
- Update page tree to menu nodes Rake task #1696 (tvdeyen)
- Validate nodes name if page is absent #1695 (tvdeyen)
- Update the application layout installer template #1691 (tvdeyen)
- Update note about missing user class #1690 (tvdeyen)
- Use a Sprockets 3/4 manifest file #1689 (tvdeyen)
- Use select2 for internal page link in link overlay #1685 (tvdeyen)
- Do not consider nested elements "orphaned" #1684 (mamhoff)
- Destroy page-dependent elements #1683 (mamhoff)
- Add anchor link tab to link overlay #1682 (tvdeyen)
- Ensure the apt/cache folder exists while installing #1678 (tvdeyen)
- Cache apt packages between CI runs #1677 (tvdeyen)
- Use select2 with AJAX search for essence page select #1675 (tvdeyen)
- Eager load associated records #1674 (tvdeyen)
- Add support for testing with multiple Rails versions #1673 (tvdeyen)
- Page api pagination #1672 (tvdeyen)
- Adjust select2 loading-more indicator #1671 (tvdeyen)
- Test support fixes #1669 (tvdeyen)
- Build fixes #1668 (tvdeyen)
- Add Menus #1667 (tvdeyen)
- Add a label component #1666 (tvdeyen)
- Run bundle install on CI even if cache hits #1665 (tvdeyen)
- Moves switch_language method into languages_controller. #1664 (tvdeyen)
- Cache gems between CI runs #1663 (tvdeyen)
- Remove production gems from local Gemfile #1662 (tvdeyen)
- Touch contents updated_at column in pure SQL #1661 (tvdeyen)
- Convert page editing user methods into AR relations #1658 (tvdeyen)
- Ensure the admin locale is only set by available locales #1655 (tvdeyen)
- Add a GitHub actions ci.yml #1654 (tvdeyen)
- Adjust install generator to latest changes #1649 (tvdeyen)
- Deprecate _view suffix of element views #1648 (tvdeyen)
- Add a configurable logout method (default: delete) #1647 (delphaber)
- Deprecate render_essence helpers #1644 (tvdeyen)
- Deprecate element editors #1643 (tvdeyen)
- Deprecate local options in essence editors #1642 (tvdeyen)
- Ensure the EssencePage id regexp matches only numbers #1641 (tvdeyen)
- Use EssencePage in contact forms #1640 (tvdeyen)
- Add Alchemy::EssencePage #1639 (tvdeyen)
- FEAT: Render message and warnings in element editor #1637 (tvdeyen)
- Tackle Rails 6 deprecations #1636 (tvdeyen)
- Preload assets in tests #1635 (tvdeyen)
- Allow acts-as-list 1.0 #1634 (tvdeyen)
- Add Sprockets manifest file to dummy app #1632 (tvdeyen)
- Master now tracks 4.4.0.alpha #1627 (tvdeyen)
- Fix Cell Migration to maintain positions #1625 (mamhoff)
- Cell Upgrader: Match quotation marks in cell name string #1624 (mamhoff)
- Cell Migrator: Maintain element order in fixed elements #1623 (mamhoff)
- Enhance cells upgrader to deal with render_elements from_page: x #1622 (mamhoff)