- 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)
- Add Rails 6 support #1616 (tvdeyen)
- Use media_type over content_type in specs #1615 (tvdeyen)
- Remove unused Picture#security_token method #1614 (tvdeyen)
- rspec-rails 4 #1613 (tvdeyen)
- Update Dummy test app to Rails 5.2 #1612 (tvdeyen)
- add default styling for number inputs #1598 (alexanderadam)
- Upgrade responders to version 3.0.0 #1593 (depfu)
- Update jquery fileupload plugin #1592 (tvdeyen)
- Only return visible elements from Pages elements relations #1590 (tvdeyen)
- Only return visible elements from Elements nested_elements relation #1589 (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)
- remove unused .teatro.yml #1585 (kirillshevch)
- Use Set to collect callbacks in OnPageLayout #1583 (mamhoff)
- Allow Ransack 1.x #1580 (tvdeyen)
- Set a max-width to preview frame #1578 (tvdeyen)
- Rebuild locked pages tabs in flexbox #1577 (tvdeyen)
- Use where.not instead of Arel #1576 (tvdeyen)
- Add missing requires to factories #1575 (tvdeyen)
- Upgrade sqlite3 to version 1.4.1 #1574 (depfu)
- Fix elements window ajax errors #1573 (tvdeyen)
- Use SimpleForm field for datepicker in resources form #1572 (tvdeyen)
- Render warning message in warning helper #1571 (tvdeyen)
- Prohibit coffee-rails 5.0 #1570 (tvdeyen)
- Add Date column support to resources #1567 (tvdeyen)
- Fix pluralization of resource table header #1566 (tvdeyen)
- Fix compact elements style #1565 (tvdeyen)
- Show Ruby and Rails versions in info dialog #1564 (tvdeyen)
- Set spinner color to current text color #1563 (tvdeyen)
- Update links in post install message #1562 (tvdeyen)
- Allow cancancan 3 #1561 (tvdeyen)
- Fix Member Page permissions syntax #1560 (tvdeyen)
- Update upgrader #1558 (tvdeyen)
- Use element name local in generators #1556 (tvdeyen)
- Remove invalid bytecode handler #1555 (tvdeyen)
- Separate render element calls #1554 (tvdeyen)
- Expose the element into partials as local object #1553 (tvdeyen)
- Allow admins to switch all languages #1552 (tvdeyen)
- Raise targeted Ruby version to 2.3 #1545 (tvdeyen)
- Introduces an Elements finder class #1544 (tvdeyen)
- Fixate sqlite dep for bug fix #1543 (tvdeyen)
- Upgrade shoulda-matchers to version 4.0.0 #1542 (depfu)
- Upgrade factory_bot_rails to version 5.0.1 #1540 (depfu)
- Use Flatpickr as Datepicker #1533 (mamhoff)
- Use system tests over feature specs #1528 (tvdeyen)
- Flexible width for admin navigation entry labels #1527 (tvdeyen)
- Render new page when there is a flash message #1525 (jedrekdomanski)
- Responsive elements window and sidebar #1519 (tvdeyen)
- Change element eye icon on public state #1517 (oniram88)
- Maximize element window if Tinymce is fullscreen #1515 (tvdeyen)
- Remove cells in favour of fixed elements #1514 (tvdeyen)
- Feature: Autogenerate nestable elements #1513 (tvdeyen)
- Allow "data" key for module navigations #1512 (mamhoff)
- Allow to define layout for page previews #1500 (westonganger)
- Disable page publish/view page buttons according to published_at #1498 (westonganger)
- Fix capitalization for login/logout/leave #1497 (westonganger)
- Verify controller keys within
register_module
#1495 (westonganger) - Update bundled Tinymce to 4.8.3 #1491 (tvdeyen)
- Use dynamic attributes in factories #1484 (tvdeyen)
- Migrating to active_model_serializers ~> 0.10.0 #1478 (pmashchak)
- Replace picture galleries with nestable elements #1358 (tvdeyen)
- Add a compact nested element style #1357 by tvdeyen
- Use console.warn for Alchemy.debug #1476 (tvdeyen)
- Fixes picture per page in overlay #1475 (tvdeyen)
- Style adjustments #1474 (tvdeyen)
- Simplify pagination implementation #1471 (mamhoff)
- Try .any? to prevent error in dashboard on online users #1469 (askl56)
- Update changelog for 4.0.4 release #1468 (tvdeyen)
- Do not cache sitemap in Turbolinks #1463 (tvdeyen)
- Fix sorting in Resources controller #1462 (mamhoff)
- Fix removing picture essences #1460 (mamhoff)
- Upgrade ransack to version 2.0.0 #1458 (depfu)
- Toolbar icon vertical alignment fixes #1450 (tvdeyen)
- Fix tidy task #1449 (mamhoff)
- Update changelog #1448 (tvdeyen)
- New thumbnail style #1447 (tvdeyen)
- Styling fixes #1446 (tvdeyen)
- Do not prevent default click handling in Element editor #1445 (mamhoff)
- Fix content container height #1443 (tvdeyen)
- Use max instead of sort.last in update check #1442 (tvdeyen)
- Use optional: true for optional belongs_to associations #1441 (tvdeyen)
- Set parent element id when pasting from clipboard #1440 (tvdeyen)
- Add must_revalidate to cache-control header #1439 (afdev82)
- Update README.md #1438 (agorneo)
- Add a pull request template #1436 (tvdeyen)
- Add a feature request template #1435 (tvdeyen)
- Add a GitHub issue template #1434 (tvdeyen)
- Picture zoom UX enhancements #1431 (tvdeyen)
- Fix draggable trash item feature #1428 (tvdeyen)
- Load Jcrop selection gif via asset pipeline #1427 (tvdeyen)
- Color and styles adjustments #1426 (tvdeyen)
- Extract tags css rules into own file #1424 (tvdeyen)
- Adjust the welcome screen to new color theme #1423 (tvdeyen)
- Fixes menubar layout #1422 (tvdeyen)
- Update jquery-ui-rails to 6.0 #1420 (tvdeyen)
- Allow CanCanCan 2.x #1418 (tvdeyen)
- Add a Heroku Deploy button #1416 (tvdeyen)
- Upgrade simple_form to version 4.0 #1413 (depfu)
- Do not require localeapp gem #1412 (tvdeyen)
- Fix all Rubocop offenses and update some config #1411 (tvdeyen)
- Upgrade mysql2 to version 0.5.1 #1410 (depfu)
- Capybara 3.0 support #1409 (tvdeyen)
- Handle zero plural resource names #1407 (dbwinger)
- Update rubocop config #1404 (tvdeyen)
- Explicitly set the Rails version in dummy app #1403 (tvdeyen)
- Do not reload essence classes in dev mode #1400 (tvdeyen)
- Move all translations into
alchemy_i18n
extension #1398 (tvdeyen) - Add
nested_elements
to serialized element json #1397 (tvdeyen) - Fix YAML safe_load #1395 (tvdeyen)
- Fix passing html options to form builder submit input #1394 (tvdeyen)
- Darker blue dialogs #1393 (tvdeyen)
- New orange logo #1392 (tvdeyen)
- Use Open Sans for admin font #1391 (tvdeyen)
- Use ActiveRecord touching #1390 (tvdeyen)
- correct scss typo #1388 (oniram88)
- Add Rails 5.2 support #1387 (tvdeyen)
- Update Gutentag #1386 (tvdeyen)
- Fix resources search #1384 (tvdeyen)
- Fixate Gutentag to 2.1.0 for now #1383 (tvdeyen)
- Skip migrate-to-gutentag migration for fresh installs #1381 (tvdeyen)
- More prominent active menu color #1380 (tvdeyen)
- Use at least jquery-rails 4.0.4 #1378 (tvdeyen)
- Give capybara more time to render pictures #1377 (tvdeyen)
- A few admin layout refinements #1374 (tvdeyen)
- Upgrade cancancan to version 2.1 #1372 (depfu)
- Upgrade kaminari to version 1.1 #1370 (depfu)
- Remove all old migration files #1367 (tvdeyen)
- Upgrade mysql2 to version 0.4.10 #1366 (depfu)
- Upgrade pg to version 1.0.0 #1365 (depfu)
- Use Gutentag for tags #1364 (tvdeyen)
- Update Rubocop config #1363 (tvdeyen)
- Compress 4.0 migrations #1362 (tvdeyen)
- Removes 3.x upgraders #1361 (tvdeyen)
- Get rid of Rails 5.2 deprecations #1360 (tvdeyen)
- Fix API response for users able to edit content #1356 (tvdeyen)
- Remove jasmine gems #1355 (tvdeyen)
- Remove translations provided by ActiveModel #1354 (pelargir)
- Update bundled TinyMCE to 4.7.5 #1353 (tvdeyen)
- New color theme #1352 (tvdeyen)
- Only scroll to element if focused from preview #1351 (tvdeyen)
- Don't prevent submit event of element save button #1349 (tvdeyen)
- Use FA calendar icons for EssenceDate picker #1348 (tvdeyen)
- Use headless chrome for feature tests #1347 (tvdeyen)
- Refactor the preview window JS code #1346 (tvdeyen)
- New table styles #1344 (tvdeyen)
- Remove pleaseWait overlay from links with GET requests #1343 by tvdeyen
- Replaces PNG icons with FontAwesome icon font #1342 by tvdeyen
- Ensure to use pg < 1.0 in tests #1341 (tvdeyen)
- Add must_revalidate to cache-control header #1340 (afdev82)
- Removed fixed table headers from admin resource tables #1339 by tvdeyen
- Removed Bourbon Sass library #1339 by tvdeyen
- Add possibility to add a suffix to the page title #1331 (jrieger)
- Do not add leading slash to default admin path #1329 (tvdeyen)
- Check if file exists on disk before calling identify #1327 (chalmagean)
- Skip folded deeper levels when rendering page tree #1324 (pascalj)
- Do not cache sitemap in Turbolinks #1463 (tvdeyen)
- Skip folded deeper levels when rendering page tree #1324 (pascalj)
- Fixes image cropping issues #1320 and #1321 by tvdeyen
This includes the change that images will not be cropped anymore unless
crop: true
is explicitly given in either the contents settings or passed via options torender_essence
. The former behavior of implicitly cropping only because crop values (crop_from
orcrop_size
) were present on theEssencePicture
database record was erroneous and confusing. - Allow Dragonfly 1.1 and above #1314 by tvdeyen
- Added Rails 5.1 support #1310 by tvdeyen
- Always use
border-box
box model for all CSS components in the admin #1309 by tvdeyen
- Removed deprecated
:image_size
option fromEssencePicture
Use:size
instead. - Remove deprecated
take_me_for_preview
content definition option Useas_element_title
instead. - Removed deprecated picture url helpers
show_alchemy_picture_path
andshow_alchemy_picture_url
Usepicture.url
instead. - Removed deprecated pages helper module.
- Removed deprecated translation methods
_t
andAlchemy::I18n.t
. UseAlchemy.t
instead. - Removed deprecated
redirect_index
configuration Useredirect_to_public_child
configuration instead.
- Removed
merge_params
fromAlchemy::Admin::BaseHelper
UseActionController::Parameters#merge
instead - Removed
merge_params_only
fromAlchemy::Admin::BaseHelper
Use methods fromActionController::Parameters
instead - Removed
merge_params_without
fromAlchemy::Admin::BaseHelper
UseActionController::Parameters#delete_if
instead - Removed
tag_list_tag_active?
fromAlchemy::Admin::TagsHelper
Usefiltered_by_tag?
instead - Removed
add_to_tag_filter
andremove_from_tag_filter
fromAlchemy::Admin::TagsHelper
Usetags_for_filter
and pass thecurrent
tag instead - Removes the possibility to pass options param as JSON string. #1291 by tvdeyen Pass normal params instead.
- Removed
redirect_back_or_to_default
fromAlchemy::Admin::BaseController
Use Rails'redirect_back
with afallback_location
instead - Deprecated controller requests test helpers #1284 by tvdeyen
- Rails 5
- Handle custom errors in
Alchemy::Picture#url
#1305 by tvdeyen - Do not move elements in tidy cells task #1303 by tvdeyen
- Add a store image file format rake task #1302 by tvdeyen
- Do not ask
systempage?
everytime we load the page definition #1239 by tvdeyen This speeds up rendering large sitemaps by about 6 times.
Notable Changes
- The seeder does not generate default site and root page anymore (#1239) by tvdeyen
Alchemy handles this auto-magically now. No need to run
Alchemy::Seeder.seed!
any more |o/ - Security: Sanitize ActiveRecord queries in
Alchemy::Element
,Alchemy::Page
andAlchemy::PagesHelper
(#1257) by jessedoyle - Remove post install message reference to the
alchemy
standalone installer (#1256) by jessedoyle - Fixes tag filtering for pictures and attachments in overlay (#1266) by robinboening
- Fix js error on page#update with single quote in page name (#1263) by robinboening
- Change meta charset from 'utf8' to 'utf-8' (#1253) by rbjoern84
- Render "text" as type for datepicker input fields (#1246) by robinboening
- Remove unused Page attr_accessors (#1240) by tvdeyen
- Permit search params while redirecting in library (#1236) by tvdeyen
- Only allow floats and ints as fixed ratio for crop (#1234) by tvdeyen
- Use at least dragonfly 1.0.7 (#1225) by tvdeyen
- Add handlebars-assets gem (#1203) by tvdeyen
- Add a new spinner animation (#1202) by tvdeyen
- Re-color the Turbolinks progressbar (#1199) by tvdeyen
- Use normal view for pages sort action (#1197) by tvdeyen
- Add srcset and sizes support for EssencePicture (#1193) by tvdeyen
New Features
- New API endpoint for retrieving a nested page tree (#1155)
api/pages/nested
returns a nested JSON tree of all pages. - Add page and user seeding support (#1160)
- Files of attachments are replaceable now (#1167)
- Add fixed page attributes (#1168) Page attributes can be defined as fixed_attributes to prevent changes by the user.
- Allow to declare which user role can edit page content on the page layout level.
Notable Changes
- Removed the standalone installer (#1206)
- The essence date input field is now 100% width (#1191)
- The essence view partials don't get cached anymore (#1099)
- The essence editor partials don't get cached anymore (#1171)
- Removes update_essence_select_elements (#1103)
- The admin resource form now uses the datetime-picker instead of the date-picker for datetime fields.
- The
preview_mode_code
helper is moved to a partial inalchemy/preview_mode_code
. (#1110) - The
render_meta_data
helper is moved to a partial inalchemy/pages/meta_data
and can be rendered with the same options as before but now passed in as locals. (#1110) - The view helpers
preview_mode_code
,render_meta_data
,render_meta_tag
,render_page_title
,render_title_tag
are now deprecated. (#1110) - An easy way to include several edit mode related partials is now available (#1120):
render 'alchemy/edit_mode'
loadsmenubar
andpreview_mode_code
at once - Add support for Turbolinks 5.0 (#1095)
- Use Dragonfly middleware to render pictures and remove our custom solution (#1084)
image_size
option is now deprecated. Please use justsize
(#1084)show_alchemy_picture_path
helper is now deprecated. Please usepicture.url
instead (#1084)- Display download information on the Attachment Modal Dialog (#1137)
- Added foreign keys to important associations (#1149)
- Also destroy trashed elements when page gets destroyed (#1149)
- Upgrade tasks can now be run separately (#1152)
- Update to Tinymce 4.4.3
- New sitemap UI (#1172)
- Removed picture cache flushing (#1185)
- Removed Mountpoint class (#1186)
Fixed Bugs
- Fix setting of locale when
current_alchemy_user.language
doesn't return a Symbol (#1097) - Presence validation of EssenceFile is not working (#1096)
- Allow to define unique nestable elements (#852)
Notable Changes
- Allow users to manually publish changes on global pages
Fixed Bugs
- The
language_links
helper now only renders languages from the current site
Fixed Bugs
- Remove trailing new lines in the AddImageFileFormatToAlchemyPictures migration. (#1107)
If you migrated already, use the
alchemy:upgrade:fix_picture_format
rake task. - Don't overwrite the fallback options when rendering a picture (#1113)
- Fixes the messages mailer views generator (#1118)
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 to
acts_as_taggable
. - Automatically add scope filters to admin module views, when the resource model
has the class method
alchemy_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
- When publishing a page with the publish button,
Page#public_on
does not get reset to the current time when it is already set and in the past, andPage#public_until
does not get nilled when it is in the future.
Fixed Bugs
- Fix table width for attachments and resources on small window sizes.
- Generators don't delete directories any more (#850)
- Some elements crashed the backend's JS when being saved (#1091)
- Fix bug that rendered duplicate nested elements within a cell after copying a parent element.
- Use relative url for page preview frame in order to prevent cross origin errors (#1076)
- 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)
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
Fixed Bugs
- Fix constant lookup issues with registered abilites
- Fix:
EssenceSelect
groupedselect_values
- Respect
:reverse
option when sorting elements - Directly updates position in database while sorting contents
- Don't show trashed elements when using a fallback
- Fixes wrong week number in datepicker
No changes