Keep up to date with Statamic. We’re always tinkering, fiddling, improving, and fixing. There are usually two releases per month. In other news, Hawaii is nice this time of year.


Released on March 30th, 2020
  • Fix Strip excess carriage returns from YAML dumps.


Released on February 4th, 2020
  • Fix PHP 7.4 support. #2469
  • Fix Only apply alpha_dash validation when login type is username. #2491


Released on January 23rd, 2020
  • Fix Password page protection is based on the scheme instead of the url. Use the same protect array on two urls, the auth status will be applied to both.
  • Fix When registering a user, the username will have alpha_dash validation applied.
  • Fix Route wildcard variable values are now sanitized.
  • Fix Removed user/auth related templates from Redwood

Thanks to Kernelsndrs for finding these issues!


Released on January 10th, 2020

πŸ”₯ Hot Tip: We've improved our sample nginx config file. If your current nginx rules do not prevent access to the local/ directory, we recommend adding the "block access to Statamic" location block to do so. This updated rule is an all-in-one solution and can replace any previous rules for blocking md/yaml files, the statamic directory, and so on.

  • New Cached config files are now hashed for increased security (only relevant if left public on a server or accidentally committed to a repo)
  • Fix Improve sample nginx config file
  • Fix Remove sample IIS web.config file
  • Fix Fix tag timing in debug bar. #2473
  • Fix Draft pages are now hidden in search results when using the supplement_data="false" param. #2474


Released on December 19th, 2019
  • Fix Fix PHP 7.4 join() related errors. #2469
  • Fix Prevent pages being dragged into branches already containing that slug. #1938
  • Fix Fix missing encrypter dependency #2472
  • Fix Prevent error if trying to serve a resource directory. #2468
  • Fix Prevent exception on action routes, and use 404s. #2467


Released on September 25th, 2019
  • Fix Initialize grid when publish section changes. #2444
  • Fix Fix issue where one taxonomy's localized urls would disappear when saving another taxonomy. #2030 #2090
  • Fix Fix issue where localized term slugs would sometimes get removed from a taxonomy.
  • Fix Prevent comma in submission filenames when used in some locales.


Released on August 8th, 2019
  • New Added the highly requested and sought after field_errors key when submitting forms via ajax. #1617
  • New Added support for Flysystem options in s3 asset containers. #2123
  • Fix The default fieldset can be hidden from the create page selector. Finally! #1336
  • Fix Sanitize taxonomy term slugs. Those slugs are so clean you can eat off them now. #2398
  • Fix The Updater and Form widgets only show when you have permission to see them. #2417
  • Fix Test commands return the appropriate exit codes. #2302
  • Fix Add translation #2392
  • Fix Localize dates in the updater listing #2419
  • Fix Fix invalid credentials error not showing. #2388


Released on June 28th, 2019
  • New Glide now supports the barely supported WebP image format #2396
  • New Static File caching can now invalidate URLs with query strings
  • Fix Completely empty routes files now saves properly in the control panel #2410
  • Fix Large assets are now less exhausted after downloading themselves. #2401
  • Fix Content saved events are now ordered properly. #2399
  • Fix Say goodbye to Super Umlautsβ„’. They can no longer occasionally break slugs. #2398
  • Fix Duplicate slugs don't throw "slug already exists" tantrums. They now auto-increment like classically trained slugs. #2387
  • Fix Theme tag's absolute param now works as it should. #2342
  • Fix ESC now closes the asset browser and removes the background scroll lock. πŸ˜… #2016
  • Fix Array sort now sorts all fields you want to sort. #2403


Released on April 26th, 2019
  • Fix Fix error when there are no validation errors, introduced in 2.11.11.


Released on April 26th, 2019
  • New Add storage API methods. #242 #2369
  • Fix Fix columns not being sortable #2377
  • Fix Fix pages fieldtype error. #2023
  • Fix Fix errors being displayed in in user login and register forms at the same time. #2383
  • Fix Fix text being highlighted while dragging Bard sets in Firefox. #2379
  • Fix Fix error when sorting with the form submissions tag. #2316
  • Fix Fix zero width Replicator field inputs #2372 #2235
  • Fix Grids gets expanded by default, like Replicator, inside the Fieldset Builder.


Released on March 27th, 2019
  • New Ability to change the default environment. #2355
  • Fix Fix error when search term starts with a plus or minus #2348
  • Fix Fix last modified error on terms. #2347
  • Fix Fix redirect flow after changing your password which could look like it didn't work. #2338
  • Fix When in entry reorder mode, entries get sorted by their natural order, and user sorting is disabled. #2324
  • Fix Fixed date column value when searching. #2311
  • Fix Hide grid cells that contain hidden fields. #2312
  • Fix Searchable fields can reference camelCase methods by using snake_case names.
  • Fix Searchable fields that return Carbon instances get converted to timestamps.
  • Fix Prevent creation of a user that already exists when using the installer.


Released on January 23rd, 2019
  • Fix Reversed HTML/Text multipart emails
  • Fix Class Declaration error in the Users tag.


Released on January 23rd, 2019
  • Fix 2.11.7 had a regression with relate and collection tags' private vs protected method access. This is now fixed.


Released on January 23rd, 2019

Do not upgrade to 2.11.7, there is a regression in the relate tag.

  • Fix get_value now works with underscores in array name #2306
  • Fix Fix issue with YAML and multipart email line ending detection (affecting Windows) #2282 & #2336
  • Fix Fix CP title in the user group area #2323
  • Fix Update the bundled composer.phar file for PHP 7.3 compatibility
  • Fix Make collection tags methods protected


Released on January 11th, 2019


Released on January 10th, 2019
  • Fix PHP 7.3 compatibility.


Released on January 7th, 2019
  • New Amazon S3 asset containers can have their URLs overridden by adding a url to the YAML file.
  • New Passing sort="false" to the collection tag will prevent sorting, allowing you do a custom sort from within a filter class.
  • New Image preset generation on upload can be disabled. #2322
  • Fix Localized paths get used in DataSaved events
  • Fix Additional sanitization in Control Panel listings. (CVE-2018-19598)
  • Fix Add sanitization to user related variables in Redwood.
  • Break The oldPath string argument in the DataSaved event is now oldPaths, an array.


Released on December 3rd, 2018
  • New Bard now has an auto-suggesting internal link creator.
  • New The link tag can now reference an ID. eg. {{ link:id-of-something }}
  • New Bard now supports H1s.
  • Fix The Stache lock is now more greedy, preventing you from getting logged out and other annoying cache related behaviors.
  • Fix Fix issue where localized content could get nulled if you edit a content by hand at the right (read: wrong) time. #1221, #2270
  • Fix Prevent error in url and get modifiers if no data is found.
  • Fix Fix group_by_date with a custom field in localized content. #2240
  • Fix Fix positioning issues on the Bard link tooltip.
  • Fix Fix error when adding an asset container to a Bard field. #2242, #2259
  • Fix Fix disappearing slugs in other locales.
  • Fix Fix slugs always being saved in other locales, even if they are the same.
  • Fix Unlocalized variables in localized routes now fall back to the default.
  • Fix Prevent taxonomies: false being removed from fieldsets. #2251
  • Fix Bring back fieldtype default values. #2249
  • Fix Adjust the toggle fieldtype's default value handling.
  • Fix Array fieldtype without keys doesn't save keys. #2273
  • Fix Fix the get_content tag when passing an ID. #2260
  • Fix The pages tag gets localized. #2276
  • Fix Fix Grid inside Replicators being in table mode when expanding the set. #2266
  • Fix Remove the option to delete the homepage. #2274


Released on November 7th, 2018
  • Fix Fix PHP 5.6-only middleware
  • Fix Bard's toolbar configurator fieldtype no longer shows up as pickable.


Released on November 6th, 2018
  • Fix Fix a toggle fieldtype related js error.
  • Fix Bard's add-http-when-you-forget-to-type-it feature uses https instead of http by default.
  • Fix Initial Bard/Replicator fields were looking a bit empty.


Released on November 6th, 2018
  • New πŸŽ‰We rewrote Bard, replacing MediumEditor with Scribe, which results in a much more consistent writing experience with significantly improved markup. #2047, #2034, #1984, #1811, #1810, #1714, #2192, #2185, #2178
  • New ⏱The cache tag can now set an expiry time. (cache for="1 hour" etc)
  • New Added events for resetting passwords and sending their corresponding emails. #2120
  • New Backported the TrimStrings middleware from Laravel 5.7. It automatically trims user-input strings. #2133
  • New The nav tag can now include the root page (defined in the from parameter) #2107
  • New Added a yes_no modifier that function much like a ternary operator.
  • New Added a new session tag. Set, forget, and output session data like a champion.
  • New The contains modifier now supports strict mode when using arrays. #1123
  • Fix Static caching now includes query strings by default.
  • Fix Full measure static caching now works with query strings.
  • Fix The cache tag is now disabled during Live Preview.
  • Fix Swapped the transliterations package for speakingurl for better international slugification.
  • Fix Fix Grid's min_rows setting. #2207
  • Fix Give Redactor a sedative (it was jumping around while scrolling sometimes. No more of that.) #2200
  • Fix The esc key now closes modals even better than before. Closes them good. #2197
  • Fix Show some caching settings conditionally. It's a touch of thoughtful UX designed to save you a few brain cells. #2209
  • Fix Fix padding on asset forms inside Replicators. #2174
  • Fix The is_between modifier logic now properly handles "today" states. #2157
  • Fix Fix error when an apostrophe is in asset meta data. #2177
  • Fix Eloquent users can now be properly deleted. #2158
  • Fix Added missing Eloquent user saved event.
  • Fix Users fieldtype now properly loads Eloquent values. #2111
  • Fix When deleting a page, the title is shown in the alert message. It's for peace of mind. #2139
  • Fix Improve contrast on dropdown hover states. #2175
  • Fix Prevent zeros and ones from getting stripped out of Grids and Replicators. #2129
  • Fix The get and url modifiers now properly return localized data. #1655
  • Fix The parent tag now properly returns localized data.
  • Fix The pages:next/prev tags now properly return localized data. #2184
  • Fix Fix addons with multiple fieldtypes loading JS files multiple times. #2223
  • Fix S3 asset containers with caching enabled now use the defined redis connection. #1579
  • Fix Improve error message when a partial fieldtype has not been given a fieldset. #2102
  • Fix Don't show the globals nav item if there aren't any globals.
  • Fix Landing on the globals page without any globals will redirect you to create a global set.
  • Fix The lang attribute on the control panel's html tag is now dynamically set to your current locale.
  • Fix Prevent an empty create_title from being saved in fieldsets thus rendering empty-looking buttons in the UI. #2147
  • Fix Prevent the asset button from being added multiple times in Redactor. #2219
  • Fix Added docblocks to helpers.php #1425
  • Fix Prevent an exception when searching a non-existent index in Algolia. #2206
  • Fix Trim the leading slash off the asset paths. #2165
  • Fix Cleaned up the password reset process. You get redirected to the login screen afterwards when appropriate.
  • Fix Fix colon explosion. 😱 #2227
  • Fix Add missing $uri from sample static caching nginx rule. #2153
  • Break Third-party Bard+MediumEditor extensions will need to be rewritten as Scribe plugins (if they aren't already built-in as a new feature).


Released on October 17th, 2018
  • New Static caching can now be used with Live Preview. #2153
  • Fix Updated the sample nginx config file to handle this. (htaccess was fine)
  • Fix Pages will only be statically cached on GET requests.


Released on October 17th, 2018
  • New Set a few methods on Statamic\Http\View to protected so they can be extended
  • Fix Prevent the Stache getting locked longer than absolutely necessary. Performance bump!
  • Fix The obfuscate tag pair now correctly parses what's between it. statamic/docs#365
  • Fix Update SwiftMailer to allow TLS 1.2. Fixes cases where Sparkpost (and or similar email services) stopped working.
  • Fix Fix Collections not being updated in the Stache when stache_always_update is disabled.


Released on September 14th, 2018
  • New Add ability to disable stache locking
  • Fix Prevent Bard from adding style attributes from the contenteditable browser API.
  • Fix You can now add password to the redis config in your ENV
  • Fix Fix a few wonky drag interactions with array and asset fieldtypes #2169
  • Fix Add missing translations #2136
  • Fix Make sure you can't see a non-functioning bulk delete button if you don't have access to delete #2144
  • Fix Fix issue where loading content into a route wouldn't be localized.


Released on August 22nd, 2018
  • New Added a pad modifier.
  • New Add 3xs and 4xs Tailwind text sizes.
  • Fix Prevent an empty search query from throwing an error.
  • Fix Remove the .. parent link item in the root directory when in the assets grid view. #2098
  • Fix Make $data->supplementTaxonomies() chainable
  • Fix Change sourcemap style to external files to lower the css filesize.
  • Fix Escape a URL to prevent an XSS issue.
  • Fix Fix fullscreen markdown editor not scrolling. #2101
  • Fix Release the Stache lock before performing the clean up step in the updater, fixing a potential error. #2100
  • Fix Increased the wait time for a locked Stache request to 30 seconds, but its also now configurable using stache_lock_wait_length in caching.yaml.
  • Fix Fix incompatible roles method on an Eloquent user. #2130
  • Fix Fix undraggable grid fields in the fieldset builder. #2127


Released on August 2nd, 2018
  • New Entries and pages can now define a default status (e.g. draft). #615
  • New The asset editor/viewer modal now has a link to view in a new tab or copy its URL. As requested.
  • New The save button behavior (save & continue, etc) is now remembered per content type (entry, page, settings, etc)
  • New The version command can accept an addon name to see its current version.
  • New Added an error keys into a form's fields loop.
  • New Added a PagesReordered event.
  • New Added a FormSaved event.
  • Fix Fix cursor jumping around when pasting in Bard. #2095
  • Fix Fix assets sometimes being uploaded twice (once in a subfolder, again in the parent folder). #2029
  • Fix Enabled line wrapping in the YAML fieldtype, preventing long lines from breaking the page layout.
  • Fix URL::makeAbsolute accepts a locale. #2044 #2093 #2089
  • Fix Adding a folder.yaml at the root page level used to not work. It now works. Hurray!
  • Fix Deleting a taxonomy will delete its corresponding YAML file, as expected.
  • Fix Fix error in the switch tag. #2086
  • Fix Fix error when submitting no items to a relate fieldtype. #1721
  • Fix Prevent no-cache headers being applied to CP thumbnails. #2082
  • Fix Remove PHP 7 typehints from recently added events. Sorry about that, but you really should be using PHP 7. #2081
  • Fix Only selectable fieldtypes are shown in the fieldset builder.
  • Fix Some UI tweakies.


Released on July 20th, 2018
  • Fix The date field disappeared yesterday in 2.101. We found it! It was in the magic hat. 🎩🐰
  • Fix Fix issue where static cache files wouldn't get deleted if you had previous cleared the cache.
  • Fix Prevent static cache items from being invalidated while the Stache is being initially built.
  • Fix Fix issue where the Stache gets rebuilt when you switch between the console and browser.


Released on July 18th, 2018
  • Fix The "Trial Mode" banner will now disappear when you enter any and all appropriate license keys.
  • Fix Fix fieldset not being included when submitting. #2068 #2069
  • Fix Fix Grid fields being in stacked mode when toggling on with a conditional field. #2057
  • Fix Fix tag size and overflow inside Grids and Replicators. #2065
  • Fix Add missing fontawesome icons for Bard #2071
  • Fix Licensing area will refresh itself automatically when installing or removing an addon.
  • Fix Fix error in licensing area when an addon with an API class is installed.


Released on July 17th, 2018
  • New Added a huge bucketload of new events!* (Which the new version of Spock takes huge advantage of)
  • New The Suggest fieldtype can have optgroups.
  • New Users can now change their own passwords in the CP without the "reset password" email flow.
  • New Addons can leverage suggest fieldtype preloading to prevent extra AJAX requests.
  • New The Publish fields Vue component can be used by addons.
  • New Non-super users can now change other users' passwords, if they have permission to.
  • New Non-super users can now add roles to a user, if they have permission to.
  • New CP login forms now shake their hips when creds don't match. πŸ’ƒπŸ•Ί
  • New Text and Textarea fieldtypes now support placeholder text.
  • New Added rangy, which is useful for devs wanting to create Medium Editor (Bard) extensions.
  • New You can add class names to fields with a classes setting.
  • New You can add class names to the table modifer
  • New Add min, max, and avg modifiers.
  • New Improved and significantly more helpful licensing messaging and UI in the Control Panel.
  • New Add str_bool helper.
  • New The Publish component can accept a fieldset's array representation to avoid an AJAX request.
  • New Enhanced some things under the hood that addons will be able to take advantage of. More on that soon...
  • Fix Fix an issue where saving a page while the cache was cleared at the same time resulting in 404s and other errors. #2007
  • Fix Prevent the Stache being loaded or updated while it's being updated in another process. #2007
  • Fix Prevent the response being sent before a Stache update has completed. #2007
  • Fix Users can be searched.
  • Fix Fix glide:generate
  • Fix Secondary fieldtypes can specify their config fieldsets.
  • Fix Publish component has a prop to disable meta fields. (ie. So you can have regular fields named title, date, etc.)
  • Fix Made inline radio fieldtypes a little prettier (by meticulously adjusting margins).
  • Fix Fixed empty Tags fieldtype from saving an array with an empty string.
  • Fix Live Preview button only appears if there's a corresponding URL to view it on.
  • Fix When deleting a collection/taxonomy, all entries/terms get forcefully deleted (so all their respective events get triggered)
  • Fix If a user doesn't have permission to edit roles, the fieldtype shows the roles instead of a blank space.
  • Fix Remove checkboxes in the user listing if the user doesn't have permission to delete.
  • Fix The "new user roles" option now also applies when a user without role-editing permission creates a user in the CP.
  • Fix Fix error when saving settings with environment variables. [#1374][1374], #846
  • Fix Improve the integer coercion in a select fieldtype. #1816
  • Fix Fix secondary fieldtypes not being rendered inside a Grid.
  • Fix Prevent form submissions from recreating a new ID.
  • Fix Fix sorting by dates across formats.
  • Fix Fix issue where if the publish sidebar is active and you change your browser size, no main section is shown.
  • Fix Fix error when the first entry in a numbered collection is created. #2019
  • Fix Style Bard's h4
  • Fix Update Bard toolbar icons.
  • Fix Improve date, suggest, and date fields inside Grid/Replicator.
  • Fix Sidebar becomes a tab at a narrower breakpoint. #2024
  • Fix Javascript based slugification performs transliteration while you vacation at the train station. πŸ™„ #2028
  • Fix Fix site root double-up in assets. #2032
  • Fix Resolve commands through the container to fix dependency injection.
  • Fix Prevent date fields that aren't "the publish date" from being named "date" and unchangeable. #2025
  • Fix Prevent dot files from being shown in assets. #2031
  • Fix Fix half-measure static caching not being flushed when requested.
  • Fix Enabled route and database query collectors in the debug bar.
  • Fix Fix Grid fields displaying in stacked mode inside collapsed Replicator sets. #2013
  • Fix Fix login form js error in Firefox.
  • Fix Fix issue where only the first environment variable would get parsed. #1769
  • Fix Fix infinite recursion in Eloquent users. #1966
  • Fix Fix Eloquent user roles not being persisted to the database. #1878 #1989
  • Fix Prevent page title disappearing when saving settings.
  • Fix Added lastModified() to content classes.
  • Fix Prevent double prepending of the site root when using relative URLs and multiple locales. #2044
  • Fix Remove the "Save and add another" option where it didn't make sense.
  • Fix The get modifier now returns null if no related data was found.
  • Fix Fix environment vars not being treated as booleans. #2021
  • Fix Bring back the "managed in environment" field. #2048
  • Fix Prevent logging every time a noparse modifier is used.
  • Fix dotfiles (.gitkeep, etc) are ignored inside content directories. #2043
  • Fix The where modifier casts boolean strings to real booleans.
  • Fix The response.created event also gets dispatched for 404s.
  • Fix Fix issue where the default locale's slug is shown when editing a localized entry.
  • Fix Added Window.moment so addons can use Moment.js.
  • Break Deprecated *.saved events. (eg. content.saved, assetfolder.saved) in favor of classes (eg. ContentSaved)

* The events are: AssetDeleted, AssetMoved, AssetUploaded, AssetContainerDeleted, AssetFolderSaved, AssetFolderDeleted, FieldsetSaved, FieldsetDeleted, ContentSaved, ContentDeleted, CollectionSaved, CollectionDeleted, PageSaved, PageMoved, PagesMoved, TaxonomySaved, TaxonomyDeleted, TermSaved, UserSaved, UserDeleted, SubmissionSaved, SubmissionDeleted, FileUploaded, SettingsSaved, AddonSettingsSaved, RoleSaved, RoleDeleted, UserGroupSaved, UserGroupDeleted, and probably more!


Released on June 8th, 2018
  • Fix Fix a bug where taxonomy fields wouldn't load their existing data #2011
  • Fix Bring back the Missing Linkβ„’s on the Global listing screen.
  • Fix Fix weird links to undefined globals on aforementioned screen.
  • Fix Fix the unstyled "no forms" screen.


Released on June 7th, 2018

We spent this week on code hardening. It went well.

  • New If you save the publish page with an expired session, you are given the ability to sign back in a modal instead of being redirected to the login page wherein all your changes go poof πŸ’¨ #1265
  • New Added a "Save & Add Another" button to the publish page. We'll give you 3 guesses as to what it does. 😊 #2009
  • New Added a content.saving event that lets you modify the object or prevent saving. #1444
  • New Added new URL helper method: URL::getCurrentWithQueryString()
  • New Added a make:suggest command that makes a suggest mode. As you'd expect. #1232
  • Fix Fix form attr parameter. It was doing weird stuff with empty arguments. #842
  • Fix Clean up empty asset directories. #1679
  • Fix Add leftover taxonomy fields on the server side instead of client side, fixes #2000.
  • Fix Meta fields (date, slug) get prepended instead of appended. Taxonomy fields get appended.
  • Fix Only super users see a manage widgets button. #1967
  • Fix Fix error when editing a user when login type is email.
  • Fix Bring back display and instructions on addon and settings forms.
  • Fix Clean up some svg files that were dirty. πŸ’…πŸΌ
  • Fix Add and fix docs links in settings, and make them open in new tabs. #1119
  • Fix Bring back Vue devtools and sourcemaps. They were shy but we upgraded their personality module and they're the cool kids at the party again.
  • Fix When creating new entries, the "next" order is now taken from the last entry (the highest number) instead of the count of entries. If that doesn't make sense it's okay, it's just better now. #1901
  • Fix Entities get decoded when exporting form submissions to CSV. #1897
  • Fix Prevent error when filtering by no taxonomies. #1916
  • Fix When browsing through your paginated asset directories, you can no longer get stuck in secret non-existing pages in subfolders. #1755
  • Fix Remember old values when creating a global set. #1652
  • Fix Suggest fields with custom items created through create: true are now maintained as selections. #1722
  • Fix Select fields with an integer value show the value instead of the display text. #1816
  • Fix Nocache headers are sent for control panel requests. #1386
  • Fix Fix nav items with query parameters not being highlighted when active. #1375
  • Fix Fix cache tag's hash. #1873
  • Fix Sections without a display value show the handle in the tab instead of nothing.
  • Fix Fix Grid being in stuck in stacked mode if its in a secondary tab. #2003
  • Fix Fix secondary fieldtypes not being displayed in Grid, Replicator, and Bard fields. #2001
  • Fix The Switch tag now supports colons (Γ  la Tailwind). Viva colons! #1742
  • Fix Prevent access denied if you don't have access to all asset containers. #1419
  • Fix Date fieldtypes display using the date_format defined in cp.yaml. You can override per-field in input_format. #1980
  • Fix Prevent an alert if you navigate away from a listing page before it finished loading.
  • Fix Prevent error when listing form submissions. #2005
  • Fix Prevent an instance where you can log into the CP but not have permission to see anything, making it seem like you're logged out. It will now bounce a user down the nav sections list until they get somewhere they belong. #1418
  • Fix Add a PHP 7 example to the sample nginx conf. #1904
  • Fix Prevent locales with no names from being saved. #1804
  • Fix The formset builder is now translatable. #1867
  • Fix Form submission filenames/IDs now use microseconds instead of just seconds. #982
  • Fix Fix issue where asset fields inside nested replicators would sometimes not show thumbnails in the preview text. #1899
  • Fix Prevent appending a hardcoded "field" to validation strings. #1135 #1347
  • Fix Fix an issue where you couldn't click on parts of the Markdown field when going into Live Preview. #1573
  • Fix Fix validation rules from partials not being applied.
  • Fix Strip HTML from Markdown preview text inside Replicators. #1802
  • Fix Prevent narrow images from throwing off the focal point editor. #1976
  • Fix Prevent the page title from disappearing when editing a user.
  • Fix Translate third party fieldtypes' field display and instruction values. #1084
  • Fix Prevent the cache tag from saving the same data across locales. #1464
  • Fix Added ability to set collection routes for each locale in the Control Panel. #1556
  • Fix Fix issue where addons trying to get a translation before translations are loaded are now translated. #1895
  • Fix Fix an issue where the username would disappear after editing a user's data.


Released on June 1st, 2018
  • New The Collection tag now allows you to get entries from all collections.
  • Fix Fix a scenario where "falsey" field config values would hang around, unwanted, when they really should just get lost. πŸ‘‹
  • Fix Fixed a bug where Bard/Replicator fields -- with no sets -- were saved as sets: null, which threw an error. The sets value is just left off now, and the error is gone. Huzzah. #1955 #1962
  • Fix Fix config-less fields causing an error.
  • Fix Teeny-tiny UI fixes.
  • Fix Translations. #1970


Released on May 31st, 2018
  • New Added is_email and is_url modifiers. #1988
  • Fix Fix issues when using nested fieldset partials. #1935 #1936
  • Fix Fix Grid rows not being reorderable. #1977
  • Fix Fix locale selector not being available on the home page. #1981
  • Fix Entries are localized when using collection:next and :previous #1983
  • Fix Prevent slug field being added to the home page.
  • Fix Assets can be cleared when running please clear:site
  • Fix The Taxonomy tag's min_count parameter should be inclusive.
  • Fix Fix the "Next up on the blog" section in Redwood.
  • Fix Updated sample home page content and fieldset on Redwood.


Released on May 25th, 2018
  • Fix Fix cache bug introduced in 2.9.3. Sorry about that everyone. πŸ€•


Released on May 25th, 2018
  • Fix The collection within a taxonomy tag pair gets localized. #1612
  • Fix Prevent shorthand YAML syntax.
  • Fix You can delete Bard/Replicator sets in the Fieldset Builder. #1955
  • Fix Add confirmation dialogs when deleting things in the Fieldset Builder.
  • Fix Add the fieldtype name to the edit modal.
  • Fix Fix error when trying to edit an item in the List fieldtype. #1851
  • Fix Fix tpyo in sample.htaccess #1948
  • Fix Bring back ability to switch locales when editing a taxonomy term. #1946
  • Fix "Thing" entries in Redwood redirect to their Amazon link. To show you can. #1951
  • Fix Log exceptions rather than throwing them when something blows up while indexing. #1956
  • Fix Adjust title tag when editing forms. #1959
  • Fix Unused taxonomy terms can be displayed on the front-end. #1957
  • Fix Prevent the Fieldset Builder from asking if you really want to leave the page without you doing anything.
  • Fix Fix front-end user registration.
  • Fix Fix wonky "export" button styling.
  • Fix Prevent form submission when clicking the + button on the fieldtypes field.
  • Fix Fix template not being saved when updating a collection.


Released on May 22nd, 2018
  • Fix Fix Grid error in the installer. #1930
  • Fix Fix field titles not displaying. #1939
  • Fix Fix user fields not displaying when login type is email. #1944
  • Fix Prevent users that are already email based from being deleted when re-running the login type conversion command. #1945
  • Fix Fix YAML indentation error. Yes, even we can mess up whitespace sometimes 😊
  • Fix When enable_gravatar is disabled, you get to see your initial! Exciting!


Released on May 21st, 2018
  • Fix Fixed a bug that preventing saving date-based entries. #1929
  • Fix The command line updater now cleans up after itself, the way its mother taught it. #1928
  • Fix Fix a couple of comically oversized icons found bushwacking in Safari.


Released on May 18th, 2018
  • New A brand new and totally redesigned Fieldset Builder experience
  • New Fields can be organized into tabs/sections like the good Lord intended!
  • New You may place any field into the sidebar. You can even have no sidebar at all!
  • New Title, Slug, Date, and taxonomy fields can be placed in any section, renamed, and given instructional text. #814
  • New Collection and Taxonomy listing tables now have highly configurable columns. #875 #1518 and a new mobile/card view for small screens
  • New Typing 3 dashes into a Bard field results in an <hr>.
  • New Added gt, lt, gte, and lte conditions.
  • New Added Tailwind to the Control Panel.
  • New When editing a secondary locale, the non-localizable fields appear, but are read only. #1883
  • New Added the Symfony YAML parser as an option (and the default on new installs) which addresses a number of YAML and Markdown parsing challenges, such as #1567 and #1324
  • New A huge knapsack full of UI and UX improvements, including but nowhere near limited to #1906, #1913, #1452
  • New Filenames now get lowercased when uploading assets.
  • New Secret, fun, hidden things.
  • Fix Fix inability to change form submission date sort order. #1362
  • Fix Fix ignoring route segments. #1907
  • Fix URL::makeAbsolute() now uses the URL defined in system.locales when absolute. When relative, it just gets a bit smarter. #1882
  • Fix Fix form submissions not being reverse-sortable by date. #1362
  • Fix Prevent an error on collection tags when you try to use pagination without defining a limit. #1564
  • Fix Blade templates are shown in the templates fieldtype.
  • Fix Automatically converted taxonomy terms are localized where appropriate.
  • Fix Email addresses must now be unique when registering/creating users.
  • Fix Assets can be sorted by clicking the table headers.
  • Fix Fix a PHP 7.2 specific error when using the foreach tag.


Released on April 27th, 2018
  • New You can now pick how many words you'd like to ensure break to a new line with the Widont tag and modifier.
  • New Improved the file upload sanitization process. It now strips out all special characters and spaces, replacing them with hyphens.
  • Fix Fixed that darn section fieldtype margin bug on wide screens. #1867 and #1868 and #1890... it felt like we were being punked with how often that one got opened. Sorry ya'll. So sorry.
  • Fix Added missing format alias to Glide's fm parameter.
  • Fix New defaults for focus/focus_css asset vars. They now default to 50-50 and 50% 50% respectfully. #1577
  • Fix Asset titles no longer fall back to filenames. You can now fall back to whatever you want. #1898
  • Fix Fixed a regression from 2.8.3 where new passwords set by hand in user files weren't immediately encrypted on the login event. They were encrypted on later events, but not the first one.
  • Fix Interpolated parameters (those starting with :colons) are now properly falsey and don't fall back to the passed string. #1257
  • Fix Added a missing translation #1867


Released on April 20th, 2018
  • New The relate tag now allows relate field="whiskies" in addition to the existing relate:whiskies style
  • New If there's only one page type (fieldset) in the Add Page picker, you no longer have to pick it manually.
  • New Add https redirection to the sample htaccess.
  • New Add force/suppress www rules to the sample htaccess.
  • Fix Update the sample web.config with rules that have reportedly worked better.
  • Fix Empty Bard fields will be removed from content files instead of saving a single empty text block.
  • Fix Fix Bard line break handling when in Markdown mode.
  • Fix Fix the oauth tag not working on case sensitive filesystems.
  • Fix Added a missing required_unless validation translation.
  • Fix Prevent ASP style php tags being parsed in templates with allow_php: false and the asp_tags php.ini variable enabled. Super edge case, but it's better to be safe than sorry.
  • Fix Also prevent <script language="php"> tags being parsed. Did you even know that was a thing?


Released on March 30th, 2018

Just a few visual/css fixes for a classic Friday release πŸ’…πŸΌ. Couldn't help ourselves.

  • New You can now rename your "title" field by manually setting a title field, and it will pick up your display value.
  • Fix Rogue > closing bracket in asset tile filenames.
  • Fix Improved the Asset Browser's breadcrumb positioning. It's now bottom-foxed for even better usability.
  • Fix Adjusted the select box's icon position for a more perfect centering
  • Fix List fieldtype bullets are now properly positioned inside Grid fields
  • Fix SVG previews in the Asset Browser's tile mode now work properly
  • Fix Array fieldtype <th> elements are no longer fixed width inside Grid fields
  • Fix The sidebar nav is no longer way too tall some of the time. It's way too tall all of the time now! Just kidding. It's normal. Normal amount of tall.
  • Fix Fix a tpyo.


Released on March 29th, 2018
  • New Date/time behavior can now be customized on the fieldset level. You can choose to show, hide, or require those timestamps.
  • New Paginated links are now relative to make them more domain interchangeable. #1719
  • Fix Single field Bard sets get wrapped in a block with header and contextual buttons (so you can delete them). A single asset field is the only special one now. We really like how it looks so you'll need to complain a bit louder to get us to change it.
  • Fix Fix overflowing breadcrumbs. There comes a point in each and every persons life when they realize they have too many breadcrumbs in their pockets. We reached that point in ours. 🍞 #1834
  • Fix Asset fields inside Bard now show filenames. We thought it looked nicer without them, but were told that looks didn't matter, and that it's what is underneath that counts. We were inclined to agree.
  • Fix When the contents of the assets: array are removed from a container YAML file by hand, it would result in an empty string, causing an error. No more!
  • Fix When dealing with fantastically tall images, the focal point editor can now be scrolled all the way down to the bottom so you can, you know, find the save button. #1797
  • Fix Simplified the on-save flash message. It's less flashy, but just as informative. #1852
  • Fix The Live Preview button is disabled if static caching is enabled. #1636
  • Fix Fix issue where token is invalid on the first try when using full-site password protection. #1525
  • Fix Fix issue where users sometimes couldn't edit their own profile.
  • Fix Requests while the cache is being warmed will wait up to 10 seconds before returning the meta-refresh page. Ajax requests will return a 503 response. #1824
  • Fix Improve cross-browser nav bar scrolling.
  • Fix Add template field to collection create/edit forms.
  • Fix Fix drag and drop in an Assets field, inside Bard. #1854
  • Fix Fix list fieldtype styling inside Bard.
  • Fix Fix parsing error when using tags starting with if. #1849
  • Fix Backspace/delete in an empty Bard text block now removes the block you're in instead of neighboring sets. This behavior feels more natural. We think you'll agree.
  • Fix Add missing translation #1853
  • Fix Date fields should have had time available by default. Now they do again! #1856
  • Fix Prevent literal false values from being stripped out when saving a fieldset.
  • Fix CP URLs are now relative, which fixes issues with load balancers and other edge cases that have trouble with http/https consistencies. #1784
  • Fix When HTTP_HOST isn't available, it falls back to / #1835


Released on March 12th, 2018
  • New Nested addon config items can be accessed with dot notation. #1803
  • New An ext rule for validating extensions allowed in assets fields.
  • Fix Translation fixes #1800 #1799 #1809 #1820 #1825 #1726 and more.
  • Fix Fix Toggle field padding in Grid fields. #1801
  • Fix Nav is sticky and scrollable #1798
  • Fix Sanitize form output in CP #1796
  • Fix Move Bard paste config into two separate options. #1807
  • Fix Fix set dragging. #1814
  • Fix Fix greedy config merging. #1458
  • Fix Fix front-end file validation #1765
  • Fix Upgrade tippy.js to fix positioning issues. #1832
  • Fix Standalone assets tag gets widths and heights. #1826
  • Fix Prevent error when a formset has no fields array.
  • Fix Add list toolbar buttons to Bard by default.
  • Fix Fix error when filtering on form:submissions tag.


Released on February 21st, 2018
  • New Empty Bard sets are now officially supported. #1787
  • New Email API now supports attachments. #1422
  • Fix The data initialization issue with YAML fields is all better now. #1792, #1794
  • Fix MediumEditor is now translatable. #1788
  • Fix Bard's click target area is now much easier to click, which is a good thing if you want to click it and have it be clicked. #1795


Released on February 19th, 2018
  • New Added support for new Bard editor options to configure behaviors (e.g. paste behavior, auto link, etc) #1786, #1771
  • New Saving search settings will trigger a reindex ensuring there's no delay between you wanting something and getting that same something #1656
  • Fix Non-super users with proper permissions can now create asset subfolders, as they should.
  • Fix Support added for multibyte search strings #1780
  • Fix Form metrics no longer choke on non-numeric data #1689
  • Fix Replicator title fields now have proper bottom margins #1746
  • Fix Wire up a few more missing translation strings #1781


Released on February 17th, 2018
  • Fix Fix a regression introduced in 2.8.4 with field validation that caused the publish forms to have issues saving data.


Released on February 16th, 2018
  • New Replicators, Grids, and Bards now all support Partials! (Literally the most requested feature of all time) #723
  • New Brand new Spaceless modifier to strip excess whitespace from an HTML string. #1519
  • New You can now search in all locales! #1707
  • New Video fieldtype now supports YouTube shortlinks ( #1725
  • New Added a setting to prevent form submissions from being saved to help with GDPR compliance with EU sites #1696
  • New Brand new Increment Tag to assist in creating multi-purpose self-incrementing variables.
  • New Brand new Foreach Tag used to loop over named key/value arrays.
  • Fix Fixed an issue with overflow on the bottom of the asset browser #1404, #1502, #1630
  • Fix Made the Entries listing view much more responsive friendly for cell phone sizes. #1658
  • Fix Made sure all select boxes have full click boxes. Firefox was a bit naughty. #1661
  • Fix Added a handful of missing translation strings. #1461, #1705, #1727
  • Fix We found the missing form name title and and put it under house arrest. #1759
  • Fix Saving a user now properly saves the special content variable. #1764
  • Fix You can now mess around with date fields, emptying them at will, and they will stay empty. #1762
  • Fix Form file uploads can be properly validated again. #1765
  • Fix The allow_time date field setting now saves properly. Mr. Carson would be proud of how proper it is now. #1777
  • Fix A fatal error on empty search + grey screen showing with debugging turned off... yada yada it's a hard to explain edge case bug. It's fixed. #1774
  • Fix Search results no longer throw an exception on PHP 7.2 #1779
  • Fix Removed some unwanted button borders. #1717
  • Fix Forms without fields no longer throw errors #1757
  • Fix CP flash messages no longer hang around like little eavesdroppers. They dismiss themselves.
  • Fix Fed a few malnourished areas of the control panel. They're looking much healthier now.


Released on January 22nd, 2018
  • New The installer displays extra instructions if the default locale is not en.
  • New Add a save shortcut method to the UserFactory class.
  • New The Revealer fieldtype now saves its value. This is borderline a bug fix, but also opens new options on the template-side. Calling it a feature.
  • Fix Prevent a free-floating dash from converting a Bard paragraph into a list. #1736
  • Fix Lists may only be created on blank Bard lines.
  • Fix Adjust how text is cleaned up when pasted in Bard.
  • Fix Fix some various Bard drag/drop cross-wirings. #1703 #1723 #1737
  • Fix Fix Bard not counting empty paragraphs when deciding if the cursor is at the beginning or end of a text block. #1738
  • Fix Fix a thing where Firefox decides to navigate away when hitting delete in a Bard field. #1743
  • Fix Fix passwords not being hashed when using databases in some circumstances. #1739
  • Fix Force passwords to be hashed if setting through an array instead of the dedicated password method.
  • Fix Fix existing data being omitted when updating an Eloquent-based user.
  • Fix The Redis User class' lastModified method now returns a Carbon instance instead of a timestamp.
  • Fix If the fieldset for a global set has not been defined, no fields will show rather than a site_name. #1716
  • Fix Prevent a silly page if you're trying to update to a silly version. #1728
  • Fix Added the word "in". #1735
  • Fix The make:user command now forces an email address when using a database or if the fieldset requires it.
  • Fix ...and only asks for a separate first and last name if specified in the fieldset.
  • Fix ...and updates the Stache after the user is created.


Released on January 16th, 2018
  • Fix Fix Bards with no sets when used inside Replicators.
  • Fix Bard's + button only appears when there are sets.
  • Fix Fix taxonomy term data not appearing when editing.


Released on January 15th, 2018
  • New Bard supports inserting links to Assets (images never look good in the middle of sentences, so the text set will never actually insert the image right inline).
  • New You can now create lists in the Bard fieldtype by typing -, * for unordered, or 1. for ordered.
  • New The Pages fieldtype defaults to a nested page structure display order. (Thanks Frederik!) #1685
  • Fix Prevent empty date fields from throwing an error in the air like it doesn't even care.
  • Fix Prevent Bard from overzealously triggering the "navigate away" confirmation.
  • Fix Fix Bards inside Replicators. Sure, you can do that. #1709
  • Fix Radio, Checkboxes, and Select fieldtypes use their display values in Replicator previews. #1708
  • Fix Fix text clipping. #1711
  • Fix Add missing use statement. #1442


Released on January 10th, 2018
  • New Bard Fieldtype, a badass Gutenberg-like fieldtype for structured long form content
  • New Users can now be stored in a database πŸ™ˆπŸ™‰πŸ™Š
  • New Routes can now automatically load data from other pages. No need for get_content in your templates.
  • New Video Fieldtype, with embed_url and is_embeddable modifiers. They are all designed work together. Like the A-Team.
  • New Added View-only permissions which prevent editing of any data.
  • New Date fieldtype can save in whatever format you want. (Timestamp, etc)
  • New The CP sidebar sticks around like Kimmy Gibbler when you scroll down the page. #1667
  • New Add locale_full and locale_url globals.
  • New Timezone can be selected in the installer. #958
  • New Added a has method to the Form Submission class. #979
  • New Fields may be excluded from Replicator previews. #1633
  • New Images in asset fields are now thumbnails instead of filenames within Replicator previews. #260
  • New Addons can have their own publish forms.
  • New The navigation can be hidden to support full-width content areas.
  • New Added a mixin for custom fieldtypes to leverage auto-slugifying functionality.
  • New Suggest modes may now have dependencies injected. #1645
  • New Suggest modes use the Extensible trait by default #1646
  • New Added an in_array modifier.
  • New Addons may customize how helpers like $this->js->url() resolves paths, if you want to version your assets.
  • Fix Addon CP routes are now automatically checked for authorization. #786 #1285
  • Fix Fix layout editor not saving on Globals. #912
  • Fix Fix similarly named nav items all getting active states. #965
  • Fix Prevent a double submission when pressing ⌘-enter on the publish page, which caused an error in Safari. #1009
  • Fix Addon settings are now validated. #1018
  • Fix The last_modified date on a user only returns a value if it has been saved. #1111
  • Fix Fix the installer failing a memory check when specified in gigs. #1474
  • Fix Fix some translations. #1629 #1647 #1643 #1682
  • Fix Fix flash notification z-index issue. #1650
  • Fix Fix Redactor code mode color. #1653
  • Fix Fix OAuth error #1670
  • Fix The list fieldtype will strip out blanks. #1671
  • Fix Brought back the validation field for asset fields. #1675 #412
  • Fix Fields inside the asset editor are now validated. #1676
  • Fix Fix redactor placing links in the wrong spot, and sometimes without any text. #1674
  • Fix Fix weird success alert. #1691
  • Fix word_count and read_time modifiers support multibyte characters. #1694
  • Fix Pages always get their fieldsets saved to the front matter. #1697
  • Fix Hashes are converted to dashes in filenames when uploading assets.
  • Fix Prevent literal false values from being stripped from YAML when saving.
  • Fix Fix padding issue on taxonomy listing.
  • Fix Upgraded Guzzle to fix a PHP 7.2 issue.
  • Fix ~Prevent a crash some users were experiencing.~ Fixed in 2.8.1 #1442
  • Fix The fieldset variable will get added to all pages regardless of their parent's fieldset. #1697


Released on January 2nd, 2018
  • Fix Prevent template code from running within old, get, and post variables.
  • Fix Form input gets sanitized (curly braces escaped) by default.
  • Fix The content_raw variable respects the parse_content value.


Released on November 7th, 2017
  • New Widgets can now be restricted by permissions.
  • New Add get and remove methods to the nav classes. You can more easily manipulate or remove items in the sidebar. #1640
  • New Added locale_name global variable.
  • New Added AddonRepository::filenameRegex()
  • New Improved flash notifications and added a small API wrapper.
  • Fix The override.css file is now detected when running above webroot. #1639
  • Fix Prevent an error when a Replicator set has no fields. We wrongly assumed nobody would make an empty thing. #1642
  • Fix Support for php:// paths in the file log handler.
  • Fix Fix addon settings URL when running in a subdirectory.
  • Fix Fix incorrect OAuth redirect URL in some cases.
  • Fix Fix glide:id not working regression (introduced in 2.7.1)
  • Fix Fix parent: null in the Pages fieldtype throwing an error.
  • Fix The date method in an EntryFactory accepts times. #1644


Released on October 20th, 2017
  • New Add is_current and current to the locales tag.
  • Fix Fix Glide images not taking into account the focal points.
  • Fix Fix incorrect Glide URLs when using the cached setting and preventing further crazy rollercoaster rides of confusion with Ant trying to explain what was wrong.
  • Fix When deleting a page, the warning informs you that children will also be deleted.
  • Fix Support for terms in the get_content tag.
  • Fix Fix some servers not recognizing the woff2 mime type in the CP.
  • Fix Fix field alignment when editing an asset inside a Grid.
  • Fix The refresh that happens on a long cache build maintains query parameters.


Released on October 18th, 2017

Control Panel UI/UX

  • New We've given the Control Panel a delightful facelift. We've focused on consistency throughout all the nooks and crannies and think you're going to love the changes. We can't list them all, the list would be a gajillion lines long.
  • New You can now adjust and resize the Live Preview window sizes! (Oh yeah, we renamed Sneak Peek to Live Preview. It's more intuitive now.) #549
  • New You can now conditionally display fields! This is one of our most requested features. Simple conditions can be controlled through YAML or you can go hog-wild with your own custom Javascript methods. #562
  • New Added a Revealer fieldtype. A handy little button to conditionally display other fields.
  • New Replicator sets now show a little preview of their data when collapsed to help you differentiate them. #260
  • New Replicator opens sets one at a time unless you choose to expand all, and it'll remember your preference. It's a much better experience. #1492
  • New Fieldtypes can control how their data is displayed in Replicator previews with a getReplicatorPreviewText method.
  • New Replicator sets with a single field inside them will have their label hidden. So clean. So fresh. #1465
  • New Replicator set buttons now have a tooltip containing their instructions.
  • New Replicator and Grid fields will autofocus the first field when you add a new set or row.
  • New Markdown fieldtype now has a fullscreen mode. #736
  • New Fieldtypes can control how to focus their field with a focus method.
  • New You can now extend the CP stylesheet and add your own JavaScript to the CP.
  • New Pages and Entries can be duplicated through their contextual menus. #681 #1062
  • New The Control Panel now has a new section in the Tools area for resolving duplicate IDs in content.
  • New Added resource_url and data_get JS helper methods.
  • New Added an inline setting to the Radio fieldtype. #579
  • New Added a bold setting to all fieldtypes. #1407
  • New Addons can add badges to their CP nav items.
  • Fix We prefetch Relate fields' suggestions, which prevents a potential pile of AJAX requests, sometimes causing users to get logged out. #1560


  • New Pages and entries can have totally different publish states, per locale.
  • New Page tree and entry listings can be filtered by locales and publish states, and selections will be remembered.
  • New Locales tag to loop over data in each locale. #831
  • Fix Fix issue where calling $content->in($locale) resets to the default locale instead of the previous one. #1539

Tags, Templates, and Everything Else

  • New Added the glide:batch tag pair.
  • New Added the trans and trans_choice tags.
  • New Added the pipe collection method.
  • New Added the transpose collection method.
  • New Added limit and offset parameters to the Nav Tag #1127
  • New Added a Str::compare() method which is locale-aware.
  • Fix Duplicate IDs in content no longer cause an exception. Now they just get ignored and wait for you to resolve through the new area in the CP.
  • Fix S3 image URLs with spaces no longer throws an error when getting dimensions. #1606 #1241
  • Fix Fix nested variable access when using the Assets tag.
  • Fix Fix an error when reordering pages. #1340
  • Fix Helper::compareValues() is locale-aware, which fixes sorting in other languages. #1574
  • Fix Fix searching collections when using the default index.
  • Fix Taxonomy terms get added to the default search index.
  • Fix Fix the mod rewrite warning text not showing up on the installer.
  • Fix Fix empty grid rows causing irregular keys to be saved. #1594
  • Fix Updated bundled Composer to 1.5.2


Released on September 22nd, 2017
  • New Added a show_published parameter to the collection tag. #624
  • New Added a recursive parameter to the Assets tag. #1576
  • New The content.saved event passes in the original data as the second argument.
  • Fix The nav tag supports localized URLs. #682
  • Fix Changing a parent's slug will update its children. #951
  • Fix The get_content tag supports localized URLs. #989
  • Fix Prevent a memory error that could occur after you've created a large number of Glide images. #1327
  • Fix Fix user sorting. #1565
  • Fix Sort fieldsets by title. Makes sense. #1526
  • Fix Redis can be configured through the .env file. #1578
  • Fix Prevent empty strings being saved through the YAML fieldtype. #1581
  • Fix Prevent an overzealous "Are you sure you want to leave the page" dialog. #1582
  • Fix Prevent extensionless files in the user directory throw an exception. #1583
  • Fix Fieldtype handles no longer use the name defined in meta.yaml #1587
  • Fix Fix localized sub pages not being saved when the parent has a localized slug. #1595
  • Fix Prevent an error in the get_content tag when you pass a non-existent URL #1598
  • Fix Fix the URL::isExternal method. #1600
  • Fix Escape route URLs which fixes a XSS vulnerability.
  • Fix The view cache gets cleared as part of update housekeeping.
  • Fix Secondary fieldtypes get the addon name prepended in the select field.
  • Fix Protect schemes can be added to page folder.yaml files which will cascade to child pages.
  • Fix Upgrade the always_populate_raw_post_data check in the installer from a recommendation to a requirement.


Released on August 30th, 2017
  • Fix Temporary update files get removed, which fixes a few issues.
  • Fix Fix a JS error on the publish page when using multiple locales, resulting in the page loading incorrectly.
  • Fix Fix tag pairs with colon notation resulting in callback_blocks. #1482
  • Fix Fix the load order of helper files when running PHPUnit tests.
  • Fix Prevent a navigate-away warning dialog if you've saved changes in an asset.
  • Break Antler syntax correction, see note below.

Note: If your site relies on the working-but-shouldn't-have-been if {variable} syntax, it will need to be replaced by if variable. When referencing Tags inside conditions, if {tag} is still correct.


Released on August 28th, 2017
  • New Fieldtype Vue components can mix in Fieldtype to automatically bind change watchers, and set up default props.
  • New A background_position modifier to be used on focus asset values.
  • New A focus_css variable as a shorthand to the above modifier.
  • New A markdown_hard_wrap option in theming.yaml to enable hard line breaks.
  • New An app()->toEleven() method that allows you to temporarily crank the server settings up to eleven for when you need to perform memory/time intensive tasks like image manipulation. 🎸🀘
  • New A php_max_memory_limit option in system.yaml if you need "eleven" to be a "nine" at most.
  • New CP thumbnails are not generated for enormous images. The dimensions are configurable in assets.yaml as thumbnail_max_width/height.
  • New A Folder::getFilesRecursivelyExcept() method which ignores certain folders.
  • New A directory can be passed to the filename method in the AddonRepository class.
  • Fix Prevent errors when large images are uploaded. #1528 #1439 #1379
  • Fix CP thumbnails are now loaded asynchronously to prevent a long initial loading time.
  • Fix Calling password($pw) on a user will automatically replace the hash. #1571
  • Fix Prevent navigation alert dialog triggering without making changes in some cases. #1559
  • Fix Prevent a cryptic error when you do not have a site/addons/ directory.
  • Fix Prevent node_modules and vendor directories from being included when we parse addons. This prevents requests from slowing down when you have one/both of these directories.
  • Fix Prevent a 404-ing link to a scripts.js if one existed in an unrelated part of an addon.
  • Fix Fix error in old form values when using array fields.


Released on August 23rd, 2017
  • Fix Fix error introduced in 2.6.5 that prevents the cache being built with nested pages.


Released on August 23rd, 2017

Oops, go directly to 2.6.6!

  • New Addons can now have multiple suggest modes.
  • New Tasks and Suggest Modes can now have dependencies injected into their constructors.
  • New Make the default database connection settable in your .env file with DB_CONNECTION.
  • Fix Cache gets completely cleared when running the updater. #1289
  • Fix Tweak how the latest version gets checked so that "update available" badge always goes away after updates.
  • Fix When using the console we now delete the Stache lock file and disable unique ID checks so you can clear the cache.
  • Fix Save/Continue preference is now persisted across requests. #590
  • Fix Fix error when changing a slug and published state at the same time. #895
  • Fix YAML fieldtypes will save single line strings as strings, instead of coercing to an array. #1562
  • Fix Fix incorrect IE conditionals in Redwood so it renders correctly for your Grandma. #1557
  • Fix Adjusted entry-specific filter logic so things like the Relate tag will filter correctly. #1552
  • Fix Alert messages now levitate over the page in a meditative trance. #1523
  • Fix The game of Hide and Seek is over. Markdown fields no longer disappear (until clicked) after hiding and dragging a replicator set. #1553
  • Fix Asset searching is no longer case sensitive.
  • Fix Wait a max of 5 seconds when trying to communicate with the Outpost so the CP doesn't lock up if/when Github has an outage.
  • Fix Improve error handling when trying to rename an asset to an existing filename.
  • Fix Prevent the page tree being empty, which occurred on one really weird server.
  • Fix Changed the bundled blog post dates to 2017 because 2015 was so 2015.
  • Fix Some fieldtype and Sneak Peek UI adjustments.


Released on August 14th, 2017
  • Fix Fix validation errors when saving and continuing a new page. #1545
  • Fix Fix an error in the template widget. #1548
  • Fix Fix pagination URLs. #1549
  • Fix Fix user role slug being overridden when manually specified. #1130
  • Fix old tags are now variables, which now makes conditional syntax much more natural.
  • Fix Fix fieldset listing being empty in some situations. #1547


Released on August 10th, 2017
  • New Replicator sets can be added in between existing sets. Like coins between couch cushions. πŸ›‹ #1532
  • New The wrap modifier can now accept Emmet style classes.
  • New Partyline is now automatically bound inside addon commands (it's now easier for addons to say stuff in console output).
  • New Addon commands inherit some helper methods like checkLine() and crossLine(). #1533
  • New Image thumbnails now maintain their aspect ratio so you can see the whole thing. You asked, we delivered. #1491
  • Fix Nested Replicator reordering is now working properly. #1394
  • Fix Fix sorting of localized collections not account for default values. #1520
  • Fix Fix collection tag pagination URLs when used in a localized site. #1268
  • Fix Fix incorrect deleting in the table fieldtype. #1542
  • Fix Sanitize old values. Sounds like something you'd hear in a nursing home but isn't. #1521
  • Fix The 404 tag now works correctly again instead of throwing an exception. #1541
  • Fix Form fieldtype no longer unnecessarily loads submissions. #1346
  • Fix The CP nav no longer gets trimmed after addons have a chance to add items. #1540
  • Fix YAML fields get saved correctly as yaml instead of y_a_m_l. #1515
  • Fix Prevent logging an exception when a form is submitted without params.
  • Fix Users can now update their own account data in the CP without needing access to unnecessary extra permissions.


Released on August 3rd, 2017
  • Fix Plugged a sneaky little memory leak where the cache would grow every time content is saved in the CP. Performance gainz! πŸ’ͺ🏽 #1212, #1327
  • Fix The home page can now be displayed on its own in the page tree. #1483, #891
  • Fix Fixed an unauthorized error that could occur when updating taxonomy terms. #1534
  • Fix Fix nav tag error when using the include_entries parameter.
  • Fix Fix an oauth class not found error.


Released on July 20th, 2017
  • New Super users can delete addons from the CP listing.
  • New Addons can be deleted programatically.
  • Fix The free trial badge no longer appears locally when you have a valid license. #1503
  • Fix Fix error when trying to save addon settings. #1507
  • Fix Fix h3 masquerading like an h2 in the markdown cheatsheet. #1508
  • Fix Fix uploaded asset filenames appending extensions. Underscores don't get replaced by dashes. #1509
  • Fix Fix collection:next / :prev tag error and sorting issues. #1510
  • Fix Fix unauthorized error when publishing taxonomy terms. #1513
  • Fix Fix some scoping issues in the Redwood theme.


Released on July 17th, 2017


Static Caching


  • New Add Site Helpers. (Tags, Modifiers, Filters, Controllers)
  • New Controller methods can be referenced in routes. Hint: Should be great for making an API.
  • New Concept of "installed" addons. Fixes #1377
  • New Addons can be marked as commercial πŸ’°, and automatically get a settings page with license key field.
  • New All addons get shown in the listing, regardless of whether they have a meta file.
  • New All addon aspects can use dependency injection. (We recommend this instead of using the init() method)
  • New Addons may now contain multiple fieldtypes, modifiers, controllers, and widgets.
  • New Added commands for running and creating tests.
  • New Added a handful of helper methods.
  • Fix Widgets use the parameter methods, just like Tags do.
  • Fix The getDirectory helper method will get the addon's root directory instead of the file's directory (unexpected behavior when a file is in a subdirectory)
  • Fix Fix test bootstrapping so you actually run your tests.
  • Fix Visiting a non-existent ! URL shows a 404 instead of keeping you in a weird nothingness.
  • Fix A Tasks class gets created when running php please make:addon.
  • Break Your extra addon classes should longer extend Addon. Instead, you can should use the Extensible trait to get access to helper methods.

...and More

  • New You can now install Statamic via the command line (although technically it's not part of Statamic.)
  • New You can now update via the command line using php please update.
  • New You can protect content with passwords, by IP addreses, and by authentication. #1434, #1001
  • New Added Partyline. β˜ŽοΈπŸŽ‰
  • New The CP can disabled per-environment by adding DISABLE_CP=true to your .env file. #1067
  • New Passwords can be reset from the CP login screen.
  • New Added an area to the CP for entering all your license keys in one place. You get to it through the unlicensed warning, or free trial badge.
  • New Added RSS feeds to Redwood. #1380
  • New Added the tap() helper method. 🚰
  • New A StatamicUpdated event will be dispatched upon updating, which deprecates system.updated.
  • New A RoutesMapping event will be dispatched just before mapping routes.
  • Fix Fix security issue where a user with CP access could potentially edit roles and reset passwords.
  • Fix Only super users can copy the password reset URL. Users with users:edit permission can still send the reset email.
  • Fix When using Save and Continue, it will remember and make that the default action.
  • Fix Submitting the publish form will keep you on the page. It feels faster and addresses #1468.
  • Fix The CP will nag you instead of blocking you, if you are unlicensed or if there's an outage. #1443 #902
  • Fix Double clicking assets will select them and close the dialog instead of editing them.
  • Fix Clicking another asset when max_files is 1 will select it, rather than needing to first unselect the old one.
  • Fix Asset filenames will get slugified when uploading.
  • Fix Fix issue where an unauthorized user could create a user or content.
  • Fix Fix a looped_tags output when encountering an empty array. #1236, #962
  • Fix Visiting the Glide route on its own now shows a 404 instead of an error.
  • Fix Updated Laravel Elixir's version that's used in php please make:theme.


Released on June 8th, 2017
  • New Added a nav:doesnt_exist tag. Naturally, it's the opposite of nav:exists.
  • New Added an extension modifier. It gets the file extension of a filename.
  • New Support sort="true" on basic indexed arrays.
  • Fix Supplement taxonomies within collection:next and :previous. #1433
  • Fix Supplement taxonomies within the nav tag.
  • Fix Prevent navigation confirmation within the Fieldset builder. #1424
  • Fix Fix error in pages fieldtype when a parent is selected. #1428
  • Fix Support localizing multiple locales with the same language #1423, #1031
  • Fix Fix bug where assets wouldn't show up in a second locale. #1440
  • Fix Sorted collections and taxonomies by title. #1426
  • Fix Singular taxonomy terms are automatically converted to arrays. #1391
  • Fix Improve handling of empty values within the Importer.
  • Fix Upgraded the Algolia client, which suppresses a warning in their dashboard. #1438
  • Fix Updated Laravel Socialite, which fixes an API related bug. #1467
  • Fix Updated a bunch of composer dependencies.


Released on May 16th, 2017
  • New If you navigate away from a publish page without saving, you will now get a confirmation prompt. #1092, #570
  • New The publish page will scroll up to the validation errors after submitting so you can see them.
  • New Automagic emails will now encode arrays as json. #720
  • New Full measure static caching can lock files for a specified amount of time, which can help high traffic sites avoid race conditions with static file caching. #1398
  • New Email builder now supports the common John Smith <[email protected]> format to include names. #371
  • New You can use this same email format in formsets too.
  • Fix Entries get localized when used in the nav tag.
  • Fix Fix PHP error sometimes encountered when using assets.
  • Fix Redactor didn't like Chrome 58 and refused to bold, italicize, or otherwise affect selected text. Sometimes. It's fixed now.
  • Fix Fetching users by username/email is now case insensitive. #1381
  • Fix Fixed a bug in Glide where progressive JPGs were being saved as pjpg. #1409
  • Fix The users tag supports the taxonomy="true" parameter. #1405
  • Fix Fixed issue where driver: s3 was not being saved to asset containers. #1368
  • Fix Improved/fixed handling of S3 asset URLs. #1406
  • Fix Form widget shows the latest submissions again like it should.
  • Fix Changed the default CP pagination size to 50.


Released on April 21st, 2017
  • New A where modifier that lets you filter an array (like a Replicator field) to items where a key has a specific value. Much like conditions, but on variables!
  • Fix Prevented drafts from showing in an unwanted fashion. (a regression from v2.5.8)
  • Fix Users and Pages can now have relationships with Taxonomies again. They're so adorable together! πŸ’•
  • Fix Empty responses will no longer be statically cached.
  • Fix The "Save" button on the publish page is now disabled while saving to prevent multiple submissions.
  • Fix Prevent pages with taxonomy data from appearing in a collection tag when using a taxonomy parameter. If that doesn't make sense it's okay, it's fixed and now you will never encounter it.
  • Fix Fix a localization issue. There is always just 1 more localization issue to be found. #1347
  • Fix Pages tag now properly injects taxonomies. #1387
  • Fix Localize the terms in the taxonomy tag. #1371
  • Fix Subtle adjustments to the installer. Show a recommended 256M memory limit.
  • Fix Prevent an ugly error when the updater widget cannot connect to the Outpost. To be clear, there is now no error, not simply a pretty one. πŸ’„
  • Fix Prevent single value relate fields from losing their values when reordering replicator sets. #924
  • Fix Adding taxonomy="false" to a collection tag will now return the full, unfiltered data set. #1388


Released on April 7th, 2017
  • New The Importer has been re-engineered and simplified. You can now feed it JSON files that match the Statamic Spec and watch the magic happen.
  • New The Importer will only create taxonomy terms where necessary.
  • New The Importer now highlights duplicate entries and pages.
  • New The provider gets passed into OAuth related events.
  • New Added a absolute param to the glide tag to render absolute URLs.
  • New The breadcrumbs tag now supports routes, intelligently. #1150
  • New When deleting a collection or taxonomy, the corresponding route gets deleted. #611
  • New Added a lowercase alias of the lower modifier for better v1 backwards compatibility.
  • Fix Token mismatch exceptions are no longer logged. This is a Laravel standard we're happy to implement.
  • Fix Prevent formsets from being saved without a title. #1333
  • Fix Add some more missing translations.
  • Fix Set the Carbon locale for the CP, which fixes dates not being localized. #1330
  • Fix If you try to filter a collection by taxonomy without a value (eg. using an empty query param) you now just get an unfiltered collection, as one would expect.
  • Fix The math modifiers will only resolve their value from context if it's not a number. #1319
  • Fix The - subtraction modifier now works correctly (e.g. at all) again.
  • Fix Underscores in URLs were being converted to dashes. Underscores are ugly (our opinion) but certainly allowed, and now working as intended.
  • Fix Form submission now use the specified date format. #1359
  • Fix Form file field links now display correctly.
  • Fix By popular demand, those Form file links open in a new window.
  • Fix Fix issue where max_items stored as a string would not be recognized properly.
  • Fix Prevent the pages fieldtype's max_items setting from being saved as a string.
  • Fix The localizable toggle now saves correctly. #767
  • Fix Prevent Content::whereUri(null) from returning the home page.
  • Fix The default cache length setting label incorrectly said seconds. It's actually minutes, and now informs you thusly. #1358
  • Fix Prevent an error when a replicator set has no fields.
  • Fix Fixed a pesky taxonomies error in the Importer.
  • Fix Fixed pages not showing up when running in a subdirectory.
  • Fix Fixed some image/thumbnail related issues when running in a subdirectory.
  • Fix Changed the default resources route for new installs from resources to _resources to avoid potential URL conflicts.
  • Fix Fix grammar problems in the Harry Potter screenplay. It may be a bad screenplay, but at least it's grammatically correct. Niles is proud of his work.


Released on March 17th, 2017


Released on March 17th, 2017
  • New Ordered Collections now support the sort_dir option- The Redwood theme now properly excludes current entries in the "Next up" section, thus demonstrating the use of the url:not condition
  • New Added a new use_https setting to force your HTTP schema of choice #1140, #1306
  • Fix Added a number of missing translations, from buttons to email subject lines
  • Fix The addons:refresh command is now more Windows friendly #1169
  • Fix .DS_Store files are way less likely to squirm their way into things like Template select boxes
  • Fix Asset's max_files: 1 setting is now parsed as in integer correctly, resolving all sorts of weird glitches #1313, #1314
  • Fix Fieldset partials now show hidden fieldsets like they should.
  • Fix Fieldset partials no longer copy their fields into their parent fieldset upon edit. #1246
  • Fix $user->roles() now inherit roles from their User Groups.
  • Fix Issues involving saving empty Grid row data are obliterated like a watermelon filled with thermite #955
  • Fix Search results Tag now includes taxonomies properly
  • Fix Collection fields with null label config no longer affect the listing data #988, #1250
  • Fix Taxonomies with dashes don't cause weird issues anymore #1308
  • Fix Squashed an issue with the Markdown parser choking on filenames with spaces #1315
  • Fix The Asset browser no longer has a CSS overflow issue making it difficult to use properly #1323
  • Fix You can now mount a collection to the homepage in the CP #1311
  • Fix The timezone is now set early enough to not create log files in the future. Even though that was kind of cool. #458
  • Fix Taxonomy Term's Save & Continue and regular Save buttons are no longer flipped around. Can we claim dyslexia? #1283
  • Fix The Collection Widget header link now goes to the listing instead of the config screen #1008
  • Fix Form fields are now draggable
  • Fix Form Columns can now be set when creating a formset
  • Fix The Form builder's column config now uses inline toggles, which is a much better UX and fixes #365
  • Fix Fixed incompatibility with CRLF and Windows line endings #1274
  • Fix Made path helpers more Windows friendly #1170
  • Fix Glitches involving checkboxes in Grids have been given the People's Elbow πŸ’ͺ #610
  • Fix The Date/Time fieldtype now handles bad/invalid/null data like a champion #1292
  • Fix The title field's display key is now respected #620
  • Fix You can now close the Asset Manager's New Folder modal and then, wait for it, open it again! #1298
  • Fix Numeric page titles now appear in the CP #315
  • Fix Zeroes in content were being treated as nulls and not being saved to file. #845
  • Fix Related, false values were also being stripped out. Now we only strip out nulls.
  • Break If you're using toggles and relying on a condition like isnt_set, since toggles now actually get saved as false, you should adjust your conditions.


Released on March 8th, 2017
  • Fix Fixed a PHP5 error introduced by the as modifier added in 2.5.4.


Released on March 7th, 2017
  • New Added validation for entry and page slugs to be unique within their respective sections.
  • New Added an output modifier that renders the raw contents of an asset. Useful for svgs.
  • New The partial modifier is now context aware, letting you pass in the name of a var
  • New We now have an aliasing "as" modifier for array vars
  • New There is now a retina-friendly favicon for the CP. It took Jack actually using his Retina Macbook Pro to realize we didn't have one.
  • New Although not very exciting, the Markdown helper cheatsheet now shows you how to make headers.
  • Fix The updater ran migrations regardless of the version. Now it it'll only run them when appropriate.
  • Fix The update from 2.x to 2.5 would not recognize terms as html files. Now they do.
  • Fix Drafts viewed on the front-end will no longer be statically cached.
  • Fix Fix the priority for variables passed into partials.
  • Fix Fix the CSV form submission exporter.
  • Fix Fix the search field when the Control Panel's URL is changed from cp.
  • Fix If you used taxonomy="true" but didn't have a taxonomy in your URL it would through an error. It no longer does that.
  • Fix Automagic emails no longer send extra, undesired data.
  • Fix Some font sizes in the CP got full of themselves and have been cut back to size.


Released on February 15th, 2017
  • New Added pagination to form submissions in the CP. #1233
  • New Formsets can have a date_format which overrides the one in cp.yaml.
  • New Addons may prevent form submissions but have them appear successful by throwing SilentFormFailureException. Useful for spam control addons. #1165
  • New User tags will now automatically transform taxonomies.
  • Fix The pre-2.5 migration will now adjust user files and replace Asset IDs automatically, as it should. #1258
  • Fix The Collection and Form widgets use the proper date_format. #1255
  • Fix Added support for excluding /.well-known in the sample htaccess and nginx.conf files. #1251
  • Fix Title field autofocuses properly again after having been distracted by sunsets over mountain streams. #1248
  • Fix Form submissions are now properly sorted again, without the need for a magical talking hat. #1247
  • Fix File fields inside form submissions now display correctly. #1214
  • Fix Icons in the CP nav are now perfectly aligned to the nanopixel, if indeed that is a thing. #1245
  • Fix When creating an S3 Asst Container the proper driver: s3 value is now saved. #1244
  • Fix The cascade order in the partial tag has been reprimanded and corrected. #1189
  • Fix Fixed a number of localization issues in the CP. #1186, [#1161][1161]
  • Fix Images with paths starting with img are now getting manipulated correctly. #729
  • Fix Fix taxonomy terms not being automagically transformed within the entries tag. #1254
  • Fix Fix FileNotFoundException being thrown when visiting an incorrect Glide URL. Now you get a 404.
  • Break Swapped HoneypotException with a new SilentFormFailureException.


Released on February 1st, 2017
  • Fix Fix 404 when creating child pages 2 or more levels deep. #1225
  • Fix Fix empty roles field when editing user groups. #1224
  • Fix The content field inside the default fieldset is now properly localizable. #1220
  • Fix A PHP 5.6+ only block of code snuck in there. It's now 5.5.9+ compatible again. #1213
  • Fix Fix ability to retrieve assets from a container by their path. #1206
  • Fix Fieldset dropdowns will no longer show hidden fieldsets. #1203
  • Fix Terms can be cast to strings, which will be their title. Fixes issues when using modifiers on them. #1195
  • Fix RedirectException's setUrl/setCode methods will return itself so you can chain methods. #1185
  • Fix Fix invisible menu button in Redwood theme. #1180
  • Fix Fix layout issue on the publish page with long titles. #1160
  • Fix Added a loading graphic to listings. Spoiler alert: it's animated but boring. #848
  • Fix Removed non-functional search box from the User listing. #1209
  • Fix Fix incorrect sorting in CP listings. #1201, #1149
  • Fix Disabled event tracking in the debug bar. It was causing massive storage files in some cases. #1219
  • Fix Fixed the focal point editor when working with images containing spaces in their filename. #1205
  • Fix Fix issue where the English locale would always be there, even if you didn't want it. 'Murica.
  • Fix Make a couple of caching settings editable in the CP. #1089
  • Fix Fix issue where taxonomy fields weren't being converted to terms inside the relate tag.
  • Fix urlencode and rawurlencode no longer encode the slashes, letting you use them on actual URLs. How neat!
  • Fix The CP's global search no longer says "Search for anything". It's just an icon you can click on and it works great.


Released on January 27th, 2017
  • New Taxonomy term's count variable is now relation_count (and aliased for backwards compatibility).
  • New Added Fieldset::exists().
  • New Added new choices for Amazon S3 regions.
  • Fix The Toggle field now works properly again
  • Fix Taxonomy terms in the CP are now properly sorted by title.
  • Fix Prevent the Fieldset fieldtype from overriding existing fieldsets.
  • Fix Fix the Fieldset Builder not displaying any taxonomies when creating.
  • Fix Prevent submission of the Fieldset Builder without a Title.
  • Fix Safari CSS issue that prevented the Asset Browser's list from showing.
  • Fix If you saved a new page that has a fieldset field in its fieldset, then you chose a different fieldset, it would get overridden. That's fixed. You betcha that's an edge case.


Released on January 26th, 2017

Note: Upgrading to 2.5 will modify your content.

The updater does makes a backup zip, but you should consider using git or testing the upgrade locally before deploying to production.

Asset IDs will be replaced by URLs. Taxonomy term IDs will be replaced by values. Asset and taxonomy configuration files will be relocated and adjusted. Taxonomy fields will be adjusted in your fieldsets.


  • New A completely redesigned end-to-end asset experience. From UI to UX and everything in between.
  • New You can now drag to reorder assets in the Assets fieldtype, the way God intended. #291
  • New We now use Asset URLs instead of IDs in content. And the heavens rejoice!
  • New You can now preview documents and media files inline.
  • New Creating an asset container in the uses a wizard-style workflow. No actual magic involved.
  • New Added php please make:asset-container if you're a CLI fan.
  • New You can create Image manipulation presets that run automatically when you upload new images. They can even be pushed off into a queue.
  • New You can rename and move assets in the CP. #699
  • New SVGs get thumbnails. #589
  • New You can now download your assets in the CP. #1063
  • New The Assets fieldtype: You can add restrict: true to prevent navigation through folders.
  • New The Redactor and Markdown fieldtypes can now add restrict_assets: true to prevent navigation through folders.
  • Fix Error messages are now useful about 99.5% of the time. The other .5% of the time they're sarcastic and lay around on the couch watching Netflix.
  • Fix S3 Containers were slow. You can now cache them. Whiz! Bang! Speed!
  • Fix Saying "Sync your assets" is something legacy users will say.
  • Fix Fixed some things. #513, #581, #710, #727, #745, #802, #901, #942, #945, #1090, #1106, #1154, #1146, #1192


Other Things!

  • New We now use system fonts in the CP for performance. We think it looks better too!
  • New Pagination in the control panel.
  • New Arrays can be referenced in routes. The first value will be used. This is useful for adding taxonomy terms.
  • New Tag parameters prefixed by colons will be evaluated from context. learn more.
  • New New Fieldset Fieldtype let's you pick and create Fieldsets.
  • New Add support for static_caching_invalidation: all where the whole static cache gets wiped.
  • New Statically cached content can now be invalidated without using the CP. ie. You just need to hit Statamic from an uncached URL or through the CLI.
  • New Static cache invalidation url rules can be added for pages, just like for collections.
  • New Added Helper::ensureInArray(), Str::fileSizeForHumans(), Str::deslugify(), File::move()
  • Fix Dev mode is now called Trial Mode for clarity. It doesn't give you special developer features. It just means you didn't pay yet.
  • Fix Fix a bunch of things when stache_always_update is off. #1134
  • Fix The Markdown fieldtype's preview is prettier. #554
  • Fix Instead of a big, ugly TokenMismatchException error, you will now be automatically redirected to the login page.
  • Fix The Redactor fieldtype's minHeight can be set. #821
  • Fix Fix bug where html files wouldn't get deleted when invalidating using full measure static caching.
  • Fix Deleting content will now delete the corresponding statically cached url. #1122
  • Fix Fix broken images in Redactor. #1154
  • Fix Fix broken images in Assets fieldtype. #1146
  • Break You need to prefix partial tag params if you want it to read from the context.


Released on January 10th, 2017
  • Fix The updater attempts to clear the cache earlier in the update process. Result? Better updating.
  • Fix Polyfill String.includes() because we made the silly assumption that IE was able to check if a string contains another string.
  • Fix Sanitize get, post, and get_post variables.
  • Fix Prevent an error when saving an empty taxonomy field.
  • Fix Regex conditions (matches|match|regex) now work on arrays.
  • Fix Fix number_format modifier. It's smarter now, and doesn't trip on irreverent commas.
  • Fix If and when stuck in the "meta refresh due to a cache building error", allow the console to work so you can clear the cache.
  • Fix Fix issue where only one collection gets localized. #886 (Thanks Remy!)
  • Fix Fix localizable routes. #1164 (Thanks Peter!)
  • Fix Fix issue when a localized route exists, any entries that have not been localized wouldn't work.
  • Fix Fix issue where updating a localized entry/term would override the default locale until the cache is cleared.
  • Fix List fieldtype now enters the current line on blur #1166
  • Fix Form submission view now escapes HTML properly #1145
  • Fix The "#" character is now valid inside tags, which enables and addresses numerous things, including #1112
  • Fix Template and Layout now show in the debug bar on 404 pages #690


Released on November 18th, 2016
  • New Improved the example starter nginx config.
  • New Add cc and bcc support to forms, because if there's one thing this world needs, it's more email. πŸ’Œ #1086
  • New "Old" data is now available as variables (instead of Tags) inside Form tags so you have more control over template output. #792
  • New Boolean based modifiers can now be used in conditions. #522
  • New You can retrieve Form errors individually like so {{ error:snorkle_size }}. #792
  • Fix Fix issue where Javascript based translations weren't respecting the user's locale preference. #1068
  • New The contains modifier now supports arrays.
  • Fix Form submissions with arrays will now show them in the control panel as JSON.
  • Fix Fix the old tag not recognizing colons for nested keys. The old tag now loves colons, which sounds weird but probably only in English.
  • Fix Only the drag handles in the page tree will now trigger dragging. Fixes #1076, #517
  • Fix The Form widget now shows newest submissions on top. Like a whipped cream, but less exciting. 🍨 #1075
  • Fix Fix the Date fieldtype layout inside Grids. #1043
  • Fix Fix html entities on "backing up" text inside the updater. #1024
  • Fix Fix time picker formatting in Firefox. #914
  • Fix Fix a significant performance issue regarding OAuth. #1096
  • Fix Fix subdirectory appearing in the URL when editing pages, when installed in a subdirectory. #937
  • Fix Fix "create page" redirect URL when running in a subdirectory. #977
  • Fix Fix single pages being duplicated when clicking them. They were just lonely and wanted a friend, ok? #1097, #1103
  • Fix Fixed something else probably
  • Fix Fix addon translations not being available in Javascript. #1064
  • Fix Fix form editor column saving issue. #789
  • Fix Add some common global vars to Form submission email templates (like date, site_url, etc). #1010
  • Fix Fix a CP search positioning issue in Safari, which is the new IE if you haven't heard. #904
  • Fix Path::tidy() will also normalize slashes. This fixes some Windows path issues. #1102, #888
  • Fix Fix the continue button link on installer.php on Windows. #953
  • Fix Fix protocol warning on installer.php when running https.


Released on October 27th, 2016
  • Fix Fix issue where saving a taxonomy term could sometimes throw an error. #1070
  • Fix Fix IE 11 not showing the Pages interface. It took us a while to find a copy of IE11. #1028
  • Fix Fix the links to form submissions in the dashboard widget.
  • Fix Nav:exists was having an existential crisis after reading Tolstoy. Therapy has fixed it and revoked its library card. #1069


Released on October 26th, 2016
  • New The get_content tag now supports IDs. #1058
  • New The get_content tag now supports a shorthand syntax too.
  • New You can now search the control panel with Algolia #827.
  • New You can now set Algolia's searchable attributes in the control panel.
  • New Added an event when a search is performed.
  • Fix Fix an issue where an error while building the Stache could result in an infinite redirect.
  • Fix Fix an issue where the redirect while the Stache is building would append itself repeatedly. Recursive grossness. #1042
  • Fix Fix issue where the user groups fieldtype would not be populated.
  • Fix Remove the undesired services settings tab that appeared in 2.1.15 like a g-g-g-ghost in a Scooby Doo cartoon. #1049
  • Fix Fix some translations in the CP when used through Javascript. We even did so without adding a new JS framework!
  • Fix Prevent a long title from wigging out the publish page like a loose tooth on a windy day. #837
  • Fix Fix honeypot link on the form page. #1041
  • Fix Put some methods in alphabetical order to satisfy Erin's self-proclaimed OCD. #1052
  • Fix Fix error in nav:count tag when there are no nav items. #1061
  • Fix Fix users fieldtype showing no data. #1032
  • Fix Fix an issue with the user groups fieldtype.
  • Fix The user groups and roles fieldtypes are only editable if the user has super permissions.
  • Fix The user groups and roles fieldtypes use a tag UI.
  • Fix Fix settings with interpolated .env being editable in the CP. #1059
  • Fix Fix a regression preventing you from overriding globals in your environment file. #1034
  • Fix Content::uriExists will ensure there's a leading slash for consistency.


Released on October 17th, 2016

This release adds some improved security suggestions to the sample server files (htaccess and nginx.conf) that you'll want to look at if you haven't already done so. Things like disallowing access to all . hidden files, not just .htaccess, and so on.

  • New Added a form fieldtype for choosing one (or more) of your forms.
  • New get and url modifiers work with array by grabbing the first item.
  • New Added a Please facade. Does the exact same thing as Artisan.
  • Fix Fix an issue where some people would see an infinitely refreshing page as the cache warmed up.
  • Fix Search API methods will catch exceptions and log them instead of breaking the site with an error display.
  • Fix Fix issue where services.yaml would not be recognized.
  • Fix Add some rules for protecting hidden files to the sample htaccess and nginx.conf files.
  • Fix Removed the collection of entries from taxonomy terms when converting to an array. Fixes an Algolia error saying too much data is being sent.
  • Fix Fix untranslated string in the updater.
  • Fix Fix an issue with the locale dropdown.
  • Fix Fix issue where addons weren't referencing their translation files when running above webroot #805
  • Fix Added an m4v filetype icon.


Released on October 6th, 2016
  • New Keyboard lovers should order a new pair of happy shoes because you can now tab your way all through the publish screens and custom fields. 🎢
  • Fix Updated the Markdown package, which should solve an issue where some heading IDs cause the page to disappear.
  • Fix Fix issue where partials with spaces and underscores weren't recognized. #1016
  • Fix The register method in a service provider is no longer required. #1012
  • Fix Fix issue where you couldn't create a user when login type is set to email. #966
  • Fix Add title when creating a formset.
  • Fix The taxonomy fieldtype saves a string when max_items is 1.
  • Fix Fix issue where asset tags referencing a field named img would self-destruct. #1013
  • Fix Fix issue where addon settings weren't being shown in the CP.
  • Fix Fixed Tag methods being sent as an argument.
  • Break Addon classes (Tags, Modifier, etc) no longer extend Addon. Neither should you. Instead, use the Extensible trait.
  • Break If you were relying on the tag method being sent as an argument, you can use $this->tag_method.
  • Break Removed the addon helper methods that were added in 2.1.13. If you were already using them, you're quick! The property versions are the best way to do this. We know why now.


Released on September 30th, 2016
  • New You may override translation files by placing them in site/lang/en. Like fr, for example. #991
  • New Added URL::isAncestor(). If you were a URL you could use this to find your grandpa.
  • New You can now set request headers in your front matter and/or routes.
  • New Arbitrary addon classes that want to leverage helpers no longer need to extend Addon. You can now use the Extensible trait.
  • New You can add redirect: 404 to front matter to trigger a 404, if you want to do that for some reason.
  • New Improved the validation when editing an Asset Container. #588
  • Fix Fix some issues where content wouldn't get completely parsed.
  • Fix Fix issue where actionUrl would be missing the addon name. #997
  • Fix Fix issue where addon service providers were booted twice. How can you boot that which is already booted? Think about it. #998
  • Fix Fix nav tags thinking similarly named sibling pages were parents. What are we, Targaryens? #993
  • Fix Fix $this->getConfig() returning null instead of an array.
  • Fix Add a translation. #992
  • Fix Added a search shorthand tag, which is exactly the same as search:results.
  • Fix When a Glide tag references a non existent value, it now outputs nothing instead of a potential error. Broken images are better than broken sites.
  • Fix Fix a derpy issue where some configs weren't getting merged with the defaults correctly. #990
  • Fix Fix issue where an extra | would sometimes appear in markdown fields. You might still need to fix existing cases manually, however. #930
  • Fix Fix an issue on large sites where data might be missing while the Stache is performing its initial warm up.
  • Fix Added $this->session->forget() addon helper.
  • Fix ~~All the addon context helpers ($this->blink, etc) are now also methods ($this->blink()).~~ Don't use this, it'll be gone in 2.1.14
  • Break Removed $this->flash() helper from Controllers (it now references $this->flash). If you used this, you can still just do session()->flash()


Released on September 26th, 2016
  • New The parent tag now supports arrays, and thereby all parent data. It's no longer your grandfather's tired tag.
  • New The pages tag can now use IDs in addition to URLs or folder names.
  • New Email values in formsets can now use environment variables.
  • New Loggers can now be managed through environments.
  • New The Control Panel is now fully translatable. All of our hardcoded strings have been wired up. Celebrate!
  • New Modals can now be closed with the escape key. #862
  • New The installer now makes the user super instead of just assigning role. You are a super developer and don't let anyone tell you otherwise.
  • Fix Fix paths in S3 based asset containers #975
  • Fix Fix an issue that caused the get modifier to not get...anything.
  • Fix Asset container syncing will now sync folders, which fixes some related issues too.
  • Fix Fix some issues with editing/deleting assets with stache_always_update: false.
  • Fix Fix an issue where the parent tag wouldn't work with multi word variables. #976
  • Fix Fix an error where the cache wouldn't clear properly after running the installer, thereby making first-time run experiences really derpy. Sorry about that.
  • Fix Improve slug auto-generation. #312
  • Fix Fix an error after deleting the last entry in a collection.
  • Fix Fix an error when using the syslog log handler.
  • Fix Fix the directory when using $this->email() #983


Released on September 21st, 2016
  • New Templates can use section and yield to inject into layout. Game changer, ya'll.
  • New Taxonomy listing pages can now have their columns customized, just like Collections.
  • New Added user:not_in tag. Yup, it's the opposite of user:in.
  • New Added a syslog logger.
  • New Cmd/Ctrl+s will now save changes to your page tree order.
  • New Niles is writing a screenplay.
  • New The save button in the page tree only appears after you reorder something. Simpler is better.
  • Fix Fix issues where the cache needed to be manually cleared for items to show up when Stache is was set to not update on every request.
  • Fix When running the clear:cache command, it no longer tells you the Stache was cleared. But don't worry, it still does.
  • Fix If you ever need to manually clear the Stache or Glide cache, they're now stored in their own folders.
  • Fix Added missing timezone field in system settings.
  • Fix Added .kml filetype icon.
  • Fix Context and parameters get passed into custom filters in taxonomy tags.
  • Fix The Auto Taxonomies feature is back.
  • Fix Uploaded assets first go to a temporary location. Fixes S3 assets being the incorrect MIME type.
  • Fix Fixed/added support for putting your site in maintenance mode.
  • Fix Fixed issue where users in a user group weren't being saved.
  • Fix Changed the users field in the user group form back to the panes mode.


Released on September 13th, 2016
  • Fix Globals are savable in the Control Panel once again. #948
  • Fix Redactor's "Open link in a new window" checkbox is now visible. #265


Released on September 9th, 2016
  • Fix Put the Stache in our hydraulic press and now it's half the size. Fixes some weird memory and serialization issues some people were experiencing.
  • Fix The Stache now also checks the version number for invalidating itself.


Released on September 8th, 2016
  • Fix Fix a search related error that popped up in 2.1.7
  • Fix Fix a syntax error you'd see if you are kickin' PHP ol' skool. #932
  • Fix Search auto-indexing doesn't happen when the cache is built from scratch.


Released on September 7th, 2016
  • New Added a convert:email-login command that converts user files from username to email.
  • New Added a performant pages:count tag.
  • New Added a new markdown:indent tag to let you wrap content in your templates.
  • New Added the ability to mix named and unnamed wildcards in routes.
  • New Added Search::insert() and delete() API methods.
  • New Added a parseNoResults() tag helper method that returns common useful variables.
  • New Search auto indexing is now much smarter and uses diffs. Removed the search.index_frequency setting. No longer necessary.
  • New Added a new setting to let you exclude URLs from CSRF protection.
  • Fix Fixed a long-standing bug that masqueraded as a feature that nobody liked. Empty values in loops where replaced by the previous iteration's values forcing the need to over-scope everything. It's fixed. πŸŽ‰ #514, #733, #786, #830, #889
  • Fix Fix a missing update_available variable error in addons. #906
  • Fix Add validation to user registration forms to prevent using an existing username.
  • Fix Improved username/email handling when login_type is set to email.
  • Fix The search:update command shows more useful output.
  • Fix Fixed regression where asset URLs with spaces were not encoded.
  • Fix Glide URLs with spaces now get encoded.
  • Fix Fix incorrect Glide URLs in the CP when using the cached setting.
  • Fix Fix an issue where assets were being included when fetching "content".
  • Fix When saving data programmatically, IDs will always be added if they aren't already there.
  • Fix Fixed up some issues with the get_value tag. #675
  • Fix Added pagination and a couple other useful little code examples to Redwood.


Released on August 29th, 2016
  • New Added a Path::isAbsolute() API method to better determine if a path if absolute or not.
  • Fix Improve tests for absolute paths when building out the filesystems.
  • Fix Fix incorrect path error on Windows. #905 and Lodge #2472
  • Fix When passing parameters directly into $asset->manipulate(), you now get a URL as promised.


Released on August 26th, 2016
  • Fix Fix token errors when uploading assets.


Released on August 26th, 2016
  • New Forms can be submitted using AJAX. This is a DIY thing, the tags don't write the JavaScript for you.
  • New Added csrf_token and csrf_field global variables.
  • New New Collections Fieldtype that helps you select Collections, as the name implies.
  • New The new Collections Fieldtype is now used to choose your Collection in the collection fieldtype. So Meta.
  • New You can now delete Form submissions in the Control Panel.
  • New Added webroot and glide filesystems. (Only addon devs will care about this. Maybe.)
  • New Added option_list (and piped alias) modifiers to convert an array var into a pipe-delimited string.
  • Fix Fix front-end CSRF protection.
  • Fix Fix duplicate ID error in assets.
  • Fix Fix another Safari UI issue. Seriously, when did Safari become IE? It's definitely IE now. #884
  • Fix Added installer.php to the sample.gitignore file so you don't accidentally push it to production. Lookin' out for ya.
  • Fix Fix error when using Glide and the path="/to/img.jpg" param when running above webroot. #898
  • Fix Fix a couple of errors when using external URLs with Glide.
  • Fix Improved the clear:glide command.
  • Fix Fixed missed User subnav labels #893
  • Fix The Sneak Peak "Done" button is now easier to see. It's a different color than the background now. Bright blue, in case you were wondering. #894
  • Fix The Markdown Asset button is now aligned correctly instead of dangling out in the land of Collapsed Margins.
  • Fix Fix data loss when collapsing Replicator sets #885
  • Break If you had some custom front-end forms, you'll likely need to add a CSRF token to them now.


Released on August 24th, 2016
  • New Static Caching now has invalidation controls!
  • New Added the ability to generate static images with Glide, which increases performance significantly.
  • New New markdown tag pair. Now you can write Markdown anywhere!
  • New Added the ability to disable unique ID assertions. Increases performance, but still available for debugging/managing duplicates.
  • New Fieldtype's now use a deslugified version of their fieldtype for display. #882
  • New Replicators now have the ability to collapse/expand all sets. It's in a new little dropdown control in each set's header.
  • Fix Add Entry::countWhereCollection() which is a more performant way of counting entries in a collection. It's used in the CP collection listing.
  • Fix Fix error when trying to create a taxonomy term. #851
  • Fix The user fieldtype will now only default to the current user if you explicitly set default: current.
  • Fix The is & isnt conditions now use a loose (==) comparison, which works better with our loose data types. Added x_strict suffixed versions if you still need strict (===) comparisons.
  • Fix Improved Glide URL performance.
  • Fix Numerous performance improvements. We've been really focused on performance lately.
  • Fix The Stache lives in the Cache again.
  • Fix Fixed collapsed margins within replicator fields.
  • Fix Fixed some flexbox issues. Newsflash: cross-browser support for flexbox is kinda wompy. #876
  • Fix Translated the navigation sidebar.
  • Fix Fix issue where Glide would sometimes not find a file.
  • Fix Brought back the results and collection variables inside a term / taxonomy listing. #869
  • Fix Fix the variable string fallback ("or") syntax so it works with single quotes too. #873
  • Fix The collection tag pair inside a taxonomy tag works just like a collection tag should. #705
  • Fix The theme tags (theme:css, etc) output a relative URL by default. Added an absolute="true" param.
  • Fix Fix issue where localized pages all wanted to be the homepage. If only we could all be a home page. #855
  • Fix Fix issue where creating a taxonomy term showed duplicates. #868
  • Fix Fix issue where conditions weren't taking into account the cascade or the default locale values. #874


Released on August 5th, 2016
  • Fix Fix alpha based entries always being marked as published. #813
  • Fix Fix the CP not updating all content types in the Stache correctly (inline taxonomy creation appeared to not work correctly. Which is, let's be honest, functionally the same thing as not working correctly).
  • Fix Suppress errors when assets with non-existent (e.g. manually deleted) files were loaded.
  • Fix Relate tags can access nested variables, eg. relate:foo:bar
  • Fix Fixed various Safari-related Flexbox issues. When did Safari become IE?


Released on August 4th, 2016
  • Fix Fix a PHP 5.6 error. (Upgrade to PHP 7 if you can, it's like, better than PokΓ©mon Go)
  • Fix Fix users not being able to be deleted.
  • Fix Fix a Safari flexbox layout issue when your screen is > 1400px


Released on August 4th, 2016
  • New We totally rebuilt the "Stache" for significant performance improvements, stability, and other gainz!
  • New Passwords can now be a thing of the past. OAuth is now integrated natively!
  • New Completely overhauled API classes for consistency and fluency. Check out what's changed. Also, we now have a pile more documentation!
  • New A stunningly large amount of Control Panel UI/UX improvements to tickle your fancy, and your neighbor. We can't list them all because we forgot most of them. Everything just looks better, and we'll leave it at that.
  • New You can now customize your entry and taxonomy listing table columns. #653
  • New Terms can now be created on the fly inside a taxonomy fieldtype, the way it was always meant to be. #283
  • New You can now manage permanent redirects (301) in your routes.
  • New Relate fieldtypes (taxonomy, collection, etc) now use a "tag" style UI by default.
  • New New Updater and Form widgets. Also souped up the Collection widget like a Fast & Furious sequel. It now has a button.
  • New The Collection Tag (and derivatives) now accepts a locale parameter.
  • New Collection Tags can be filtered by a locale, without falling back to the default locale. You asked, we delivered. #759
  • New Entries can now have a different route for each locale. (eg. /articles, /des-articles, etc)
  • New You are presented with a nice, helpful, and informative error message when a duplicate content ID is encountered. (Hint, if you see this error, go remove that ID. Just...delete it.)
  • New You can now pass variables into the contains modifier along with regular strings.
  • New Glide now supports external/remote images. Be nice to other people's sites though, okay?
  • New Login throttling has been added to the CP. Too many attempts in a short time will lock a user out for a minute, allowing them time to make coffee before trying again.
  • New Added a user.registering event that allows you to halt the registration process or modify the user data.
  • New Added a make:fieldset command that bakes you a small, delicate cupcake.
  • New Added the reply_to option in form emails. #817
  • New Added an upload button to the asset browse modal. #811
  • New Added an adorable little house icon next the home page. Don't you just wanna move in?
  • New Added support for content_type: text for serving content as text/plain.
  • New Added support for HTML5 style tag attributes without values on forms. #782
  • New Partials now support front-matter. #696
  • New Want to change an alpha collection to numbers? Edit the folder.yaml and hit reorder in the CP. Boom.
  • New When you have a single Collection it will show its title in the sidebar, the same way Taxonomies now work.
  • New When you have a single Taxonomy type it will show its title in the sidebar, the same way Collections now work.
  • New The Users fieldtype now defaults to the logged in user.
  • New You can now customize the "Create New Entry" title text (you know, when you're creating a new Entry) for your collection with create_title in your fieldset.
  • New You can now customize the Grid fieldtype "Add row" button text in the Control Panel.
  • New Event URLs (or Action URLs) can now be received by an addon's Controller.
  • New The Statamic\API\Str helper now wraps all the methods in StaticStringy so you don't have to use both.
  • New Jason got a haircut.
  • Fix Localized globals get shown on the appropriate locale.
  • Fix The Theme tags (theme:css, etc) will now always point to the default locale by default.
  • Fix Sneak peek can peek into your localized URLs, even without a passport or valid visa.
  • Fix Fix relate tag not working correctly on another locale. #779
  • Fix Fix relate tag not finding anything when the var contains dashes.
  • Fix Items get alphabetized when retrieved. Fixes inconsistencies in nav items. #808
  • Fix Added no_results to the Users Tag when there are indeed no results.
  • Fix Fixed edit URL for nested pages only ever showing the slug.
  • Fix Fix *recursive children* tag not working when children is scoped.
  • Fix Fix nav:breadcrumbs being a total weirdo on a localized site.
  • Fix Prevent nav:breadcrumbs flipping out when a parent URI results in a non-existent page. Like /blog/2015/01/post. What's /blog/2015/01?
  • Fix Fixed the |get modifier. It now actually works.
  • Fix The offset parameter is now supported when using pagination on Collection tags.
  • Fix permalink is now an absolute URL, even if your site URL setting isn't.
  • Fix Fix form submissions not being clickable. #809
  • Fix Fix user reset emails having &amp; in the URLs. #801
  • Fix Fix plain-text-only emails not getting sent as plain text. Lodge Post #2412
  • Fix Fix form submission table not being selectable. #799
  • Fix Did you notice there was no page number 4 in the Redwood content? Neither did we.
  • Fix The home page will use the title in the page tree. #766
  • Fix Improve code block support in the Markdown field.
  • Fix Asset container.yaml files can use environment variables.
  • Fix Max Files now respected in the asset listing picker #747
  • Fix When using email as username, the email field gets removed.
  • Fix Fix addon's getConfig() method ignoring intentionally falsey values and incorrectly falling back to defaults.
  • Break We've deprecated a whole bunch of methods and classes for the greater good. Here's a complete list.
  • Break The concept of a "url_path" is deprecated. If you were using url_path in templates (you probably weren't) it's now uri.
  • Break The Stache is now stored as files in local/cache/stache. This means for now you can't place the Stache in memcached, redis, etc.
  • Break Renamed CollectionFolder to Collection.


Released on June 24th, 2016
  • New Add get() to Modify class to allow retrieval of the raw value.
  • Fix Fix an accidental regression (aren't they all?) in modifiers stemming from the abstractions we made in 2.0.10


Released on June 23rd, 2016
  • New Custom fields can be added to a user during registration.
  • New Collection and Taxonomy tags can now use any date variable in since and until filters.
  • New Custom filter classes now have access to context and tag parameters.
  • New If you ever thought "Golly, I'd love to use a modifier outside of a template", get your smile out of your pocket. Now you can.
  • New Added $this->formOpen() into the Tags class.
  • New Arrays now get indexed when using the Zend search driver.
  • New Added Request::only() and Request::except() methods.
  • Fix Fix order inconsistency when using number based collections. The correct setting is order: number. For realsies. We made sure numeric works for backwards compatibility, but it's totally supposed to be number.
  • Fix Lured the debug bar home with a hot apple pie and a fan on our window sill. It worked so fast you would have laughed if you saw it... #763
  • Fix Third party fieldtypes no longer get dropped at the end of the fieldtype list like non-alphabetical outcasts.
  • Fix The cache key prefix can be modified with CACHE_KEY_PREFIX in your .env file. #730
  • Fix Fix issue where striptags modifier wasn't working. It should. Now it does.
  • Fix Fix issue where the asset selector is empty when used in Redactor or Markdown fields. #724
  • Fix RedirectExceptions use a 302 status by default. You probably don't care about this, but it was the right thing to do.
  • Fix Fixed error when updating search index. #764


Released on June 14th, 2016
  • Fix Lasso Smartypants and hog tie it, forcing it to stay put. The newest version went rogue and escaped from Packagist somehow and ruined breakfast for everyone. 753
  • Fix Fix alignment of icons in Collection widgets.