Released: 2026-04-09
Maintenance release bumping the minimum version of axios.
Released: 2026-04-09
Maintenance release with mostly JS dependency updates and a single fix when saving new content.
Released: 2026-01-12
This release contains a fix for the thumbnail endpoint.
Released: 2026-01-01
Make sure to check the upgrade notes for instructions when upgrading your installation!
- Bolt now requires at least PHP 8.2, which is in line with the supported versions.
- We have upgraded to Symfony 6.4! You will need to check your own code for any required changes due to this upgrade, check the Symfony documentation for that!
- We have also updated our Doctrine versions (data-fixtures ^2.0, dbal ^4.0, doctrine-fixtures-bundle ^4.3, lexer ^3, orm ^3.5). You will need to check your own entities and implementation to make sure that your code is compatible with the doctrine related changes.
- API Platform has been upgraded to version 4. This will have impact on your own implementations, so make sure to check those.
- Migrations are no longer provided by Bolt. You will need to start managing the migrations yourself and take action to ensure your database remains in sync. Check the upgrade notes for the recommended approach.
- We have migrated away from annotations and fully adopted attributes. If you are relying on annotations you will need to either re-enable annotation support, or migrate them as well (the latter is the recommended approach). (bobvandevijver, #3608)
- We have added the Request object to a lot of method signatures and dropped the RequestStack property (both in controller related classes). You will need to check your implementation if you were relying on those.
- Bump
nesbot/carbonfrom version 2 to version 3.8+. (macintoshplus, #3551) - Replaced
tightenco/collectwithilluminate/collections. The namespace has changed fromTightenco\Collect\Support\*toIlluminate\Support\*. (macintoshplus, #3555) - Replaced
bobdenotter/weatherwidgetwithbolt/weatherwidget. The namespace has changed fromBobdenOtter\WeatherWidgettoBolt\WeatherWidget. Your configuration should be migrated automatically, but if you weren't using the weather widget you might need to remove the newly added configuration manually. (macintoshplus and bobvandevijver, #3587) - Replaced
bobdenotter/configuration-noticeswithbolt/configuration-notices-widget. The namespace has changed fromBobdenOtter\ConfigurationNoticestoBolt\ConfigurationNoticesWidget. Your configuration should be migrated automatically, but if you weren't using the configuration notices widget you might need to remove the newly added configuration manually. (macintoshplus and bobvandevijver, #3588) - If you were using
bobdenotter/sitemap, you can migrate tobolt/sitemap-extension. The namespace has changed fromBobdenotter\SitemaptoBolt\SitemapExtension. - The
knplabs/doctrine-behaviorspackage has been removed from the Bolt core, but its functionality has been integrated. (macintoshplus, #3561) - The
sensio/framework-extra-bundledependency has been removed. monolog/monologis now required to be at least^3.9.php-translation/symfony-bundlehas been bumped to^0.16.php-http/httplug-bundlenow requires at least version 2, which removes an abandoned dependency.illuminate/collectionswas bumped from^10.48to^12.0.doctrine/data-fixturesnow requires^2.0. A version constraint was not specified in a earlier version of Bolt, but we were only compatible with v1.- Support for
doctrine/lexer^2has been dropped. doctrine/dbalnow required^4.0.doctrine/ormnow requires^3.5.doctrine/doctrine-fixtures-bundlenow requires^4.3.- Support for
symfony/flexv1 was dropped. twig/twignow requires^3.21.
- We've enabled login throttling by default.
- Return types have been changed where needed to resolve deprecation and PHPStan issues. This might affect you if you were extending the inner workings of Bolt. We apologise for the inconvenience, but it will be better in the long run.
- In line with Symfony, the
getUserName()method onUserhas been deprecated. UsegetUserIdentifier()instead. - We've changed our indent for yaml files to 2, as that works best with most available formatters.
masterbranch has been removed, we're now using version based branches only.
Released: 2026-01-12
This release contains a fix for the thumbnail endpoint, which was partially broken due to the previous security fix.
Released: 2025-12-30
This release includes a security-related fix. Our thanks for identifying this issue and disclosing it to us responsibly! ππ
- Fix possible path traversal through thumbnail endpoint (bobvandevijver, #3661)
Released: 2025-08-18
This release includes a security-related fix for new installations. Our thanks to an anonymous report for identifying this issue and disclosing it to us responsibly! ππ
For existing users, please make sure to check your allowed file types. Every file is uploaded as is to a publicly accessible folder, which can be abused if HTML is allowed and the preview function in the Bolt admin panel is used. We recommend limiting the allowed file types as much as possible!
- Flip default for allowed file types (bobvandevijver, #3593)
Released: 2025-03-10
This release includes a security-related fix. Our thanks to @bmdyy for identifying this issue and disclosing it to us responsibly! ππ
- Validate submitted URL before processing it (bobvandevijver, #3545)
Released: 2025-03-06
Fixes the internal version numbers to reflect the latest 5.2.1 release.
Released: 2025-03-06
It has been some time since the last release as the main maintainer and my namesake has passed last year (rest in peace Bob).
From a recent discussion three new maintainers have been granted access to the project, which means we are now able to move forward with this awesome project. The main goal for future releases is to clean up deprecations and update to Symfony 7.4 when released at the end of this year.
This release is almost the same as 5.2.0-rc1 release, with only one additional fix.
These changes were never documented in this file.
Please take a look at the GitHub releases for more information:
- https://github.com/bolt/core/releases/tag/5.2.0-rc.1
- https://github.com/bolt/core/releases/tag/5.2.0-beta.26
- https://github.com/bolt/core/releases/tag/5.2.0-beta.25
- https://github.com/bolt/core/releases/tag/5.2.0-beta.24.1
- https://github.com/bolt/core/releases/tag/5.2.0-beta.24
- https://github.com/bolt/core/releases/tag/5.2.0-beta.23
- https://github.com/bolt/core/releases/tag/5.2.0-beta.22
- https://github.com/bolt/core/releases/tag/5.2.0-beta.21
- https://github.com/bolt/core/releases/tag/5.2.0-beta.20
- https://github.com/bolt/core/releases/tag/5.2.0-beta.18.1
- https://github.com/bolt/core/releases/tag/5.2.0-beta.18
- https://github.com/bolt/core/releases/tag/5.2.0-beta.17
- https://github.com/bolt/core/releases/tag/5.2.0-beta.16
- https://github.com/bolt/core/releases/tag/5.2.0-beta.15.1
- https://github.com/bolt/core/releases/tag/5.2.0-beta.15
- https://github.com/bolt/core/releases/tag/5.2.0-beta.14
- https://github.com/bolt/core/releases/tag/5.2.0-beta.13
- https://github.com/bolt/core/releases/tag/5.2.0-beta.12
- https://github.com/bolt/core/releases/tag/5.2.0-beta.11
- https://github.com/bolt/core/releases/tag/5.2.0-beta.10
- https://github.com/bolt/core/releases/tag/5.2.0-beta.9
- https://github.com/bolt/core/releases/tag/5.2.0-beta.8
- https://github.com/bolt/core/releases/tag/5.2.0-beta.7
- https://github.com/bolt/core/releases/tag/5.2.0-beta.6
- https://github.com/bolt/core/releases/tag/5.2.0-beta.5
- https://github.com/bolt/core/releases/tag/5.2.0-beta.4
Released: 2022-08-24
- Add extra fields option for
imageandimagelistfields #3292) - Allow image/files modals to be populated from dynamic backend URLs #3300)
- Proper default for
$filter#3296) - Ensure uploaded SVG files have no embedded Javascript #3294)
- Prevent renaming or moving of files on edit #3295)
- Prevent injection when filtering records #3293)
- Fix icons in ContentTypes in Menu #3287)
- Fix some NPM bitrot #3286)
- Made the checkbox template recognise a false string as a value #3279)
- The services_bolt.yaml file now keeps the binds after regenerating it #3277)
Released: 2022-07-05
- Filter
|imagelooks in all possible fields #3259) - Add non-supported SVG HTML element to HTML Sanitiser #3257)
- Add "edit" link icon to related content in select/multiselect lists (nestordedios, #3195)
- Make
type: hiddenField usable (david-saisondor, #3173) - Make top level menu icon in Backend customizable (david-saisondor, #3167)
- Make saving Ajaxy (Joossensei, #3144)
- Bootstrap upgrade from v4 to v5 (nestordedios, #3129)
- Add a flag
ajaxy_saving: trueto Config to turn Ajaxy saving on or off #3253 - Add Fixtures for SEO field #3254
- Added
prevandnextclasses to Paginator #3255
- Fix loading of modal text when removing Collection item #3267)
- Remove Collection item if the user acknowledges #3265)
- Replace manual copy to clipboard with tiny library #3263)
- Enable the hash functionality for tabs instead of pills #3262)
- Improve responsiveness for Collections on smaller screens #3260)
- Ensure
PublishedAtgets set correctly when publishing a Record (bobdenotter, #3211) - Fixed partial broken
UserLocaleSubscriber(UtechtDustin, #3204) - Separate methods for Pager from
pagerParams. (vlad-ghita, #3205) - Add
isTranslatablecondition inget-method #3250 - Additional fix for
type: numberfield, set default tomin: 0. #3252
Released: 2025-03-10
This release includes a security-related fix. Our thanks to @bmdyy for identifying this issue and disclosing it to us responsibly! ππ
- Fix incorrect focus in invalid editor input fields (napley, #3491)
- Validate submitted URL before processing it (bobvandevijver, #3545)
Released: 2023-02-19
- Fixed thumbnail sizes, which did not fit because of a incomplete RegEx replace #3411
- Fix default thumbnail crop config #3403
- Update
UserFixtures.php - Strict use of strings as keys in TaxonomyFixtures #3415
Released: 2023-02-03
- Partial reverse of #3395, we really need those \Iterators #3400
Released: 2023-01-31
- Fix language switcher failing to set a default "type" value #3398
- Fix excerpt of search result when there is no whitespace after search⦠#3399
Released: 2023-01-27
- Fix PHPStan errors (on PHP 8.x) #3395
Released: 2023-01-20
- Do not display twig value for SetField #3390
Released: 2022-12-08
- Pass other
_route_paramsinto a forwarded request #3342 - Fix excerpt when content would be too short after trimming #3367
- Make
guesstimateAuthorreturn type nullable #3358 - Made the
isCurrent-filter remove the current locale #3368
Released: 2022-10-28
- Create fix-bundles as bash script #3340
- Since we call it using
self::runPHP, we don't need the shebang #3337 - Fixed some typos and made some phrases more natural/native sounding #3338
- Pass other
_route_paramsinto a forwarded request #3342
- Added Ukrainian lang support, fixed some Russian translations #3339
Released: 2022-10-14
- Ensure we return the found
ImageField, and not the surroundingSetorCollection#3333 - Fix
fix-bundlesinPostUpdateScript.php#3331 - Allow editing
YAMLfiles through the Bolt Backend #3325 - Check for empty request before using it #3334
Released: 2022-09-21
- The
|excerpt-filter now also excerpts fields inside Collections and Sets #3320
- Make
Requestparameter optional. Prevent breakage in extensions that don't have context (yet). #3318 - Make
LocaleHelperthrow the correct Exception #3319
Released: 2022-09-16
- Remove outdated edge-case, that was actually breaking on MariaDB (bobdenotter, #3315)
- Characters escaped when displaying the title bloc in templates (fsidobre, #3314)
- Add setId() function in User Entity (nestordedios, #3313)
Released: 2022-08-31
- Catch more broad Exception in
Locales::getName(bobdenotter, #3309) - Insert
<meta>snippets on main request only (jordanaubert, #3308) - Content validation is triggered on creation of content as well (jordanaubert, #3305)
- Fix deprecation notice in PHP
8.0and above ( abdellahrk, #3307)
Released: 2022-08-26
This release includes three security-related fixes. Our thanks go out to Eitan Shav at WhiteSource and David MΓΌller of lutrasecurity.com for identifying these issues and disclosing them to us responsibly! ππ
- Fix setcontent with
where { }clause filtering on a foreignidin MySQL (bobdenotter, #3302) - Proper default for
$filter(bobdenotter, #3296) - Fix icons in ContentTypes in Menu (bobdenotter, #3287)
- Prevent renaming or moving of files on edit (bobdenotter, #3295)
- Ensure uploaded SVG files have no embedded Javascript (bobdenotter, #3294)
- Prevent injection when filtering records (bobdenotter, #3293)
Released: 2022-07-11
- Tiny fix for the
|image-filter #3276
Released: 2022-07-05
- Add non-supported SVG HTML element to HTML Sanitiser #3257
|image-filter looks in all possible fields #3259- Feature/prev and next class #3255
- Additional fix for
type: numberfield, set default tomin: 0. #3252 - Fix the Canonical even Better! #3248
- Create an empty stub for postLoad to make updating smoother #3270
Released: 2022-06-17
- Remove old
conflict(bobdenotter, #3236) - Don't break when login-form is sent incomplete (bobdenotter, #3221)
- Fix error thrown by extensions with no config options defined (#3242)
- Fix
type: numberfield (#3231) - Increase
type: textareafield font-size (#3239) - Ensure the
|orderfilter sorts case insentitive. (#3235) - Update ECS to version
10.3(#3232) - Ensure correct Canonical (#3229, #3248)
- Fixed the config used for search result limits (#3219)
- Add helper to prepare
QueryBuilderwhen fetching latest records. (#3218) - Prevent negative dates ("Before year 0") in Content (#3240)
- Get correct relative file path, when
files/is a symlink (#3245)
Released: 2022-05-31 (replaces 5.1.8)
- Fix
wherewith Checkbox Fields. Hopefully this time for good (bobdenotter, #3214) - Ensure
PublishedAtgets set correctly when publishing a Record (bobdenotter, #3211) - Cast the config maintenance value to boolean (Spomsoree, #3206)
- Separate methods for Pager from
pagerParams. (vlad-ghita, #3205) - Fixed partial broken UserLocaleSubscriber (UtechtDustin, #3204)
- Maintain Field order. (vlad-ghita, #3201)
- Fix setting new Fields on Collection. (vlad-ghita, #3200)
- Use single quotes for query string literals (LimpSquid, #3199)
- Renamed the Icon method in the Content class (Spomsoree, #3198)
- Detect JSON for non-specialized MySQL platform instances. (vlad-ghita, #3197)
- Fix version compare for
composer self-updateversions. (vnagara, #3196) - Add βeditβ link icon to related content in select/multiselect lists (nestordedios, #3195)
- Fixing potential bug, exposed by PHPStan
1.6.xupdate (bobdenotter, #3194) - Fix: MySQL was returning case sensitive results. (codemis, #3188)
- Update Number Field (
type: number) to include the min and max (Joossensei, #3185) - Fixed the custom Field Type inside Sets (Spomsoree, #3180)
- Allow a βthumbnailsβ property to be configured against a ContentType Field (andysh-uk, #3179)
- Parent menu items in Backend use correct icon (david-saisondor, #3170)
- Fix Collection Field, so it now takes the
limitinto account for containing fields (david-saisondor, #3163) - Use JSON_VALUE on MySQL platforms (andysh-uk, #3135)
- change initialization of fields on
postLoadDoctrine event (simongroenewolt, #3101) - Make
type: hiddenField usable (david-saisondor, #3173) - Make top level menu icon in Backend customizable (david-saisondor, #3167)
Released: 2022-03-31
- Update User Edit Form so it has a unique ID (Joossensei, #3150)
- Fix
numberfield template so it works within Collections. (dadaxr, #3146) - Ensure correct links in menu, when changing
backend_urlinservices.yaml(bobdenotter, #3145) - Handle multiple
EntityManagerprefixes (matesko, #3142) - Handle 'double wrapped' database connections (simongroenewolt, #3139)
- Reverse search and replace arrays in
str_replace(HeinDR, #3137) - Don't break
/bolt/api/if it's set to public and it's accessed in a browser (bobdenotter, #3136)
- Update Dutch translations π³π± (bobdenotter, #3156)
- Translation of missing German translations π©πͺ (obsti8383, #3152)
- Add
citetoallowed_tags(bobdenotter, #3149) - Adding cache decorator for
Formatter(bobdenotter, #3143)
- Let's make it work on both Composer 2.3.x as well as 2.2.x (bobdenotter, #3154)
- Refactor Composer scripts to work with Composer 2.3.0 (bobdenotter, #3151)
- Remove unused
findParentsmethod (bobdenotter, #3141)
Released: 2022-03-22
- Use
requestStackto access current request when needed. (vlad-ghita, #3132) - Update float field so it uses
step='any'by default (Joossensei, #3122) - Bugfix: verify setting correct tags for caching works correctly (bobdenotter, #3119)
- Updates to allow custom theming for security area (vlad-ghita, #3125)
- Use routing to create the link to the ContentType overview (andysh-uk, #3133)
- Fix YAML migrations (bobdenotter, #3118)
Released: 2022-03-13
- Fix Select field with empty value, for
required: falseandallowempty: true(jordanaubert, #3116) - Update
Date.vuedateFormat to include seconds (simongroenewolt, #3096) - Fix custom homepage setting: allow singular ContentType slugs (bobdenotter, #3093)
- Fixes parsing for editing Yaml files in the backend editor (Joossensei, #3090)
- Fix YAML migrations (bobdenotter, #3118)
- Set
api:get:toPUBLIC_ACCESSfor public access to the read-endpoint of the API (bobdenotter, #3111) - Add map to htaccess (peterboorsma, #3108)
- Tiny fix, as per PHPStan (bobdenotter, #3109)
- fix wrong copy paste in comments (dadaxr, #3105)
- Bump url-parse from 1.5.6 to 1.5.10 (dependabot[bot], #3102)
- Update cypress tests so it retries on failure (Joossensei, #3099)
- Refactoring deprecations in Symfony 5 -> 6 (bobdenotter, #3091)
Released: 2022-02-10
- Fix configuration values not resolving correctly (ionutlip, #3068)
- Set default
valuesin FieldType (bobdenotter, #3058)
- Make it possible for GlobalVoter.php to vote on non-bolt users. (simongroenewolt, #3081)
- Adds the ability to change dynamic the bolt configuration directory (ionutlip, #3086)
- Add a username to the
backendmenucache key (Joossensei, #3087) - Update cypress tests again (Joossensei, #3084)
- Update
AuthSubscriber.phpto prevent logout error (matesko, #3074) - Avoid running node service as
rootuser (fsidobre, #3073) - Tweaking Cypress
defaultCommandTimeout(bobdenotter, #3070) - Add the possibility to sort and filter users in the backend (damien-jourdan, #3066)
- Show "404" image for missing thumbnails (bobdenotter, #3064)
- Update
Relation.php(Joossensei, #3060) - Bugfix Fix autocomplete for Relation (ionutlip, #3055)
- Bump nanoid from 3.1.30 to 3.2.0 (dependabot[bot], #3077)
- Bump node-fetch from 2.6.6 to 2.6.7 (dependabot[bot], #3076)
- Update
api_tests.yaml(bobdenotter, #3069) - Remove ignore of false positive in PHPStan (bobdenotter, #3061)
Released: 2022-01-19
- Bugfix Fix
maximum_listing_selectinconfig.yamlfor Relation (ionutlip, #3052) - Fix wrong subtask called in Makefile for Docker (fsidobre, #3048)
- Fix date format to save PM time (fsidobre, #3046)
- Fix Romanian transliteration (bobdenotter, #3043)
- Users overview page Dutch translations (nestordedios, #3049)
- Update
package-lock.json(Joossensei, #3045) - New feature: Allow empty value for select form controls, based on user setting. (vlad-ghita, #3041)
- Update serializable interface (bobvandevijver, #3039)
- Minor cleanup on
services.yaml(bobdenotter, #3035)
- Typehint
QuestionHelper(make PhpStan happy) (bobdenotter, #3044) - Fixing logo alt (bobdenotter, #3042)
Released: 2022-01-05
- Make
LoginFormAuthenticatorcompatible with Symfony 5.3 (I-Valchev, #3028) - Fix boolean logic in
CorePostUpdateScript.phpπ€¦ (bobdenotter, #3034) - Composer 2.2 compatibility fix (bobdenotter, #3029)
Released: 2021-12-16
- Role-based API support for
POST,PUTandDELETEoperations (I-Valchev, #2648) - PHP 8.1 compatibility (bobdenotter, #3008)
- Implement the new Symfony Security Component (I-Valchev, #3007)
- Add new paginate function for arrays (Joossensei, #2994)
- Fix deprecation notices especially at the level of the return types (bobdenotter, #3011)
- Add the yaml migrations for the new security component (I-Valchev, #3010)
- Fix deprecation notices especially at the level of the return types (abdellahramadan, #3000)
- Allow prefix and postfix text on relationships and taxonomies input field (nestordedios, #2990)
- PHPSpec π₯ (bobdenotter, #2988)
- Date issues in Bolt 5 (Joossensei, #2986)
- Allow symfony/flex v2 (bobvandevijver, #2984)
- Allow passing in string in
getTitle, to give friendlier notice (bobdenotter, #2982) - Check on null value added to calling setCurrentLocale to prevent null value parameter (nicodeboer, #2981)
- Improve caching (bobdenotter, #2980)
- Fix the date format expected for params like 'today' (Joossensei, #2974)
- Remove some of the describe from Cypress / Fix some common Cypress errors (Joossensei, #2968)
- chore(local-stack): improve make targets and avoid node17 issues for docker (jbarbin, #2955)
- [issue-2901] fix(fixtures): non existent data mapped for fields of type select (jbarbin, #2954)
- Bumping versions of Glide and PHPStan (bobdenotter, #2953)
- Add curl API tests (I-Valchev, #3018)
- Fix php unit relation test (I-Valchev, #3015)
- Remove PHPSpec (because it's black magic) (bobdenotter, #2985)
- Cleanup
todocomments (I-Valchev, #2999) - Fix phpunit FrontendMenu test (I-Valchev, #2992)
- Add caching decorated services (I-Valchev, #2987)
- Port the has sortorder for taxonomies 3001 (#3016) (I-Valchev, #3017)
- Redirect to login page if unauthenticated (I-Valchev, #3014)
- Fallback to Symfony's default public path for bundles (I-Valchev, #3005)
- Don't set "linked media", if we don't have a proper filename (bobdenotter, #3004)
- Allow Select fields with
JSON_SEARCHto filter multiple values (I-Valchev, #2995) - Create meaningful fixtures for geolocation fields (I-Valchev, #2991)
Released: 2021-11-26
- Ensure consistency in sluggified anchor link (bobdenotter, #2907)
- Fix getting db version (lock
doctrine/dbal) (I-Valchev, #2977) - Enable 'Remember me' by default, and make duration configurable (bobdenotter, #2911)
- Redirect 'GET on Preview' link to edit page (bobdenotter, #2904)
- Fix contentlisting route example (nestordedios, #2950)
Released: 2021-10-28
- Only set the
default_statuson new content (I-Valchev, #2883) - Fixed that onUserEdit changes backend locale. (Joossensei, #2829)
- Make Bolt's search keyword required (I-Valchev, #2885)
- Fix overlapping text on toasts / notifications (I-Valchev, #2881)
- Add
lazyparameter to|showimagefilter (I-Valchev, #2882)
- Fix the Cypress tests (Joossensei, #2884)
Released: 2021-10-24
- Fix setPath: Don't override existing
$route, if we already have one (bobdenotter, #2876) - Fix dependency resolution blockage (bobdenotter, #2875)
Released: 2021-10-22
- Fix french translations (oto-emo, #2869)
- Allow labels to be edited in the Editor (I-Valchev, #2865)
- Fixed created date
UTCin Content Entity (oto-emo, #2864) - Add
cascade={"persist"}to Field#content relation (bobdenotter, #2854) - Fixed issue about the password eye (Joossensei, #2851)
- Fixed not rendering ellipsis (Joossensei, #2849)
- Fixes the wrong url by
setpath()when on a 404-page (mcdennem, #2871) - Fix the default value for new checkboxes in existing records (I-Valchev, #2868)
- Improve the way
time_limitandmemory_limitis being set (bobdenotter, #2863)
- Update Composer to 2.1 and Symplify to 9.4 (bobdenotter, #2870)
- Set
defaultvalue for new fields in existing records (I-Valchev, #2867) - Update for SCSS deprecations (Joossensei, #2861)
- Update Chinese translation (ziselive, #2852)
- Unlock
symfony/flexso it updates past 1.13 (bobdenotter, #2860)
Released: 2021-09-29
- Fix Multiselect in setcontent (bobdenotter, #2846)
- Fix
{% setcontent where { β¦ } %}for Checkbox fields (bobdenotter, #2844) - Update Sanitiser.php (Joossensei, #2843, #2840)
- Changed editor permissions test issue (Joossensei, #2836)
- Added possible null return for
getId(andersbjorkland, #2835) - Added
save-method to RelationFactory (andersbjorkland, #2833)
Released: 2021-09-17
- Fix querying selects and multiselects (I-Valchev, #2828)
- Fixed the cypress test (Joossensei, #2821)
- Addressed remove dummy users issue. (Joossensei, #2819)
- Fix missing id's for
integer/floatfield (Joossensei, #2817) - Fix missing id for
textarea(Joossensei, #2816) - Fix duplicate ids on login page (Joossensei, #2814)
- Show
memory_limitand attempt to set it on CLI (Bobdenotter, #2823) - Remove missing
related_values_from_contentfilter (mcdennem, #2805) - Ensure admin/developer option is respected (bobvandevijver, #2831)
Released: 2021-08-30
Really, too much to list. This is a major upgrade, and consists of about 2400 commits since 4.0. This blog post lists some relevant details:
https://boltcms.io/newsitem/big-announcement-bolt-5-0-on-the-horizon
Released: 2021-08-23
- Fix
optionsLimithyphenation warning (I-Valchev, #2789) - Lock
symfony/flexto1.13for now (bobdenotter, #2786) - Search now also finds words with special characters, like
bΓΌΓen(bobdenotter, #2767) - Workaround for constructor signature change in Symfony/Process (bobdenotter, #2766)
Released: 2021-08-11
- Use Symfony Process component instead of
passthru(I-Valchev, #2755) imagelistandfilelistfields can be emptied (I-Valchev, #2743)- Throw 404 response when thumbnailing a missing image (I-Valchev, #2742)
- Fix
group: sidebarconflicting with Bolt's sidebar (I-Valchev, #2737)
Released: 2021-07-27
- Preparations for upgrading to Bolt 5
- Add Composer scripts for tasks, when running Composer
Released: 2021-07-18
- Don't lowercase values in queries, allow for booleans (bobdenotter, #2686)
- Fix incorrect error when uploading an allowed filetype, that isn't an image (bobdenotter, #2663)
- Allow whitespace in
orderbyin setcontent queries (bobdenotter, #2712)
- Replace
_with space in Field labels (bobdenotter, #2711) - Support Twig chain loaders if available (emodric, #2660)
- Use
localdate, in preparation of this being the standard in 5.0 (bobdenotter, #2656) - Remove unneeded line and fix rogue quote (bobdenotter, #2650)
- Ignore two more PHPstan false positives (bobdenotter, #2685)
- Fix
If condition is always trueon new phpstan (I-Valchev, #2675)
Released: 2021-06-18
- [security] Don't allow
symfony/security-http5.3.0 and 5.3.1 (bobdenotter, #2640) - Add
inferred_slugvalues to parsed ContentType, if applicable (bobdenotter, #2636) - Pass around
BaseExtensioninstead of string inExtensionsConfigureCommand(bobdenotter, #2628)
- Add cypress tests (I-Valchev, #2625)
Released: 2021-06-11
- Fix
maximum_listing_selectinconfig.yaml(I-Valchev, #2619) extensions:configureaccepts both.yamland.ymlfor config, routes and services in extensions (I-Valchev, #2618)- Fix
|filterand|orderchaining returning no results (I-Valchev, #2603)
- Add restriction for (global) Composer 2 to
composer.json(bobdenotter, #2614) - Fix error in custom code producing seemingly unrelated message. Catch
LoaderLoadExceptioninstead ofThrowable(bobdenotter, #2623) - Pin Chromedriver to version 90.x (bobdenotter, #2610)
Released: 2021-05-31
- Performance boost: Keep in-memory copy of
currentLocale(bobdenotter, #2597) - Fix copy-themes with packages. Implement copying specific theme (I-Valchev, #2584)
- Update LICENSE (I-Valchev, #2567)
Released: 2021-05-11
- Several fixes for handling Relations (bobdenotter, #2576)
- Copy packaged themes in
bolt:copy-themescommand (I-Valchev, #2563) - Fix a CSS quirk in listing overview pages (bobdenotter, #2554)
- Replace
node-sasswithsassππ₯ (bobdenotter, #2562) - Allow
sensio/framework-extra-bundleversion 6 (bobvandevijver, #2551)
- Fix ecs breakage with
friendsofphp/php-cs-fixer(I-Valchev, #2566)
Released: 2021-04-21
- Fix edgecase where Excerpt could start with
.. (bobdenotter, #2542) - The
latestdirective uses-publishedAtinstead of-id(I-Valchev, #2541) - Fix datepicker to only attempt to use existing locales, ensuring Time Picking still works (bobdenotter, #2539)
- Locale get link always
_localeparameter (I-Valchev, #2532) - Corrected the filepath for
getsvg()function (mcdennem, #2531) - Decode HTML entities in
title_formatand related (I-Valchev, #2529) - Allow parsing of
localdates likenowortoday + 1 week, 21:00(bobdenotter, #2518) - Assert User's email is not blank (bobdenotter, #2517)
- Fix bug where
anyFieldsearch no longer works on listing (I-Valchev, #2515) - Make sure a select field can accept a string value (I-Valchev, #2511)
- Do not remove reverse relation when save (napley, #2535)
- Suppress unneeded notices in ECS (bobdenotter, #2520)
Released: 2021-04-05 (Happy Easter π£)
- Use
CompletePackageInterfacein BaseExtension (bobdenotter, #2507) - Don't keep the date field buttons focused after clicking (I-Valchev, #2505)
- Fix typehinting
PathExpression->Nodefor property (bobdenotter, #2509) - Create SECURITY.md (I-Valchev, #2506)
- Fixes a PHPStan check error, introduced in Symfony 5.2.6 (bobdenotter, #2497)
Released: 2021-03-23
- Fix the
allow_twigoption to work in the preview (bobdenotter, #2486) - The
|excerptfilter returns the excerpt in the correct locale (I-Valchev, #2475) - Accept less strict search like
%foo%bar%(I-Valchev, #2473)
- Improve parameter override for Listing Pages (bobdenotter, #2469)
- Fix GitHub action failed to install (I-Valchev, #2484)
Released: 2021-03-14
- Don't break if listing pages have extra parameters (bobdenotter, #2465)
- Ensure
slughas ausesset (bobdenotter, #2463) - Set correct classes and disabled states for the
_pager_basic.html.twigpager (I-Valchev, #2460) - Identical record slugs in
menu.yamldon't create conflicting URIs (I-Valchev, #2454)
- Temporary version lock for
api-platformbug (I-Valchev, #2461) - Allow search queries containing special characters (fix for #2427) (EmilePerron, #2435)
- Show total number of records on listing (bobdenotter, #2464)
- Update
shivammathur/setup-phpto v2 (I-Valchev, #2448)
Released: 2021-02-26
|orderfilter by negative number sorts correctly (I-Valchev, #2428)- From Library button on Windows generates the correct URL (I-Valchev, #2422)
- Use
symfony/assetsURL generation for assets inImageExtension.php(I-Valchev, #2420) - Don't break collection looping if definition changes (I-Valchev, #2416)
- Don't ignore locale settings on initial request or clear session (I-Valchev, #2408)
- Fix taxonomy
listing_templateinconsistency. Fix the canonical forslugandsingular_slug(I-Valchev, #2407) - Don't show old fields in a
setif they're removed from the definition (I-Valchev, #2400)
- Make Embed fields accessible (I-Valchev, #2430)
- Update
_multiselect.scss(fine-tuning CSS) (eduardomart, #2389)
- Don't use
dumpin setcontent tests (I-Valchev, #2426) - Use more specific selector for the
setcontent[no] test page (I-Valchev, #2418)
- Keep
sensiolabs/security-checkeraround for now (bobdenotter, #2394)
Released: 2021-02-14
This release includes two security-related fixes. Our thanks go out to Silvia VΓ€li, Clarified Security and Romain Richard for identifying these issues and disclosing them to us responsibly! ππ
- Selects with
multiple: truealways have an array value (I-Valchev, #2385) - Make sure the magic
getuses the configureddate_format(I-Valchev, #2383) - Fix
|orderfilter by date (I-Valchev, #2382) - Keep cache timestamps for all
.envfiles (I-Valchev, #2378) - Fix date field with
required: true(I-Valchev, #2377) - Make multiselect fields iterable in Twig (I-Valchev, #2373)
- Fix slow tests (bobdenotter, #2370)
- Use TemplateSelect
filteroption with directories (I-Valchev, #2361) - Fix new checkbox value on existing records (I-Valchev, #2350)
- Fix
record|thumbnailgetting different image thanrecord|image(I-Valchev, #2347) - Fix
|svgfilter for images outside of set (I-Valchev, #2345)
- [security] Don't allow Path Traversal (bobdenotter, #2371)
- Fix e-mail address in github issue template (bobdenotter, #2367)
- [security] Forbid certain theme files from public exposure (I-Valchev, #2348)
- Remove incorrect
PHPDoc @vartag in RelationRepository (I-Valchev, #2374) - Remove (abandoned)
sensiolabs/security-checker(bobdenotter, #2356)
Released: 2021-01-25
- Clear config cache on
bin/console cache:clear(I-Valchev, #2334) - Fix YouTube oEmbed missing
titleaccessibility issue (I-Valchev, #2333) - Don't require user to re-authenticate after changing user locale (I-Valchev, #2322)
- Use default locale when not explicitly stated (I-Valchev, #2313)
- Fix phpstan 0.12.67 failing on
Cannot instantiate interface Bolt\Entity\FieldInterface(I-Valchev, #2315)
- Pin API-platform to
2.5.*for now (bobdenotter, #2336)
Released: 2021-01-13
- Fix setcontent query for checkbox
falsevalues (I-Valchev, #2310) - Make sure "Other Content" works on mobile (I-Valchev, #2297)
- Fix
defaultoption for select field (I-Valchev, #2296) - Fix casting exception with
orderbywhen using MySQL/PostgreSQL (I-Valchev, #2290) - Fix allow twig and deprecate
record|allow_twigrequirement (I-Valchev, #2289) - Remove
<select>-tag spacing (I-Valchev, #2283) - Allow
idin sanitiser (purifier). Don't sanitise fields withsanitise: false(I-Valchev, #2280)
- Bump axios from 0.19.2 to 0.21.1 (dependabot[bot], #2285)
- [4.1.x] Fix behat tests (I-Valchev, #2282)
Released: 2021-01-03
- Fix escaping of ContentType names in listing pages (bobdenotter, #2266)
- Set
base-2020inGeneralParser.php(bobdenotter, #2264) - Don't sanitise markdown fields (I-Valchev, #2255)
- Pager
PreviousandNextare localized labels.activestate for basic pager. (I-Valchev, #2254)
- Update
routes.yaml(peterboorsma, #2273)
- Remove (abandoned)
peterkahl/country-code-to-emoji-flagpackage (bobdenotter, #2276) - Force php 7.2 in GitHub Actions (I-Valchev, #2253)
Released: 2020-12-14
- Fix homepage link generation, generate fallbacks as relative unless canonical (SahAssar #2207)
- Don't break with
TaxonomyRepository::factory() must be of the type string, int given(I-Valchev #2203) - Update
Checkbox.vueto remove-->unexpected line (prdurand, #2199) |svgfilter uses correct path inside collection/set (I-Valchev, #2235)- Fix issue with sorting order for
|selected(I-Valchev, #2230) - Show correct timezone for Content dates (createdAt, modifiedAt, publishedAt, depublishedAt) (I-Valchev, #2231)
- Don't break if a set's definition no longer contains a field (I-Valchev, #2240)
- Run E2E tests on lowest supported PHP version only [bugfixes] (I-Valchev, #2228)
- Allow omitting of
generatormeta tag andx-powered-byheader (bobdenotter, #2195)
Released: 2020-11-29
- Fix for "Argument 1 passed to
FieldRepository::findAllBySlug()must be of the type string, null given" (I-Valchev, #2189) - Allow
/in setcontent where query (I-Valchev, #2173) - Checkbox value can be unset (I-Valchev, #2172)
- Sort
type: templateselectFields alphabetically (I-Valchev, #2186) - Allow omitting of
generatormeta tag andx-powered-byheader. (bobdenotter, #2195)
Released: 2020-11-23
- Fix: Set a default status for the
default_status(bobdenotter, #2146) - Make 'create user' a bit more robust (bobdenotter, #2144)
- Use correct template directory in templateselect (I-Valchev, #2139)
|selectedfilter orders by the value of the select (I-Valchev, #2137)- Fix excessive padding in dropdowns (I-Valchev, #2121)
- Bugfix incorrect
|currentfilter for localized menu items (I-Valchev, #2118) - Fix: in
getTaxonomies(), return early when we don't have "Content" (bobdenotter, #2110) - Show preview button on Homepage, even if viewless (I-Valchev, #2107)
- Merging mishap: This shouldn't have been in this branch (bobdenotter, #2163)
- Replace Faker with fork, since original is abandoned (bobdenotter, #2111)
Released: 2020-11-02
- Remove extraneous whitespace in excerpts (bobdenotter, #2072)
- Fix empty Imagelist breaking rendering in Prod ENV (bobdenotter, #2091)
- Don't break installation if SQLite is not present #2083)
- Access
defaultLocalein twig (I-Valchev, #2074) - Make "files" selector use more levels (bobdenotter, #2068)
- Use 'Hoofdconfiguratie' π³π± correctly (bobdenotter, #2067)
- Fix parsing of
theme.yml(artggd, #2059)
- Pin
drupol/composer-packagesto2.0(bobdenotter, #2057) - Add three more 'allowed' tags by default (bobdenotter, #2076)
- Allow rel attribute by default (scaphandroid, #2064)
- Cleaning up
composer.json(bobdenotter, #2063)
Released: 2020-10-25
- Keep track of assets version on "About" page (bobdenotter, #2055)
- Composer 2 compatibility (bobdenotter, #2049)
- Fixed "Dutch (Belgium)" displaying the Belarus flag (EdinTC, #2053)
- Taxonomy singular slug fix part 2 (andysh-uk, #2051)
- Fix duplicate html element ids in editor with multiple Collections (simongroenewolt, #2046)
- Taxonomy singular slug fix (andysh-uk, #2044)
- Preserve user's chosen locale in Editor (I-Valchev, #2037)
- Improve readme tremendously (bobdenotter, #2039)
- Use remember me field in login Symfony Form (I-Valchev, #2038)
- Add Greek EL π¬π· translations (c2webstudio, #2034)
- Pin
drupol/composer-packagesto2.0(bobdenotter, #2057)
- Add
CarbontoscanDirectories(bobdenotter, #2056) - Fix PHPstan breakage (bobdenotter, #2048)
- Fix PHPStan breaking on
url_decode(I-Valchev, #2043)
Released: 2020-10-22
- Multivalue querying does not break for taxonomies (I-Valchev, #2032)
- Changed name of generic taxonomy config file identifier (bfkolle, #2029)
- Show set as block (I-Valchev, #2026)
- Put back some more files that we really do need. (bobdenotter, #2022)
- Update
_collection_buttons.html.twig: Aligns button group on the right side (eduardomart, #2028) - Fixed Extensions List Command issue with package name (c2webstudio, #2024)
Released: 2020-10-18
- Filter by any field (I-Valchev, #2008)
- Feat: add
.gitattributesfile for release (toofff, #1980) - Simplified Chinese translation (ziselive, #1970)
- Don't repeat "Add to collection" text when there's only one (I-Valchev, #2011)
- Any field that has a localized field down the line is considered localized (I-Valchev, #1987)
- Fix url for 'bulk' operations on Listing screen, for sites with modified Backend URL (bobdenotter, #1983)
- Use
->loadEnv()instead of->load()to support the 'standard' Symfony⦠(simongroenewolt, #1974) - Redirect to record or new record on singleton listing pages in backend (I-Valchev, #1968)
- Don't break if slug is
nullas opposed to "empty string" (bobdenotter, #2003) - A little less padding on lists in Cards (bobdenotter, #1989)
- Show actual error message from upload error response instead of
[object Object](simongroenewolt, #2016) - Update .gitattributes. We most certainly do want
/assets/static(bobdenotter, #2020) - Corrections for German localization (BleuM, #2019)
- Missing HU labels (rixbeck, #2005)
- Deprecate
default_statefor collection in favour ofvariant(I-Valchev, #1988) - Use
DatabasePlatforminstead ofDriverto check for MySQL/MariaDB (andysh-uk, #1984) - Force path separator to
/in ImageFixtures relative paths (luistar15, #1979) Log.phphad an incorrectrepositoryClassspecified in the Entity annotation (simongroenewolt, #1972)- Updating the system font stack for 2020 (bobdenotter, #2004)
- Enable twig namespace 'theme' by default (bobdenotter, #2015)
- Update readme (remove beta reference) (I-Valchev, #2009)
- [CI] Add stylelint 4 space indent (TomasVotruba, #1967)
- [CI] Move npm jobs from Travis to Github Actions (TomasVotruba, #1966)
Released: 2020-10-08
- Initial PostgreSQL support (Wieter, #1933)
- Feature/translations russian (denis-gorin, #1962)
- Backend in Bulgarian / ΠΠ°Π½Π΅Π» Π½Π° Π±ΡΠ»Π³Π°ΡΡΠΊΠΈ π§π¬ (I-Valchev, #1940)
- Add new
bolt:reset-passwordCLI command to reset password (simongroenewolt, #1937) - Allow default values for Fields in new Content (bobdenotter, #1952)
- API:
$this->viewlessContentTypesshould be a indexed array, not associative (simongroenewolt, #1960) - Ignore empty like
%%parameters (I-Valchev, #1955) - Access extensions by name with full namespace (I-Valchev, #1954)
- Ensure the "Titles" in collection blocks are plain text only (bobdenotter, #1948)
- Better way to allow
xin thumbnail URLs alongsideΓ(bobdenotter, #1943) - Ensure we have an array of records in "select" block (bobdenotter, #1942)
- Add missing
json_decodeTwig Filter (bobdenotter, #1941) - Fix Buggy thumbnail url generation #1928 (luistar15, #1938)
- Dont create folders if the image can't be created (UtechtDustin, #1936)
- fix HTML DOM problems (LordSimal, #1930)
- Exclude relations from
Content::toArray()(I-Valchev, #1927)
- π§Ή Cleanup for
Doctrine\Version#1963)
- [phpstan] remove invalid tmp dir + dependency on symfony container (TomasVotruba, #1958)
- [composer] decouple
post-install/update-cmdand skip run on CI (TomasVotruba, #1961) - [composer] remove copy-paste leftovers (TomasVotruba, #1959)
- [ci] use common path for
.envfile (TomasVotruba, #1957) - Delete
Version20200219064805.php(bobdenotter, #1946) - Better feedback when
|relatedand their ilk fail (bobdenotter, #1935) - Change travis-ci build status in
README.mdto travis-ci.com (LordSimal, #1932)
Released: 2020-09-30
- Fix: Don't break when passing in params for "Search Query" (bobdenotter, #1922)
- Fix displaying (singleton) page by slug (denis-gorin, #1921)
- Fix edit file in File management subfolders (denis-gorin, #1915)
- Fix: add config media types to files list in dropdown (denis-gorin, #1913)
- Empty image Field should return
nullinstead offiles/(bobdenotter, #1925)
- Try and resolve Extension classes from the DI container (rossriley, #1909)
- Collection updates (eduardomart, #1904)
- Enhancement: Add French Translations (BoutValentin, #1903)
- Bolt is stable! (I-Valchev, #1902)
- [CI] Move console checks from Travis to Github Actions (TomasVotruba, #1917)
- [CI] Move PHPStan and Composer Validate from Travis to Github Actions (TomasVotruba, #1916)
- [CI] Move ECS from Travis to Github Actions (TomasVotruba, #1912)
- Cleanup, this is handled in ENV / Doctrine (bobdenotter, #1908)
Released: 2020-09-24
- Allow numeric slugs with
allow_numericattribute in ContentType (bobdenotter, #1884)
- Only show "Preview" button if ContentType is not Viewless (bobdenotter, #1896)
- Fix "zero width spaces" and Twigified titles in backend. (bobdenotter, #1893)
- Fix Z-index, attempt 2 (bobdenotter, #1890)
- Minor fix: Check if
Contentis set in preview mode. (bobdenotter, #1885) - Getting a date uses the default timezone from config (I-valchev, #1901)
- Update
_multiselect.scss(eduardomart, #1899) - Fix
messages.de.xlf: "Standart" to "Standard" (binarious, #1887) - Add pedantic notice to installation on this page, reminding people to use https://docs.bolt.cm/installation instead (bobdenotter, #1886)
- Fix iffy details/summary marker (bobdenotter, #1882)
- Update
hidden.html.twig(eduardomart, #1880)
Released: 2020-09-20
- Don't show
Media created successfullyif it's not new (I-Valchev, #1872) - Edit attributes button does not break the page. (I-Valchev, #1870)
- Styling Collections more nice-like (bobdenotter, #1876)
- Make z-index of
<select>a bit higher (bobdenotter, #1875) - Allow uploading of Avif and Webp images, for the hip kids. (bobdenotter, #1874)
- Adding
base-2021toCopyThemesCommand(bobdenotter, #1879)
Released: 2020-09-16
- Multiple collections buttons don't break on the same page (I-Valchev, #1863)
- Slugs in fixtures use the
uses:attribute to make sensible slugs (I-Valchev, #1861) - Allow multiple roles to be selected for users (I-Valchev, #1856)
- Ensure config for
not_foundetc. are arrays. (and some cleanup of old, deprecrated stuff) (bobdenotter, #1867)
- Make possible to check if an extension is present, directly in Twig (bobdenotter, #1844)
- Configure homepage without a record or listing (I-Valchev, #1866)
- Don't break if editor tries editing a record with a missing definition (I-Valchev, #1859)
- Update
upload_locationin GeneralParser.php, followup to #1850 (bobdenotter, #1858) - Fix default locations for image uploads (bobdenotter, #1857)
- No dropdown for adding collection items if there's just one. (I-Valchev, #1853)
- Update
config.yaml(eduardomart, #1850) - Check if extension exists as a twig test (I-Valchev, #1849)
- Make Frontend output a bit more robust by catching common pitfalls (non-existing content, etc) (bobdenotter, #1847)
- Updating Fixtures for impending release (bobdenotter, #1846)
- Add optional parameter to
excerptto wrap output in<p>(bobdenotter, #1845) - Release/4.0.0 rc.42 (bobdenotter, #1843)
- Update about page with Symfony 5 (I-Valchev, #1864)
- Fix phpstan break (again)! (I-Valchev, #1862)
- Re-run behat tests on clean plate in case they fail mid-test (I-Valchev, #1855)
- Re-enable
composer validate --strictin CI (I-Valchev, #1854) - Fix ECS by explicitly skipping
UnaryOperatorSpacesFixer(bobdenotter, #1851) - Allow up to 120 characters on a line of JS code (I-Valchev, #1865)
Released: 2020-09-11
- Support taxonomies in
title_formatandexcerpt_format(bobdenotter, #1838) - Removed faulty definition to show timeSelection in Date Picker (develth, #1837)
- Imagelists and Filelists work in collections (I-Valchev, #1835)
- Listing search uses correct config. Add
--likeoption to query params search (I-Valchev, #1829) - Add pattern
urlandemailoptions as shown in the docs (I-Valchev, #1828) - Prevent recursion in
title_format(bobdenotter, #1827) - Clear menu caches on content delete. Log delete event. (I-Valchev, #1824)
- Search without author returns results (I-Valchev, #1823)
- Don't break if we're trying to get content for "no ContentTypes" (bobdenotter, #1822)
- Allow src in iframes for embeds to work. Add spinner feedback while embed is loading. (I-Valchev, #1820)
- Pass in
recordwith Set partial (bobdenotter, #1842)
- Use configured
upload_locationfor images and files in ContentTypes (bobdenotter, #1834) - Collapsible collections (I-Valchev, #1830)
- Add
fixture_formatoption to fields (I-Valchev, #1841) - Make
placeholders()acceptnullfor robustness (bobdenotter, #1840) - Deprecate use of Symfony 4 (I-Valchev, #1839)
- Update top toolbar. Kill your darlings! (bobdenotter, #1836)
- Update
_taxonomylinks.html.twig: fix link (bobdenotter, #1832) - Listing singleton uses
record_routesetting (I-Valchev, #1826)
- Use
travis_retrycommand on frequently failing behat tests (I-Valchev, #1831) - Run tests in prod (I-Valchev, #1804)
Released: 2020-09-02
- Don't list Singleton ContentTypes in Aside (bobdenotter, #1814)
- Fall back to
DetailControllerwhen trying to "list" a Singleton ContentType (bobdenotter, #1813) - Fix
Notice: Array to string conversioninField.phpby ensuring the array is one level deep. (bobdenotter, #1811) - Make order filter work with
ContentHelper::get()options (I-Valchev, #1809) - Minor fix: Set database path correctly (bobdenotter, #1801)
- Fix breakage in PROD for
type: selectfields (bobdenotter, #1800) - shouldreturnsingle handles id filtering based on operator (I-Valchev, #1799)
- Include taxonomy types if no taxonomies set (I-Valchev, #1795)
- Allow for more flexibility with
class: fooin Text fields (bobdenotter, #1810) - Show appropriate
displayTitlefor new "Singleton" Record (bobdenotter, #1807) - Allow for more control over formatting of prefix and postfix (bobdenotter, #1806)
- WIP: Czech localization (VentyCZ, #1803)
- Version bump in
doctrine/commonbroke this (bobdenotter, #1802) - Allow
contenttypein title formatting (For "Select" fields) (bobdenotter, #1797) - Remove
max-widthfrom prefix and postfix (eduardomart, #1796)
- Update
UnderscoreNamingStrategyindoctrine.yaml(bobdenotter, #1812) - Fix deprecation in RouteCollectionBuilder (bobdenotter, #1815)
Released: 2020-08-31
- Fix widgets: Only setRendered if widget didn't return
null(bobdenotter, #1791) - Avoid caching slug uses definition for new records (I-Valchev, #1786)
- Updating dependencies, Fix CS findings (bobdenotter, #1790)
Released: 2020-08-26
- Get curl_options as an array instead of collection (bobdenotter, #1781)
- Numeric order works on MySQL databases (I-Valchev, #1778)
- Localehelper shouldn't break on CLI commands (bobdenotter, #1777)
- Better check for
INSTRandCAST(bobdenotter, #1776) - Fix orderby non-localizable field in localized contenttype (I-Valchev, #1774)
- Unsplash images fixtures work even if ssl verification fails (I-Valchev, #1771)
- For now, only use setcontent with standalone fields (I-Valchev, #1770)
- Date field required updates validity when set (I-Valchev, #1768)
- Fix: Correctly exclude fields that are used in the slug by default (bobdenotter, #1766)
- Fall back to "dumb" numeric sorting for older SQLite versions (bobdenotter, #1765)
- Filter and order using queryparams on listing pages (I-Valchev, #1782)
- Enhancement/tidying up and removing old cruft (I-Valchev, #1775)
localdateprefers currentlocale over defaultlocale (I-Valchev, #1763)
- Test/db supports json (I-Valchev, #1773)
- Update
config.yamlwith documentation on curl options. (I-Valchev, #1779) - It has been ΜΆ5ΜΆ 0 days since ECS last broke Travis (bobdenotter, #1767)
Released: 2020-08-24
- Allow collections to include extension fields (I-Valchev, #1761)
- Bugfix/support db without json (I-Valchev, #1760)
- Prevent breakage when trying to excerpt a Field (bobdenotter, #1759)
- Make "required" for Date fields work (bobdenotter, #1747)
- Add "Number" and "Date" fields (bobdenotter, #1742)
- Make multivalue filter with content fields (I-Valchev, #1733)
- Remove services before
composer remove(I-Valchev, #1726)
- New
pagedirective for setcontent to override the current page setting (I-Valchev, #1738) - Current filter works for locale (I-Valchev, #1737)
- Add
url_decodeTwig Filter (bobdenotter, #1732)
- Tweaking default Skeleton theme (bobdenotter, #1751)
- Remove the hover on the left-hand side logo (bobdenotter, #1750)
- Make relative dates work for fields that have an underscore in their name (bobdenotter, #1748)
- Clean up and refactor
SelectQuery(I-Valchev, #1744) - Update contenttypes.yaml comments documentation (I-Valchev, #1741)
- modification to SelectQuery.php related to #1619 (JTNMW, #1739)
- Remove
JSON_CONTAINSfromdoctrine.yaml(bobdenotter, #1736) - Rename
renderTemplateto render for consistency withAbstractController(bobdenotter, #1735) - Set filter in "Templateselect" to a regex by default (bobdenotter, #1730)
- add Slug field UTF-8 and Transliteration Support (denis-gorin, #1723)
- Use translated bootbox (nestordedios, #1720)
- Add "Article" and "Redactor" to contentfixtures (bobdenotter, #1756)
- Fix ECS π (bobdenotter, #1731)
Released: 2020-08-14
- Output Fields correctly, when using the Fields Block (bobdenotter, #1709)
- Don't let Vue parse Twig tags when editing content (bobdenotter, #1708)
- Improve Sanitiser. Sanitise fields on save. (I-Valchev, #1699)
- Replaced hardcoded
/byDIRECTORY_SEPARATOR(colorando-de, #1716) - Merge addition of Spanish (πͺπΈ) translations into master (nestordedios, #1714)
- Fix 'custom' Fields showing up with their Label, if
_fields.twigis used. (bobdenotter, #1707) - Pager uses default listing records, if available. (I-Valchev, #1705)
- Allow for
variant: inlinefor most fields (bobdenotter, #1704) - Allow Fields added in extensions to show up in Sets and Collections (bobdenotter, #1703)
- Refactor relations to be properly bidirectional (I-Valchev, #1702)
- Use embed without
rawfilter (I-Valchev, #1701) - Enforce unique slugs (I-Valchev, #1710)
- Cleanup for "Should Field be rendered as Twig?" (bobdenotter, #1711)
Released: 2020-08-09
- Thumbnailing works with only width or only height (I-Valchev, #1692)
- Localize submenu buttons (I-Valchev, #1689)
- Fix menu
item|currentin _menu.html.twig (I-Valchev, #1688) - Do not use taxonomy values. Use them as defined (I-Valchev, #1683)
- Prettify thumbnail paths. Use Bolt 4 cropping options (I-Valchev, #1679)
- Child fields can render html by default, without
|rawfilter (I-Valchev, #1673)
- Feature/orderby taxonomies (I-Valchev, #1694)
- Allow textarea
heightoption (I-Valchev, #1691) - Show detailed localization for fields containing subfields (I-Valchev, #1685)
- Optimise
selectedfilter to fetch records with a single DB call (I-Valchev, #1695) - Set user status, confirm user delete, select scalar value (I-Valchev, #1686)
- Merge move concatenated 'website' string to translation file into master (nestordedios, #1678)
- Deprecate
translatedfilter in favour oftranslate(I-Valchev, #1677)
- Fix missing files from
.gitignore(bobdenotter, #1682) - Some minor code improvements (I-Valchev, #1674)
Released: 2020-08-01
- Fix set field being localizable (I-Valchev, #1662)
- Use
currentfilter to check if menu item is this page (I-Valchev, #1659) - Make Sanitiser obey allowed tags and attributes from
config.yaml(bobdenotter, #1648) - Pass on Query parameters to subrequest from Homepage (bobdenotter, #1645)
- Don't output common Fields twice (in "block output helper") #1671)
svgfilter outputs raw svg file (I-Valchev, #1661)- Allow extensions to have an
installmethod, which is called on installation (to install assets, for example) (bobdenotter, #1656) - Allow for extensions to add new FieldTypes (bobdenotter, #1649)
- Allow for custom
500 Internal Server Errorpages. (bobdenotter, #1647)
- Make
getFieldClassnamepublic so extensions can check if a Field exists (bobdenotter, #1669) - Add
image.extensionvalue (I-Valchev, #1668) FieldRepository::factorycan instantiate Extension fields (I-Valchev, #1667)- Allow auto-generated extension services to be overridden (I-Valchev, #1666)
- added various German translations (ymarkus, #1657)
- Update composer.json: Add
"public-dir": "public"(bobdenotter, #1650)
- Bump elliptic from 6.5.2 to 6.5.3 (dependabot[bot], #1670)
- Update
.htaccess, according to SF 5 defaults (bobdenotter, #1646)
Released: 2020-07-22
- Fix Errorcontroller adding Exception when it shouldn't. (bobdenotter, #1643)
- Make sure user default user status is set when instantiating entities from code (I-Valchev, #1641)
- We were a bit overzealous in removing the compilerpass. Turns out we do need
packages/bolt.yaml(bobdenotter, #1639) - Saving an edited file should keep input as-is (bobdenotter, #1637)
- Shuffle paginated records (I-Valchev, #1633)
- Fix
setcontentrandom directive to override anything else set by the OrderDirective (I-Valchev, #1630) - Make empty
multiselecttag invisible (I-Valchev, #1629)
- Add support for "403 Forbidden" pages (bobdenotter, #1635)
- Copy extension services and routes into Bolt (bobdenotter, #1634)
- Richer content format option (I-Valchev, #1628)
- Users extension prep (I-Valchev, #1618)
- Fix ECS and update config with sets (TomasVotruba, #1636)
Scrapped, due to #1639 and followup shenanigans.
Released: 2020-07-11
- Allow optional space in
QueryParameterParserbetween operand and keyword (bobdenotter, #1621) - Allow order by
numberfield correctly (I-Valchev, #1616) - Put
localedatetimewith previous format and deprecated notice. Uselocaldatewith new format (I-Valchev, #1612)
- Add
getuserwith aliasuserTwig function (I-Valchev, #1611) - Add
randomdirective tosetcontenttag (I-Valchev, #1606)
- Make the user-friendly notifications a bit more robust (bobdenotter, #1613)
- Optimize queries for taxonomies, following #1541 (JTNMW, #1619)
Released: 2020-07-04
setcontentreturns single for contenttype/id (I-Valchev, #1595)- Make sure form validation works with
data-patiencebuttons (I-Valchev, #1594) - Use humanized taxonomy name when creating new taxonomies (I-Valchev, #1591)
- Don't break line on date field with valueonly (I-Valchev, #1582)
- Allow "focus" parameter for excerpts of plain strings (bobdenotter, #1602)
- Relation factory (I-Valchev, #1597)
- Allow configurable
date_formatin config.yaml (I-Valchev, #1593) - Paginate users listing (I-Valchev, #1580)
- Refactor
setcontenthandles and directives (I-Valchev, #1599) - Use
taxonomy|linkfilter to get taxonomy links (I-Valchev, #1592)
- Chore: Updating NPM dependencies (bobdenotter, #1601)
- Sorry GitHub Actions π’ you are breaking too often (I-Valchev, #1598)
- Display Symfony version in "About" and
bolt:infoscreens (bobdenotter, #1586) - Allow both Symfony 4.4 and 5.1 for now (bobdenotter, #1579)
Released: 2020-06-29
- Slug regenerates on duplicate (I-Valchev, #1574)
- Include proper css for file uploader (I-Valchev, #1572)
- Ensure fields inside sets and collections have their correct definition (I-Valchev, #1571)
- Cache clear does not loop in Config (I-Valchev, #1570)
- Add defaultlocale to duplicate action twig (I-Valchev, #1569)
- Singletons return single Content result with
{% setcontent %}(bobdenotter, #1565) - Fix issue with undefined index 0 for a select field inside a a set (I-Valchev, #1562)
- Allow "Homepage" to be in viewless ContentType (bobdenotter, #1549)
- Make sure contenttypes routes are updated after changes to contenttypes.yaml (I-Valchev, #1548)
- After adding
symfony/proxy-manager-bridge, table prefix went missing (bobdenotter, #1545) - Ensure
$this->fieldsis initialised (For Fields that haven't been accessed before) (bobdenotter, #1544) - Slugs follow
localizesetting (I-Valchev, #1543) - Re-set
setSingleFetchModeto ensure returning a pager, if needed (bobdenotter, #1576)
- Save content on ctrl+s and cmd+s (I-Valchev, #1573)
- Update to Symfony 5.1 ππ (bobdenotter, #1546)
- Better UI for dragging in multiselect (I-Valchev, #1550)
- GitHub Actions workflow (I-Valchev, #1575)
- Better feedback on bolt:setup errors (I-Valchev, #1551)
- Allow both Symfony 4.4 and 5.1 for now (bobdenotter, #1578)
Released: 2020-06-22
- Use currently rendered locale in OrderDirective (I-Valchev, #1529)
- Ensure
$boltConfigis set for Controllers in extensions (bobdenotter, #1527) - Don't "warm up" cache on
composer update, to save time and prevent dreadedProcessTimedOutExceptionafter 10 seconds.. (bobdenotter, #1526) - Datefield uses global
appto access user locale (I-Valchev, #1521) - Make sure sets inside collections are instantiated with actual values (I-Valchev, #1520)
- User edit actions require valid csrf tokens (I-Valchev, #1532)
- Warn editors about file upload errors (I-Valchev, #1531)
- Make sure
currentlocaleon edit is always set (I-Valchev, #1530) - Make canonical record URL consistent across routes (I-Valchev, #1511)
- Localization tests for saved changes in different locales (I-Valchev, #1516)
- More integration tests for localized content (I-Valchev, #1509)
Released: 2020-06-18
- Add Global search to backend (bobdenotter, #1498)
- Add ability to override routing with record_route (I-Valchev, #1484)
- Sort multiselect fields with drag and drop (I-Valchev, #1481)
- Fix current locale to be correct (I-Valchev, #1499)
- Fix: Don't show spinners on invalid form submissions (bobdenotter, #1497)
- Better check for maximum filesize (bobdenotter, #1495)
- Fix Imagelist alt 'true' issue. Clean up Vue components (I-Valchev, #1494)
- Include homepage record in Twig globals (I-Valchev, #1491)
- Don't break on missing Collection Fields (bobdenotter, #1490)
- Make Collection Field properly Iterable (bobdenotter, #1485)
- Fix capitalisation in groups (bobdenotter, #1479)
- Display the Set field correctly in the Editor when new field is added after saving record (I-Valchev, #1471)
- Fix excerpt length (bobdenotter, #1469)
- Update
getContentTypeName(), addgetContentTypeSingularName()(bobdenotter, #1468) - Placeholder in Image Field is not clickable if empty (bobdenotter, #1505)
- Hide one of two groups of record action buttons on mobile (I-Valchev, #1501)
- Fixing some more deprecations (bobdenotter, #1478)
- Use new Symfony Error Controller, instead of Twig's old one. (bobdenotter, #1477)
- Fixing some deprecations (bobdenotter, #1475)
- Two more deprecations fixed! (bobdenotter, #1480)
- Tests/twig (I-Valchev, #1502)
Released: 2020-06-10
- Add
babdev/pagerfanta-bundle,squirrelphp/twig-php-syntax(bobdenotter, #1466)
- Fix setting of
is_writablewhen submitted Yaml syntax is incorrect (bobdenotter, #1465) - Intersect child fields with parent definition (I-Valchev, #1464)
- Correct
type: checkboxField fixtures (I-Valchev, #1463) - (Real) fix for
htmllang()default locale (I-Valchev, #1462) - Make sure list field
|lengthfilter works as expected (I-Valchev, #1455) - Better check for
isSpecialPageifhomepage:is set to a contenttype (listing) (bobdenotter, #1451)
- Fix
ObjectManagernamespace for fixtures (phpstan complaining) (I-Valchev, #1456) - Bump
websocket-extensionsfrom0.1.3to0.1.4(dependabot[bot], #1450)
Released: 2020-06-06
- Make sure editing text fields triggers slugify (bobdenotter, #1440)
- Fix
htmllang()when no locales defined (I-Valchev, #1439) - Fix for windows not handling
%kin timestamp strings properly (bobdenotter, #1448)
- Remove locale setting from bolt config (legacy) (I-Valchev, #1441)
- Remove old field types (I-Valchev, #1433)
Released: 2020-06-02
- Fix collections visibility (I-Valchev, #1429)
- Localize collections with easier contenttype config (I-Valchev, #1434)
- Allow comparison for scalar fields (bobdenotter, #1428)
Released: 2020-05-31
- Don't show Fields that were removed from the ContentType definition (bobdenotter, #1426)
- Unescape Vue input fields (bobdenotter, #1425)
- Save non-localizable in correct default locale (I-Valchev, #1424)
- Forbid templateselect inside collection. Fix forbidden fields check. (I-Valchev, #1423)
- Pretty
record|linkwhen localization is enabled (I-Valchev, #1421) - Allow for parsed dates like "Today" or "in 3 weeks" (bobdenotter, #1418)
- Update file listing screen: Lazy loading, paginator, other improvements (bobdenotter, #1413)
- Make sure you can iterate over collection with one field (I-Valchev, #1412)
- Allow
xas well asΓin thumbail URLs (bobdenotter, #1411)
- Image and File fields support twig
is emptytest (I-Valchev, #1419)
- Adding spinners and disabling buttons to indicate the user might have to wait a few seconds (bobdenotter, #1414)
- Add
ListServices()method to ServiceTrait (bobdenotter, #1406)
- Add
composer/package-versions-deprecated(bobdenotter, #1416)
Released: 2020-05-24
- View saved version in current edit locale (I-Valchev, #1388)
- Break slightly less when adding new contenttypes (bobdenotter, #1386)
- Format title works without breaking on new content. Sorting content by title uses format_title. (I-Valchev, #1385)
- Persist non-translatable field with correct default locale (I-Valchev, #1384)
- Add Configuration Notices extension (bobdenotter, #1391)
- Display upload limits and better feedback on failure (bobdenotter, #1404)
- View content type button on hover (I-Valchev, #1400)
- Get taxonomy by slug (I-Valchev, #1397)
- Wrap list fields with 1 element in array (I-Valchev, #1396)
- Minor CSS changes, update Symfony Encore (bobdenotter, #1392)
- Users page uses abbr relative date (I-Valchev, #1382)
- Add todo to stop selenium server process (I-Valchev, #1393)
- Use selenium and chromedriver as composer dev dependencies (I-Valchev, #1387)
- Updates for skeleton theme (bobdenotter, #1403)
- Working on Skeleton Theme (New.css instead of Sakura) (bobdenotter, #1401)
Released: 2020-05-17
- Improve
title_formatand addexcerpt_formatattribute in ContentTypes (bobdenotter, #1352) - Add length attribute for
|titlefilter (bobdenotter, #1349)
- Refactor required attribute to be bool, not int (I-Valchev, #1368)
- Return correct exit status for cache:thumbs, bolt:reset-secret and bolt:info (I-Valchev, #1366)
- Files extras tests (I-Valchev, #1367)
- Update README - Note about
var/data/bolt.sqlite(bobdenotter, #1364)
- Composer dep updates (bobdenotter, #1380)
- Don't fail on 'Textarea' when it exists (I-Valchev, #1377)
- NPM Updates, fixing tests (bobdenotter, #1376)
- Updating some Easy Coding Standards settings (bobdenotter, #1350)
- Adding the new Changelog! (bobdenotter, #1348)
- Update tests readme with up-to-date instructions (I-Valchev, #1346)
- Release 4.0.0-RC.18 (bobdenotter, #1344)
- Tweaking a bunch of small things: Margins, paddings, minor UX thingies (I-Valchev, #1369)
Released: 2020-05-01
- Fix flawed logic in Setcontent test page (bobdenotter) #1342
- Sidebar priority fixed on mobile too (I-Valchev) #1341
- API works if no viewless CTs exist (I-Valchev) #1338
- Update content updated successfully message (I-Valchev) #1331
- Invalidate localized menu cache (I-Valchev) #1326
- Update
Field.php: foreign key constraint issue affecting Collections and Sets (JTNMW) #1325 - Record link filter persists current locale (I-Valchev) #1316
- Record canonical URLs are unique for
recordandrecord_localeroutes (I-Valchev) #1315 - Backend menu caches localized (I-Valchev) #1314
- Admin can duplicate a file (I-Valchev) #1313
- Require confirmation to delete collection item in editor (I-Valchev) #1343
- Better
isHomepagedetection for singletons (bobdenotter) #1337 - Make it so
homepage:accepts a singleton, or a contentType listing (bobdenotter) #1336
- Fix phpstan failing on parser::create (I-Valchev) #1339
- Working on NPM bitrot - attempt 2 (bobdenotter) #1335
- Tidy up Twig RelatedExtension (I-Valchev) #1328
- Remove unused Bolt\Entity\Field import (I-Valchev) #1327
Released: 2020-04-19
- Fix flawed logic in Setcontent test page (bobdenotter) #1342
- Sidebar priority fixed on mobile too (I-Valchev) #1341
- API works if no viewless CTs exist (I-Valchev) #1338
- Update content updated successfully message (I-Valchev) #1331
- Invalidate localized menu cache (I-Valchev) #1326
- Update
Field.php: foreign key constraint issue affecting Collections and Sets (JTNMW) #1325 - Record link filter persists current locale (I-Valchev) #1316
- Record canonical URLs are unique for
recordandrecord_localeroutes (I-Valchev) #1315 - Backend menu caches localized (I-Valchev) #1314
- Admin can duplicate a file (I-Valchev) #1313
- Require confirmation to delete collection item in editor (I-Valchev) #1343
- Better
isHomepagedetection for singletons (bobdenotter) #1337 - Make it so
homepage:accepts a singleton, or a contentType listing (bobdenotter) #1336
- Fix phpstan failing on parser::create (I-Valchev) #1339
- Working on NPM bitrot - attempt 2 (bobdenotter) #1335
- Tidy up Twig RelatedExtension (I-Valchev) #1328
- Remove unused Bolt\Entity\Field import (I-Valchev) #1327
- Preparing release 4.0.0-rc.17 (bobdenotter) #1312
Released: 2020-04-13
- Feature/badges for special pages (bobdenotter) #1311
- Add Labels for statuses (bobdenotter) #1310
- Api filter updates (technicallyerik) #1309
- API shows published and viewless: false content only (I-Valchev) #1305
- Mass delete on last page does not break. Content listing redirects to last page if requested page exceeds max (I-Valchev) #1304
- New "Create new..." link has correct href (I-Valchev) #1303
- Add missing labels to bulk actions (I-Valchev) #1302
- Field::getValue() returns defaultLocale value (if current locale value is empty empty) for non-localizable fields (I-Valchev) #1300
- Get correct field value depending on localization settings (I-Valchev) #1299