Releases: area17/twill
Twill 2.8.0-beta.2
Added
- Twill composer packages
#1446
- Url field type
#1514
- Browsers are now supported by connected fields
#1399
Fixed
- Fixed regression with repeaters in updated block system
#1518
- Fixes visual issue when using limitHeight on a wysiwyg field
#1509
- When refreshing crops, block crops are now included
#1517
Full Changelog: 2.8.0-beta.1...2.8.0-beta.2
Twill 2.8.0-beta.1
Added
- Laravel 9 support
#1243
- Twill block classes to support block render data, validation and more
#1421
- Repeaters and blocks are now updated instead of recreated
#1431
- Improved translatable fields validations
1411
Fixed
- Update Refresh Crops command to take in consideration the MorphMap
#1485
- Get image size from uploaded file instead of stored file
#1412
- Fix unauthenticated user 500 error when using custom error handler
#1449
- Fix exception for missing repository in related browser
#1405
- Do not show changed dialog when content is identical
#1359
- Improved performance when many fields/languages are used
#1350
Documentation
- Added more guides
#1473
Full Changelog: 2.7.0...2.8.0-beta.1
Twill 2.7.0
Twill 2.7.0 is a non-breaking release bringing a lot of cool new features, fixes, and improvements.
Special credits go to @haringsrob for his amazing work during the past few months! ❤️
Much more to come with Twill 2.8.0, with Laravel 9 support, which we're going to tag a beta for next week, and Twill 3.0, which is already well underway, as you can see for yourself in our new public roadmap powered by the amazing GitHub Projects features.
HOW TO UPDATE
Run composer update
in your project and then, run Twill's own update command: php artisan twill:update
. This will force update your published Twill assets. You can delete the old ones from your repository if you are versioning them. If you are using custom Vue components, you should rebuild Twill assets using php artisan twill:build
.
Added
- When in debug mode and a crop is missing an exception will be shown
#1351
- When admin account creation failed, and error is now shown
#1114
- Add an option to set
$controlLanguagesPublication
in the listing layout that can be used to disable language
publication controll in the create modal#1468
- You can now control the revision label from the revisionsArray method on the model
#1467
- Validations can now be created for repeaters
#1156
- Max amount of repeaters can now be set from the field rather than the repeater itself
#1433
- Added an option to automatically seed singletons
#1456
Fixed
- Fixed regression where slugs were not checked if unique
#1381
- Repeater Collapse All only works once
#1330
- Ensure correct button messages when skipping modal on new content creation
#1324
- Allow media to be deleted when used model is removed
#1160
- Ensure default values are set for radios in the vuex store
#1100
- Ensure LQIP data is always available
#1352
- Add typecasting to select dropdown for settings support
#1203
- Move development specific autoload components
#1391
- Repeaters no longer expand when adding a new item
#1461
- Notes are now rendered in media fields
#1443
- When updated_at is empty, it now falls back to the created_at timestamp
#766
- When cloning a block, the new block is dereferenced from the original
#1410
- Improved content scheduling
#1307
- Fixed 500 error if google analytics data is empty
#1470
- Fixed not all Translations were loaded within editInModal
#1469
- Improved missing "disabled" implementations for various fields
#836
Documentation
- Added documentation for permalinks
#903
#1092
- Added documentation for custom media metadata
#1031
- Added documentation for singleton modules
#1231
- Added guide on how to customize the create modal
#1436
- Improved documentation for field grouping
#1214
- Added documentation for side fieldsets
#1420
- Added documentation for the tags field
#1375
Translations
New Contributors
- @YasienDwieb made their first contribution in #1316
- @kallefrombosnia made their first contribution in #1374
- @amargoCactus made their first contribution in #1461
- @adam-riha made their first contribution in #1466
Full Changelog: 2.6.0...2.7.0
Twill 2.6.0
Twill 2.6.0 is a non-breaking release bringing a lot of cool new features, fixes and improvements, especially for developers:
-
we introduced new Artisan commands, and new options were added to existing commands:
twill:make:singleton
will help you with standalone forms that can use all Twill modules features. They are a great replacement for sometimes lacking settings pages.- the new
--hasNesting
option of the modules CLI will fully configure self-nested modules for you. No more snippets to copy and paste from the docs. twill:refresh-crops
can apply your newmediasParams
configuration so that your crops are immediately available without using the CMS UI.
-
to render images, we added support for TwicPics. They are an amazing French-based alternative to Imgix that you can try through their free plan which offers up to 3GB of CDN bandwidth, with unlimited master images and transformations.
-
our documentation site has been separated into individual pages for better browsability and is now leveraging a couple more features from VuePress to improve collaboration. We hope this is a helpful change alongside all the new additions. More to come!
-
Turkish translations were added, and German and Italian translations were updated by our amazing contributors!
-
and a ton more fixes and improvements, check out the full changelog below!
Thank you to all our contributors and community members for their amazing support this year! We hope you all have a great end of 2021, see you in 2022! 🚀
HOW TO UPDATE
Run composer update
in your project and then, run Twill's own update command: php artisan twill:update
. This will force update your published Twill assets. You can delete the old ones from your repository if you are versioning them. If you are using custom Vue components, you should rebuild Twill assets using php artisan twill:build
.
Added
- Artisan command
twill:make:singleton
to generate single-record modules#1178
- Option
--hasNesting
to generate self-nested modules#1140
#1222
- Artisan command
twill:refresh-crops
to generate missing crops#1289
8b1e4f6d
- TwicPics image service
#1217
ce15c4a5
- Turkish language support
#1134
- Support for translated permalinks in the title editor
#1092
- Support for capsule service providers
#1212
- Auto detect latitude-longitude value in location field
#1275
#1170
- Adds the ability to display an indexColumn selected from a relatedBrowser
#1302
Fixed
- Support attribute casting on model and translations with JSON field groups
#1151
- Support dynamic repeater titles with JSON repeaters
#1171
- Fix admin HTTP exception views detection
#1213
- Prevent conflicts with built-in Vue component names
#1164
- Add fallback to capsule model in permalink base
#1216
- Add
doctrine/dbal
3.0 support#1226
- Ensure capsule autoloading when config is cached
#1242
- Fix edit link feature regression in Quill WYSIWYG
#1270
- Remove references to deprecated Symfony class
#1269
- Prevent undefined route errors in IconsController
#1268
- Fix typo in
twill:capsule:install
command#1290
- Initialize undefined crops in cropper UI using first available ratio
#1258
- Fix
byKey()
setting query when passingsection
argument#1303
- Remove duplicate test stub class
#1311
- Fix destroy action on single nested items
#1304
- Prevent multiple AJAX requests in Block Editor previews
#1282
- Fix singleton routing for primary and secondary navigation support
#1325
- Use case insensitive like operator in filterHandleTranslations for PostgresSQL support
#1322
Improved
- Update routes mapping order to allow overrides
#1133
- Handle many-to-many relations in index columns
#1174
- Add
capsule_repository_prefix
configuration#1209
- Support custom port in
dev_mode_url
configuration#1163
- Support additional table actions in module listing
#1202
- Show red input count only if above 90% capacity
#1237
- Collapse repeater blocks on page load
#1296
- Update nested module count pluralisation
#1251
- Support
titleKey
parameter inrelatedBrowsers
configuration#1301
- Update
HasSlug
to use Eloquent instead of DB facade#1309
- Update german translations
#1235
- Update italian translations
#1312
- Update docblock annotations
#1167
- Update documentation
#1165
#1244
#1236
- Add pagination and a few more quality of life updates to the documentation
#1131
Chores
New Contributors
- @MarcelWeidum made their first contribution in #1165
- @chrispymm made their first contribution in #1171
- @madalinignisca made their first contribution in #1133
- @afatmustafa made their first contribution in #1134
- @MamlukiSn made their first contribution in #1092
- @haringsrob made their first contribution in #1212
- @fabianfetting made their first contribution in #1235
- @avramch made their first contribution in #1244
- @freshleafmedia made their first contribution in #1251
- @bosix made their first contribution in #1296
- @neklein made their first contribution in #1304
- @AleksanderHideolab made their first contribution in #1312
Full Changelog: 2.5.2...2.6.0
Twill 2.5.3
Twill 2.5.3 is addressing a security vulnerability flagged on huntr.dev: a logout could be triggered from an external link, which is more an annoyance for users than a true security concern. Still important to fix, which we did!
Stay tuned for Twill 2.6.0 in the next couple of days! You can review what's upcoming in our changelog or test it using 2.x-dev
in your composer.json.
Fixed
Twill 1.2.5
Twill 1.2.5 is backporting a fix introduced in 2.5.3, which is addressing a security vulnerability flagged on huntr.dev: a logout could be triggered from an external link, which is more an annoyance for users than a true security concern. Still important to fix, which we did!
Fixed
Twill 2.5.2
Twill 1.2.4
Twill 2.5.1
Fixed
Twill uses it's own internal exception handler for controllers extending
A17\Twill\Http\Admin\Controller
andA17\Twill\Http\Front\Controller
, to support unauthenticated requests redirection, custom error views and custom validation error responses.To be able to render custom exceptions or report them to an external service on a route that is mapped to Twill's controller, it is necessary to disable
twill.bind_exception_handler
. Your Laravel handler can then extend Twill's internal handler.The reasoning behind assigning a custom handler to the FrontController is to be able to redirect unauthenticated requests to
/admin-preview
routes that are registered by theshowWithPreview
route macro. This is the url showing in the CMS permalink when a record is still a draft. Not many Twill users are leveraging this frontend tooling, but it exists, so wanted to provide the rationale behind all this.This change is resolving an issue for users that were previously extending the handler for the reasons explained above, as well as making sure custom Twill errors views are automatically in use on the admin routes.
Twill 2.5.0
Twill 2.5.0 is a non-breaking release bringing a lot of cool new features and improvements, especially around the block editor, which can now be used multiple times in the same form, thanks to the work that was started a while back by @m4n1ok, now fully completed by @ptrckvzn.
This release also addresses multiple core issues and needs that have been reported by Twill users, as in content publishers and designers, not just developers.
16 participants have contributed to this release:
@peterabarry, @sebastianlenton, @mrdoinel, @mazeeblanke, @Keimeno, @joyceverheije , @domihagen, @pboivin, @Dmi3yy, @shawkiIIalasy, @m4n1ok, @ptrckvzn, @antonioribeiro, @mattdinthehouse, @daun, @ifox.
Special mention goes to @pboivin for his extremely thoughtful and productive work on Twill over the last couple of months. More to come for Twill from this amazing collaboration!
HOW TO UPDATE
Run composer update
and php artisan migrate
in your project and then, run Twill's own update command: php artisan twill:update
. This will force update your published Twill assets. You can delete the old ones from your repository if you are versioning them. If you are using custom Vue components, you should rebuild Twill assets using php artisan twill:build
.
Added
- Block editor updates
- Form fields updates
- Border option for 'radios' and 'checkbox'/'checkboxes' field
#1088
- Columns option for 'radios', 'select', 'checkboxes' and 'multi_select' fields
#1088
- Time picker form field
42d1880a
969e800c
- Option to make multi select searchable
bbead399
- Automatic input direction for RTL languages
e8a60d0f
318834c8
2b183493
- Click-to-place on the Location field's map
e48245aa
- Support inverse HasOne relationship for BelongsTo browsers
d1b67fa7
f1e6efc1
4f791c66
- Border option for 'radios' and 'checkbox'/'checkboxes' field
- Capsules updates
- General updates
Fixed
- Prevent submitting a form before saving an input into the store
#1030
- Prevent multiple submit events in add/create modals
3dfb0c8f
cb38ba53
40248552
- Fix incorrect position of link edit options in wysiwyg editor when height limit is set
f8276462
- Ensure pasting content in quill do not make editor scroll to the top
07f7aa00
51302a15
- Safari form submit issue in Filter component
29a1f227
91390ac2
- Support revisions preview and restore with belongsTo browsers
#984
#1085
- Toggle media library unused checkbox on clear only if active
d73ff3eb
- Order files by fileable id
d7df01bf
- Register capsules routes before Twill internal routes
c1acb981
- Issues when extending Twill's exceptions handler
itca7a650e
- Support multi-country locales on Translatable
c5b341d4
5d9c9953
- Fix Exception Handler broken for Laravel 8
569ce2e6
ce58aae5
76890ffa
Improved
- Update browser documentation
b7e288db
bd9f7aeb
1f9127b8
71a505f9
4e04639d
- Update repeater field documentation
f32ddc1a
8f58d422
03dcfbd8
22dfaa49
f252727d
- Add HandleRelatedBrowsers to ModuleRepository
4c3db071
- Update french lang file
9517ff44
- Display publishable languages labels using the currently set locale
e4dcfe3d
- Move icon svg files to blade files
cf73e2fe
- Update model stub default crops
9ab7977c
4ccca727
- Add an axios global error handler to warn on session expired
c626a143
ed6164dc
3c78c933
- Prevent console errors when using custom admin pages
e1f606d6
- Missing lang keys
e408fa77
14f7212c
- Table aliases in Eloquent scopes
1d98f3b8
c37d5654
- Remove permalink field in modal if module has no slugs
cfaabe47
c0649443
7bcd3d85
- Tests suite for browsers
7c0bad69
d529cb48
2a862e0c
01fb29e0
f15034fa
99dde9c4
3d45a04b
2b6cefcd
d7e83e60
54517646
8aa2ca60
9c408428
deeaf4e3
9ee6a91f
- Complete German translations
7c6c94e2
66126b45
279e0b5e
8e982618
8de83a16
[a26ac6d4
](https://github.com/area...