Alchemy CMS v4.4.0 Release Notes

Release Date: 2020-01-06 // over 4 years ago
  • 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)