Releases: AlchemyCMS/alchemy_cms
v3.4.1
v3.3.3
v3.4.0
Alchemy 3.4
New Features
MessagesMailer
(formerly known asMessages
) now inherits fromApplicationMailer
when it is defined.- Adds time based published pages: The public status of a page is now made of two time stamps:
public_on
andpublic_until
- Send page expiration cache headers
- Adds an +EssencePictureView+ class responsible for rendering the
essence_picture_view
partial - Adds a file type filter to file archive
- Allow setting the type of EssenceText input fields in the elements.yml via
settings[:input_type]
- Adds support for defining custom searchable attributes in resources
- Automatically add tag management to admin module views, when the resource model
has been set toacts_as_taggable
. - Automatically add scope filters to admin module views, when the resource model
has the class methodalchemy_resource_filters
defined.
Notable Changes
Messages
mailer class has been renamed toMessagesMailer
- Removed the auto-magically merge of Ability classes (#1022)
- Replace jQueryUI datepicker with $.datetimepicker
- Thumbnails now render in original file format, but GIFs will always be flattened
- Pictures will be rendered in original file format by default
- Allow SVG files to be rendered as EssencePicture
- When using Alchemy content outside of Alchemy,
current_ability
is no longer
included withAlchemy::ControllerActions
to prevent method clashes. If you
need access tocurrent_ability
you also need to includeAlchemy::AbilityHelper
- Asset manifests are now installed into
vendor/assets
folder in order to provide easy customization
Please don't use alchemy/custom files any more. Instead require your customizations in the manifests. - Removes the default_scope from Language on_site current while ensuring to load languages by code
from current site only. - Removes the
Language.get_default
method alias forLanguage.default
- Move site select into pages and languages module to avoid confusion about curent site (#1067)
- List pages from all sites in currently locked pages tabs and Dashboard widget (#1067)
- The locked value on page is now a timestamp (
locked_at
), so we can order locked pages by (#1070) - Persist user in dummy app
Fixed Bugs
- Generators don't delete directories any more (#850)
- Some elements crashed the backend's JS when being saved (#1091)
A complete list of changes can be seen at v3.3.0...v3.4.0
Upgrading
As always, upgrading Alchemy is as easy as:
bundle update alchemy_cms
bin/rake alchemy:upgrade
- Follow the instructions
v3.3.2
v3.3.1
3.3.1 (2016-06-20)
- Fix use of Alchemy::Resource with namespaced models (#729)
- Allow setting the type of EssenceText input fields in the elements.yml via
settings[:input_type]
- Admin locale switching does not switch language tree any more (#1065)
- Fixes bug where old site session causes not found errors (#1047)
- Fix inability to add nested elements on pages with cells (#1039)
- Skip upgrader if no element definitions are found (#1060)
- Fix selecting the active cell for elements with nested elements (#1041)
v3.3
Alchemy v3.3.0
New Features
- Add support for Sprockets 3
- Add support for jquery-rails 4.1
- Show a welcome page, if no users or pages are present yet
- Namespace spec files
- Image library slideshow
- Global "current locked pages" tabs
- New option
linkable: false
forEssencePicture
- Allow custom routing for admin backend
- Resource forms can now have Tinymce enabled by adding
.tinymce
class Alchemy::EssenceFile
now has alink_text
attribute, so the editor is able to change the linked text of the download link.- Enable to pass multiple page layout names to
on_page_layout
callbacks - Client side rendering of the pages admin
- Deprecate
redirect_index
configuration - Add Nestable elements feature
- Default site in seeder is now configurable
- Frontpage name and page layout are now editable when creating new language trees
Notable Changes
- Essence generator does not namespace the model into
Alchemy
namespace anymore - New simplified uploader that allows to drag and drop images onto the archive everywhere in your app
- Model names in uploader
allowed_filetypes
setting are now namespaced.
Please be sure to runrake alchemy:upgrade
to update your settings.
- Model names in uploader
- Allow uppercase country codes
- Uses Time.current instead of Time.now for proper timezone support
- Adds year to
created_at
column of attachments table - Removes "available contents" feature.
- Use Ransack for Admin Resources filtering, sorting and searching
- Renames Alchemy translation helpers from
_t
toAlchemy.t
- Do not append geometry string to preprocess option
- Skip the default locale in urls
- Add a proper index route and do not redirect to page anymore
- Updates Tinymce to 4.2.3
- Moves page status info into reusable partial
- Refactors factories into individual requirable files
- Do not raise error if
element_ids
params is missing while ordering elements - Removes old middleware for rescueing legacy sessions
- Use rails tag helpers instead of plain HTML for meta tags
- Remove the duplication of
#decription
vs.#definition
- Resource CSV export now includes ID column and does not truncate large text columns anymore
Alchemy::Attachment#urlname
now returns always an escaped urlname w/o format suffix and does not convert thefile_name
once on create anymore- Speed up the admin interface significantly when handling a large amount of pages
Fixed Bugs
- Add
locale
toAlchemy::Language
to avoid errors for languages with missing locale files #831 - Fixes
Alchemy::PageLayout.get_all_by_attributes
- Fix tag list display in picture library
- Animated GIFs display correctly
- EssenceSelect grouped options tags
- Add missing element partials for dummy app
- Eliminate an SQL lookup on frontend cached element partials
- Add missing german and spanish translation for element toolbar
- Use the site_id parameter and the session only in the Admin area
- Render 404 if accessing an unpublished index page that has "on page layout" callbacks
v3.2
Alchemy 3.2
Notable changes:
- Rails 4.2 compatibility
- Only support Ruby 2. Drop support for Ruby 1.9
- Install generator replaces scaffold generator
- Removes Capistrano 2 deploy receipt
New features
- Introduces
on_page_layout
mix in - Allows to use ERB in yml config files
- Adds a views generator
- Adds a site select for switching Alchemy sites
- Allows essence classes outside the Alchemy module namespace
- Allow custom table name prefixes
And a lot more bug fixes, code refactoring and enhancements.
The list of all changes
v3.1
Alchemy 3.1
Major changes
JSON API moved into /api
namespace
The JSON API now lives under /api
and not as additional format to default controllers.
Also the serialization changed into more useful payload.
Please upgrade your API calls to use the new /api
namespace.
TinyMCE default paste behavior changed
Text is now always pasted in as plain text. To change this, the user has to
disable it with the toolbar button, as they had to before to enable it.
If you have a custom TinyMCE configuration you have to enable this by adding
paste_as_text: true
into you custom TinyMCE configuration.
TinyMCE toolbar config has changed
The 'toolbar' configuration now takes an array of toolbar rows, instead of
using 'toolbarN' syntax. Please update your TinyMCE configuration.
Visit http://www.tinymce.com/wiki.php/Configuration:toolbar for more information.
Minor changes
- Rspec 3
- More flexible image resizing
- Replace CanCan with CanCanCan
- New translations (dutch and french)
- Alchemy module generator
- Database dump import task
- Push local data to remote server
v3.0.3
This is a minor bug fix release.
Changelog:
v3.0.2...v3.0.3
v3.0
Alchemy CMS 3.0
This is a huge release with lots of refactorings, code quality enhancements and bug fixes. The refactorings could add deprecations and break stuff. So please test your app against this and see the full list of commits.
Upgrade instructions
Please have a look at out updated upgrade guide for information on how to upgrade you Alchemy 2.7 based app.
Mayor changes
Rails 4 compatibility
This release of Alchemy runs on Rails 4 and 4.1 only. Because Rails 4 is a mayor release please expect that things will break. Have a look into the official Rails upgrade guides for more information.
Removes action caching
With this release we removed the action_caching based caching mechanism and switched to "Russian doll" caching. Please be aware that after upgrading your pages won't be cached until you mark the parts of your page that should be cached. Please have a look in the official Rails caching guide to learn how to achieve this.
Extracts the User
class
This release extracts the Alchemy::User
class into its own gem alchemy-devise.
If you don't have your own user class in your app and want to have the default Alchemy user back in your app, you just have to add the alchemy-devise
gem into your app's Gemfile.
Changes authorization library
We changed the authorization library from declarative_authorization
to CanCan.
If you have customized Alchemy rules you need to upgrade them. You can see the differneces between both DSLs in this Gist.
Extracts ferret based full text search
The ferret based full text search was extracted into its own gem alchemy-ferret.
If you use the full text search in your current app, then you have to add the alchemy-ferret
gem into your app's Gemfile.
Upgrades to TinyMCE 4.0
With this release the bundled TinyMCE editor was upgraded to 4.0.
If you have customized the Tinymce editor, you have to upgrade the configuration to the new 4.0 syntax.
New public JSON API
We added a much better public JSON API. For example you can now render a JSON version of your entire page with adding the .json
suffix to your page url. This works also for elements and contents.
Other small changes
- Compatible with Ruby 1.9, 2.0 and 2.1
- Updates bundled TinyMCE editor to 4.0 (4fb3ab7)
- Adds a dutch translation (Thanks Rens Riksma) (f3c6699)
- Adds a keyboard shortcut help window (accessible via
?
key) (69bdfda) - Removes jQuery UI Dialog dependency (3d8566e)
- New page editing layout with responsive behaviour.
- Adds a
simple_form
basedalchemy_form_for
helper for resources forms. - Switches to select2 as select tag replacement.
- The
rake alchemy:install
task now adds a basic article element with useful hint texts to first page created. (66818fa) - Adds a postgresql database importer task (b5d44f8)
- Removes all deprecated helpers from 2.x (see 2.8 for deprecations)
- Refactors essence validations, changes its API (44866db)
- The
alchemy_menubar
is now a partial (3616fd9) - Remove flash based uploader and replaces it with jquery.fileupload plugin (0f08582)
- Adds
Alchemy::I18n.available_locales=
setter to define available backend translations (5c50e02)
And lots of other things.
Please have a look at all commits for a complete list of changes:
Thanks again for all the contributors that made this release happen.
❤️