Releases: area17/twill
Twill 3.4.1
Twill 3.4.1 is a patch release addressing minor regressions in Twill 3.4.0.
Improved
- Allow media and file library disk configuration using an environment variable by @antonioribeiro in #2676
Fixed
- Fix #2671: 3.4.0 regression on related browsers previews by @Tofandel in #2672
- Fix #2674: 3.4.0 regression on relation column using a one-to-one relationship by @Tofandel in #2675
Full Changelog: 3.4.0...3.4.1
Twill 3.4.0
Twill 3.4.0 is a minor release addressing various bugs, regressions, and edge cases.
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. If you are versioning them, you can delete the old ones from your repository. If you are using custom Vue components, you should rebuild Twill assets using php artisan twill:build
.
Added
- Add
searchQuery
method to controller for finer control over the search by @Tofandel in #2614 - Add
clearable
method to select form field by @zeezo887 in #2581
Improved
- Rethink the way the error handler works by @Tofandel in #2612
- Improve related save by @Tofandel in #2599
- Limits Access Key exposition to S3 storage by @luislavena in #2611
- Don't load relation for each column and allow dot notation in field name for index table by @Tofandel in #2603
- Filter - Select: expand to the longest option by @mrdoinel in #2627
- Preview: Update default width value for the mobile preview (to a more realistic value) by @mrdoinel in #2624
Fixed
- Fix trim function to get corresponding input by @DCrepper in #2609
- Fix published scope by @Tofandel in #2606
- Fix sync of medias and files with multiple fields by @Tofandel in #2628
- Fix positioning of the close button in media library tags by @mrdoinel in #2626
- Fix search functionality for buckets by @zeezo887 in #2661
- Fix #2650: Added parentheses to fix the order of evaluation between t… by @HarryThe3rd in #2651
- Fix deleted users causes error 500 by @Tofandel in #2643
- Fix wrong crops for Blocks in
twill:refresh-crops
by @ptrckvzn in #2642 - Fix server error in the dashboard when a nested module has a deleted parent by @Tofandel in #2633
- Fix slugs are not created when saving models outside of Twill or when duplicating by @Tofandel in #2618
- Fix repeaters are registered without a populated item by @Tofandel in #2605
- Fix block previews don't update when browser items are added or changed by @zeezo887 in #2535
- Fix weird behaviour of slugs table active column by @zeezo887 in #2531
- Fix blocks take crop settings from parent model if name is the same by @zeezo887 in #2542
- Use strict check for is null, as it otherwise causes empty arrays to not have any field by @Tofandel in #2604
- Rename moduleName variable in permissionModules loop by @zeezo887 in #2635
- Ensure catch-all routes do not take precedence by @ifox in #2669
Docs
- Update one-to-many docs to use correct Artisan command by @daisonth in #2615
- Fix basic page builder guide block file reference by @amiraezz in #2630
Translations
- Update both Portuguese from Brazil and Portugal by @antonioribeiro in #2602
- Improved i18n: added missing translation key (#2616) and improved German translations by @C2H6-383 in #2634
Chores
- Upgrade GitHub Actions artefact upload to v4 by @ifox
- Bump webpack from 5.91.0 to 5.95.0 by @dependabot in #2665
- Bump body-parser and express by @dependabot in #2659
- Bump cookie and express by @dependabot in #2664
New Contributors
- @luislavena made their first contribution in #2611
- @DCrepper made their first contribution in #2609
- @daisonth made their first contribution in #2615
- @HarryThe3rd made their first contribution in #2651
- @C2H6-383 made their first contribution in #2634
- @amiraezz made their first contribution in #2630
Full Changelog: 3.3.1...3.4.0
Twill 3.3.1
Twill 3.3.1 is a patch release addressing compatibility with doctrine/dbal
4 on Laravel 11.
Fixed
Full Changelog: 3.3.0...3.3.1
Twill 3.3.0
Twill 3.3.0 is a minor release adding support for Laravel 11 and addressing various bugs and edge cases.
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. If you are versioning them, you can delete the old ones from your repository. If you are using custom Vue components, you should rebuild Twill assets using php artisan twill:build
.
Added
- Laravel 11 support by @ifox in #2473
- Add support for
medias
fields in JSON repeaters by @zeezo887 in #2554 - Add support for multiple JSON repeaters (of the same type) in one form by @zeezo887 in #2517
- Add support for nested module on the dashboard by @zeezo887 in #2547
- Add
connectedTo
for inline repeater and documentation aboutconnectedTo
by @Tofandel in #2565 - Add error reporting to block rendering by @AidasK in #2580
- Allow
buttonAsLink
option on inline repeaters by @danieldevine in #2522 - Allow singular capsules on navigation by @antonioribeiro in #2572
Fixed
- Tags in media library are not refreshed while updating & browsing images by @zeezo887 in #2523
- Clicking cancel in the block editor deletes all the unsaved blocks by @zeezo887 in #2578
- Allow single deletion in form builder inline repeater by @zeezo887 in #2504
- Allow deleting media after records bulk destroy by @zeezo887 in #2519
- Allow case-insensitive search for translated models for postgres by @zeezo887 in #2528
- 404 error when restoring revision in nested modules by @zeezo887 in #2541
- Fix alt text stripping accents and single quotes by @Tofandel in #2514
- Changing twill user password in admin to use the laravel algo by @Tofandel in #2582
- Undefined variable $formBuilder error when extending form layout in custom pages by @zeezo887 in #2577
- Error with time-picker when
allowInput
is true by @zeezo887 in #2576 - Don't delete and recreate existing
mediables
andfileables
by @Tofandel in #2567 - Make
twillTrans
exportable so it can be used in config by @Tofandel in #2563 - Table builder
Browser
column overrides parent module field by @zeezo887 in #2506 - Disable heading extension if it's not in the Tiptap toolbar by @Tofandel in #2511
- Relation field of datatable does not allow sorting by @zeezo887 in #2526
- Default login redirect to admin url by @Tofandel in #2569
- Different datetime parsing for publish date on listing and edit screen by @zeezo887 in #2510
- Fix created at is null in slug table by @Tofandel in #2588
Docs
- Fix typo by @k-msalehi in #2564
- Change
admin.
route totwill.
by @LucaRed in #2585 - Prettify instructions and add the capsules>list array keys to improve DX by @antonioribeiro in #2527
- Update twill version during installation by @Mavv3006 in #2584
Chores
- Refactor form services to avoid repeating code by @Tofandel in #2553
- Bump express from 4.18.2 to 4.19.2 by @dependabot in #2560
- Bump webpack-dev-middleware from 5.3.3 to 5.3.4 by @dependabot in #2556
- Bump follow-redirects from 1.15.5 to 1.15.6 by @dependabot in #2545
New Contributors
- @k-msalehi made their first contribution in #2564
- @AidasK made their first contribution in #2580
- @danieldevine made their first contribution in #2522
- @Mavv3006 made their first contribution in #2584
Full Changelog: 3.2.1...3.3.0
Twill 3.2.1
Twill 3.2.1 is a patch release addressing a bug with filters due to a breaking change in Axios 0.28.0.
Stay tuned for Twill 3.3.0, we're making a lot of progress on our roadmap! 🚀
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. If you are versioning them, you can delete the old ones from your repository. If you are using custom Vue components, you should rebuild Twill assets using php artisan twill:build
.
Fixed
Full Changelog: 3.2.0...3.2.1
Twill 3.2.0
Twill 3.2.0 is a minor release addressing various bugs and edge cases. It also adds a couple missing features to the Twill 3 form builder and a new command to help with Laravel morph maps references in Twill's tables.
Huge thanks to @Tofandel, a community contributor, for all his recent and ongoing contributions ❤️
This release is mostly brought by him as you can see in the changelog below!
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. If you are versioning them, you can delete the old ones from your repository. If you are using custom Vue components, you should rebuild Twill assets using php artisan twill:build
.
Added
- Allow dynamic title on
InlineRepeater
by @Tofandel in #2493 - Add command to update morph references in Twill tables by @joyceverheije in #2482
- Allow behaviors to load classes without being the main model of a capsule by @Tofandel in #2423
- Add missing step method on Twill 3 form builder input field by @zeezo887 in #2496
Fixed
- Fix error when updating a model after having enabled a new language in the config by @Tofandel in #2487
- Fix Twill model extensibility by @Tofandel in #2498
- Fix shrinking block counter by @Tofandel in #2501
- Fix single module browser definition by @Tofandel in #2474
- Fix incorrect method argument order when registering Twill capsule translation by @emanueljacob in #2477
- Fix preview mode when trying to preview a revision that contains a block that itself uses a blockable relation by @emanueljacob in #2484
- Fix custom callback of Image column by @Tofandel in #2494
- Fix js error if you grab a block but don't move it anywhere by @Tofandel in #2488
- Fix
getModulePermalinkBase
by @Tofandel in #2471 - Fix
getBaseNamespace
by @Tofandel in #2420 - Fix relative path traversal in docs dev server command by @ouuan in #2469
- Fix Vue draggable deprecations by @Tofandel in #2491
- Remove duplicate extensions already included in the TipTap starterKit by @Tofandel in #2486
Improved
- Fix documentation issues reported in #1804
- Remove HTML 4 and srcset polyfills by @Tofandel in #2430
- Remove deprecated zh, ji, iw and in locales to integrate Weblate (see #2492)
- Bump axios from 0.27.2 to 0.28.0 by @dependabot in #2480
New Contributors
Full Changelog: 3.1.0...3.2.0
Twill 3.1.0
Twill 3.1.0 is a minor release combining the effort of 40 contributors over the past few months! 🎉 This release brings in PHP 8.3 support, enhancements to the form builder, a lot of developer experience improvements, important bug fixes, and more—crafted carefully because we know how crucial stability is for your Twill projects, and ours, too!
Websites and applications #MadeWithTwill are running in production for major companies and institutions like OpenAI, Nike, the New York Times or the Art Institute of Chicago, and we certainly don't want to cause any issues on their platforms when upgrading Twill. For this reason, and because we truly care about our clients and our community, we reviewed each community contributions with a lot of attention and tested them in multiple Twill instances before tagging this release.
Huge thanks to every contributor, new and returning, for making this release possible. Check out the updates and let us know your thoughts. Your input is always welcome and keeps Twill growing and improving.
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. If you are versioning them, you can delete the old ones from your repository. If you are using custom Vue components, you should rebuild Twill assets using php artisan twill:build
.
Added
- PHP 8.3 support by @antonioribeiro in #2374
- Form builder connected fields support by @joyceverheije in #2323
- Glide image rendering service improvements for remote disks by @ifox in #2422
- Google Analytics 4 support in the dashboard by @lewiswharf in #2288
- Configurable preview breakpoints by @florrie-90 in #2299
- Automatically add
active
to$translatedAttributes
by @driftingly in #2401 - Block component classes support in the
BlockEditor
blocks
array by @joyceverheije in 8778ab7 - Add
excludeBlocks
option to theBlockEditor
fields by @pauldwight in #2409 - Add
readOnly
support to form builderInput
field by @zachgarwood in #2331 - Add
searchable
support to form builderSelect
field by @iedex in #2415 - Add
max
support to form builderInlineRepeater
field by @joyceverheije in 4a77386 - Add
direction
option toInput
andWysiwyg
fields by @13twelve in #2295 - Add alignment buttons to
TipTap
editor by @florrie-90 in #2305 - Add predefined class selection to
TipTap
link component by @zipavlin in #2336 - Add support for
titleInBrowser
andadminEditUrl
accessors inbrowsers
by @joyceverheije in 02ac019, ab8635f and 160e916 - Add
--factory
and--seeder
totwill:make:module
by @driftingly in #2402 - Add
Link
column type to table builder by @agnonym in #2376 - Add
routePrefix
support to nested breadcrumbs by @yamaha252 in #2312 - Add DI support for Twill Block
getData
method by @Afting in #2292 - Allow
QuickFilter
extension by @joyceverheije in 9c15b01 - Configurable permissions and roles table names by @Keania-Eric in #2350
- Configurable user creation with default role when using OAuth SSO by @joyceverheije in 14f8dd2
- Customizable title column's label by @Phiosss in #2318
- Current request only tertiary nav links support by @joyceverheije in d1c0699
- Multiple
nested
table columns support in the table builder by @yamaha252 and @joyceverheije in #2314 and 1edbfbb - Store position and render selected values ordered on multi selects fields by @haringsrob in #2204
- Update migration stub and existing migrations to use anonymous class by @driftingly in #2406
Fixed
- Fix
DatePicker
date selection by @ifox in 0e75172 - Fix Tiptap
Wysiwyg
click to focus area by @TimBlanchard in #2418 - Fix custom components registration by @joyceverheije in 7c23333
- Fix position value for blocks in non-default
BlockEditor
fields by @joyceverheije in #2381 - Fix incorrect order of nested items slug when item is more than 2 levels deep by @pauldwight in #2388
- Fix
parseInternalLinks
helper issues by @avinash403 in #2338 - Fix to reduce excessive number of queries when using Twill 3 settings by @bonroyage in #2369
- Fix legacy settings in Twill 3 by @joyceverheije in #2417
- Fix user list errors when deleting roles by @antonioribeiro in #2372
- Fix build error with custom icons by @emanueljacob in #2392
- Fix x-position of full height crops being reset at some ratios/screen sizes by @13twelve in #2297
- Fix fields/blocks/repeaters spacings by @ifox in 1a93fe4
- Fix active navigation check when a child module uses the same name as another module by @joyceverheije in f22eb35
- Fix create button alignment in listings by @ifox in 006f478
- Fix duplication when translated media fields are enabled by @petertsoisstuff in #2320
- Fix
getCapsuleForModel()
for when passing a Model object by @antonioribeiro in #2400 - Fix
keepAlive
on connected non localized fields by @joyceverheije in b1593c7 - Fix optional feature migrations publication by @Tofandel in #2384
- Fix related table name in migration down method by @droplister in #2290
- Fix scheduled filter label by @droplister in #2291
- Fix type of
$forceLocale
intranslatedInput()
by @pvdbroek in #2315 - Fix user role filter when using the standard permissions setup by @ifox in 6e89323
- Fix vselect component to align with design by @ifox in 6e89323
- Fix error when running
php artisan migrate:reset
by @NuktukDev in #2413 - Allow dashboard modules to wrap onto the next line by @florrie-90 in #2298
- Always include locale in the
mediables
pivot by @bonroyage in #2368 - Avoid unused data and hooks when using the default role level by @joyceverheije in 5d4060b
- Check user permission when displaying activity log items by @joyceverheije in 3526dca
- Don't load
DuskServiceProvider
if Dusk doesn't exist by @Tofandel in #2366 - Preserve default vselect value when undefined by @bwat-dev in #2311
- Prevent multi select options from being selected more than once by @florrie-90 in #2296
- Remove block actions in settings blocks by @ifox in 0bc5e75
- Support using a dot as
fieldsGroupsFormFieldNameSeparator
by @yamaha252 in #2277 - Turn move dropdowns off for settings blocks by @droplister in #2293
- Update migration helper for translations table by @sauron in #2327
- Updated namespace paths from
Admin
toTwill
on custom pages by @pauldwight in #2317 - Use custom model configuration in the relationship morph map by @redelschaap in #2408
- Use
pushOnce
builtin, remove custompushonce
directive by @mikerockett in #2301 - Use
twill.admin_route_name_prefix
configuration for all internal routes by @ifox and @raymondtri in #2286
Docs
- Add instructions on how to use the
browser
field with a custom pivot table by @poncianodiego and @ifox in #2385 - Changed example value to better reflect given example in fields group docs by @Viliasas in #2283
- Fix artisan command by @thecrazybob in #2365
- Fix typo in Building a frontend guide by @driftingly in #2396
- Fix typo in Content - Modules - TableBuilder by @agnonym in #2375
- Fix typo in create page module guide by @colegeissinger in #2367
- Fix wrong property name in nested modules docs by @Viliasas in #2282
- Updates to the docs for nested modules by @pauldwight in #2389
Translations
- Added Slovenian language to translations by @Neoglyph in #2373
- Update Dutch translations by @lindeVW in #2378
- Update German translations by @florianschrottenloher-iu in #2411
- Add all locales with translations to the user locale selector by @ifox in 6e89323
- Configure all locales with translations for date rendering and datepicker configuration by @ifox in eb21fa9
New Contributors
- @pvdbroek made their first contribution in #2315
- @yamaha252 made their first contribution in #2312
- @florrie-90 made their first contribution in #2299
- @petertsoisstuff made their first contribution in #2320
- @Viliasas made their first contribution in #2282
- @Keania-Eric made their first contribution in #2350
- @thecrazybob made their first contribution in #2365
- @colegeissinger made their first contribution in #2367
- @zachgarwood made their first contribution in #2331
- @Neoglyph made their first contribution in #2373
- @Tofandel made their first contribution in #2384
- @emanueljacob made their first contribution in #2392
- @driftingly made their first contribution in #2396
- @lindeVW made their first contribution in #2378
- @poncianodiego made their first contribution in #2385
- @redelschaap made their first contribution in #2408
- @avinash403 made their first contribution in #2338
- @Phiosss made their first contribution in #2318
- @lewiswharf made their first contribution in #2288
- @florianschrottenloher-iu made their first contribution in #2411
- @NuktukDev made their first contribution in #2413
- @Afting made their first contribution in #2292
- @TimBlanchard made their first contribution in #2418
Full Changelog: 3.0.2...3.1.0
Twill 3.0.2
Twill 3.0.2 is a patch release mainly addressing a pain point when rendering nested component-based blocks that were forcing developers to use non-standard views locations or duplicate views. It also continues improving the new form builder and fixes a bunch of issues in the documentation. Thanks to our community members for reporting and helping to address these issues!
Fixed
- Rendering of nested components blocks by @haringsrob in #2243
- Rendering of side form if it only contains fieldsets by @agnonym in #2234
- Title prefix support in component blocks by @haringsrob in #2252
- Icon support in component blocks by @agnonym in #2238
- Columns support for checkboxes and radios in form builder by @bonroyage in #2232
Options::fromArray
argument order by @bonroyage in #2231- Update package generator stub by @ifox in 78cc5b5
Documentation
- Fix activity log typo by @DanielSpravtsev in #2264
- Fix two misspellings by @skoontastic in #2250
- Fix typo in create modal docs by @lostdesign in #2262
- Update upgrade guide by @undersound in #2251
- Additional explanation on migration for Input field type by @tttogo in #2247
- Closing bracket missing by @kerkness in #2245
withFieldSets()
expects Fieldsets object, not a direct array by @agnonym in #2233- Fix 'tiwll' typo in docs by @ifox in 715bc6f
- Fix 'Larvel' typo in docs by @ifox in 8db541d
- Fix module make commands signatures addressing PHPStan error in 94733f1
New Contributors
- @skoontastic made their first contribution in #2250
- @DanielSpravtsev made their first contribution in #2264
- @lostdesign made their first contribution in #2262
- @undersound made their first contribution in #2251
- @kerkness made their first contribution in #2245
- @bonroyage made their first contribution in #2232
Full Changelog: 3.0.1...3.0.2
Twill 3.0.1
Fixed
- Fix Blade components resolution (causing an issue with Laravel Jetstream) by @haringsrob in #2223
Improved
- Add mobile nav to all docs site pages by @13twelve in #2224
- Fix WYSIWYG maxlength docs by @tttogo in #2226
- Form Builder docs: provide more explicit directions on Fieldsets by @tttogo in #2227
- Fix docs space coherence for the options by @agnonym in #2228
New Contributors
Full Changelog: 3.0.0...3.0.1
Twill 3.0.0
This is the final, stable release for Twill 3.0 🎉
The priorities for Twill 3.0 were clear. As Twill is a developer-focused CMS framework, we wanted to create an even better developer experience and improve our documentation. After 3 alpha releases, 2 beta releases, and 4 release candidates, we're proud to share that Twill 3.0 is now stable. Thanks to all community members that helped us refine it and major kudos to Rob Harings for the herculean effort over the past year!
Read more about this update on the new Twill CMS blog, and explore the updated documentation and guides!
HOW TO UPGRADE
Twill 3.0 offers a seamless upgrade process from Twill 2, using Rector to automate many steps and providing detailed documentation for smoother transitions. Read our upgrade guide.
Do not hesitate to reach out on GitHub or Discord if you have a specific use case or any trouble using Twill 3 with your existing application.
Breaking changes (since RC4)
- Prefix tables with
twill_
by @aksiome - Set tiptap as default WYSIWYG type when using blade components
Added (since RC4)
- Laravel 10 support by @haringsrob
- Add
fromArray
tooptions
by @aksiome - Float min, max and step props for numeric input by @iedex
- Add
source_path_prefix
to Glide ServerFactory by @matteovg7 - Allow using 0 as min or max for numeric input by @iedex
Fixed (since RC4)
- Fix phpdocs by @joyceverheije
- #2044|#1818: Improve repeater cloning. by @haringsrob
- Resolve repeater duplication issue. by @haringsrob
- Prevent erroring when permissions is not able to find disabled capsules by @antonioribeiro
- #2177: Fix renderForBlocks for columns. by @haringsrob
- Fix stretched image in browser field by @joyceverheije
- Fix duplicate action redirect route for nested parent-child modules by @agnonym
- Fix duplicate block duplicate with children by @agnonym
- Fix source edit not updateing the editor (Tiptap) by @iedex
- Fixing mistypes in ru localization by @Quarasique
Improved (since RC4)
- Twill 3.0 docs updates
- Enable resend email only when user is published by @joyceverheije
- #2154: Use scope. by @haringsrob
- 2179: Avoid recreating related items. by @haringsrob
- Update Environment Requirements
- Require kalnoy/nestedset as a non-dev dependency
- Update node version in CI
- Add database table names change to upgrade guide
New Contributors
- @galingong made their first contribution in #1717
- @kylegoines made their first contribution in #1908
- @deckchan made their first contribution in #1971
- @tuanbinhtran made their first contribution in #2012
- @vladimirmartsul made their first contribution in #2071
- @pauldwight made their first contribution in #2107
- @aksiome made their first contribution in #2140
- @iedex made their first contribution in #2188
- @matteovg7 made their first contribution in #2131
- @13twelve made their first contribution in #2187
- @Quarasique made their first contribution in #2208