area17/twill
Twill is an open-source Laravel package for building a custom CMS fast. It provides a polished admin UI with prebuilt features and Vue components, stays flexible and extensible, works headless or integrated, and lets you use your own models with no lock-in.
Twill 3.5.3 is a patch release adding support for Laravel 12 and addressing various bugs and improvements.
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.
HasSlug::getUtf8Slug() from guessing encoding by default by [@zachgarwood](https://github.com/zachgarwood) in #2771Full Changelog: https://github.com/area17/twill/compare/3.5.2...3.5.3
Twill 3.5.2 is a patch release addressing a bug with the cropper tool on the medias field.
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.
Full Changelog: https://github.com/area17/twill/compare/3.5.1...3.5.2
Twill 3.5.1 is a patch release that fixes a regression introduced in Twill 3.5.0 and adds a helpful warning for developers who have disabled Twill’s database migrations loading, following a conversation with a community contributor about the last release.
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.
timeOnly variant of the Datepicker field by [@MamlukiSn](https://github.com/MamlukiSn) in https://github.com/area17/twill/pull/2739twill:update and twill:build commands for developers that have twill.load_default_migrations set to false by [@ifox](https://github.com/ifox) in de274175Full Changelog: https://github.com/area17/twill/compare/3.5.0...3.5.1
Twill 3.3.2 is backporting a fix introduced in 3.5.1, which is addressing a regression on the DatePicker field.
timeOnly variant of the Datepicker field by [@MamlukiSn](https://github.com/MamlukiSn) in https://github.com/area17/twill/pull/2739Full Changelog: https://github.com/area17/twill/compare/3.3.1...3.3.2
Twill 3.5.0 is a minor release 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.
ModuleController::setPreviewView() method by @zachgarwood in https://github.com/area17/twill/pull/2724disableCrop() method to medias fields by @ifox in https://github.com/area17/twill/pull/2686medias and files fields by @zeezo887 in https://github.com/area17/twill/pull/2694Relation column by @zachgarwood in https://github.com/area17/twill/pull/2720Browser component by @zeezo887 in https://github.com/area17/twill/pull/2722hideActiveCrop() not working for medias form field when max is greater than 1 by @zeezo887 in https://github.com/area17/twill/pull/2686InlineRepeater updates by @13twelve in https://github.com/area17/twill/pull/2714MultiSelect field with dynamic values in form builder by @ordigital in https://github.com/area17/twill/pull/2699null or 0 ratio value by @LucaRed in https://github.com/area17/twill/pull/2715Full Changelog: https://github.com/area17/twill/compare/3.4.1...3.5.0
Twill 3.4.1 is a patch release addressing minor regressions in Twill 3.4.0.
Full Changelog: https://github.com/area17/twill/compare/3.4.0...3.4.1
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.
searchQuery method to controller for finer control over the search by [@Tofandel](https://github.com/Tofandel) in https://github.com/area17/twill/pull/2614clearable method to select form field by [@zeezo887](https://github.com/zeezo887) in https://github.com/area17/twill/pull/2581twill:refresh-crops by [@ptrckvzn](https://github.com/ptrckvzn) in https://github.com/area17/twill/pull/2642Full Changelog: https://github.com/area17/twill/compare/3.3.1...3.4.0
Twill 3.3.1 is a patch release addressing compatibility with doctrine/dbal 4 on Laravel 11.
Full Changelog: https://github.com/area17/twill/compare/3.3.0...3.3.1
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.
medias fields in JSON repeaters by [@zeezo887](https://github.com/zeezo887) in https://github.com/area17/twill/pull/2554connectedTo for inline repeater and documentation about connectedTo by [@Tofandel](https://github.com/Tofandel) in https://github.com/area17/twill/pull/2565buttonAsLink option on inline repeaters by [@danieldevine](https://github.com/danieldevine) in https://github.com/area17/twill/pull/2522allowInput is true by [@zeezo887](https://github.com/zeezo887) in https://github.com/area17/twill/pull/2576mediables and fileables by [@Tofandel](https://github.com/Tofandel) in https://github.com/area17/twill/pull/2567twillTrans exportable so it can be used in config by [@Tofandel](https://github.com/Tofandel) in https://github.com/area17/twill/pull/2563Browser column overrides parent module field by [@zeezo887](https://github.com/zeezo887) in https://github.com/area17/twill/pull/2506admin. route to twill. by [@LucaRed](https://github.com/LucaRed) in https://github.com/area17/twill/pull/2585Full Changelog: https://github.com/area17/twill/compare/3.2.1...3.3.0
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.
Full Changelog: https://github.com/area17/twill/compare/3.2.0...3.2.1
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.
InlineRepeater by @Tofandel in https://github.com/area17/twill/pull/2493getModulePermalinkBase by @Tofandel in https://github.com/area17/twill/pull/2471getBaseNamespace by @Tofandel in https://github.com/area17/twill/pull/2420Full Changelog: https://github.com/area17/twill/compare/3.1.0...3.2.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.
active to $translatedAttributes by @driftingly in #2401BlockEditor blocks array by @joyceverheije in 8778ab7eexcludeBlocks option to the BlockEditor fields by @pauldwight in #2409readOnly support to form builder Input field by @zachgarwood in #2331searchable support to form builder Select field by @iedex in #2415max support to form builder InlineRepeater field by @joyceverheije in 4a773869direction option to Input and Wysiwyg fields by @13twelve in #2295TipTap editor by @florrie-90 in #2305TipTap link component by @zipavlin in #2336titleInBrowser and adminEditUrl accessors in browsers by @joyceverheije in 02ac019e, ab8635fe and 160e9165--factory and --seeder to twill:make:module by @driftingly in #2402Link column type to table builder by @agnonym in #2376routePrefix support to nested breadcrumbs by @yamaha252 in #2312getData method by @Afting in #2292QuickFilter extension by @joyceverheije in 9c15b017nested table columns support in the table builder by @yamaha252 and @joyceverheije in #2314 and 1edbfbb1DatePicker date selection by @ifox in 0e751723Wysiwyg click to focus area by @TimBlanchard in #2418BlockEditor fields by @joyceverheije in #2381parseInternalLinks helper issues by @avinash403 in #2338getCapsuleForModel() for when passing a Model object by @antonioribeiro in #2400keepAlive on connected non localized fields by @joyceverheije in b1593c75$forceLocale in translatedInput() by @pvdbroek in #2315php artisan migrate:reset by @NuktukDev in #2413mediables pivot by @bonroyage in #2368DuskServiceProvider if Dusk doesn't exist by @Tofandel in #2366fieldsGroupsFormFieldNameSeparator by @yamaha252 in #2277Admin to Twill on custom pages by @pauldwight in #2317pushOnce builtin, remove custom pushonce directive by @mikerockett in #2301twill.admin_route_name_prefix configuration for all internal routes by @ifox and @raymondtri in #2286browser field with a custom pivot table by @poncianodiego and @ifox in #2385Full Changelog: https://github.com/area17/twill/compare/3.0.2...3.1.0
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!
Options::fromArray argument order by @bonroyage in https://github.com/area17/twill/pull/2231withFieldSets() expects Fieldsets object, not a direct array by @agnonym in https://github.com/area17/twill/pull/2233Full Changelog: https://github.com/area17/twill/compare/3.0.1...3.0.2
Full Changelog: https://github.com/area17/twill/compare/3.0.0...3.0.1

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.
twill_ by @aksiomefromArray to options by @aksiomesource_path_prefix to Glide ServerFactory by @matteovg7Twill 2.13.0 is a minor release mainly adding support for Laravel 10.
Twill 3.0 is now 🎉 stable 🎉, read more about it on the new Twill CMS blog.
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.
Full Changelog: https://github.com/area17/twill/compare/2.12.4...2.13.0
This is the fourth release candidate for Twill 3! We plan that the next release will be the first stable release!
#2115twill:update will now ask to run migrations #2107Select::make()->options() now takes a closure as well #2143#2124#2117#2142#2140#2135#2129Full Changelog: https://github.com/area17/twill/compare/3.0.0-rc3...3.0.0-rc4
This is the third release candidate for Twill 3!
#2080#2080
#2094#2087#2063#2070Twill 3 brings a lot of improvements in the backend focused on developer experience.
If you encounter issues, please create an issue or contact us on discord.
Full Changelog: https://github.com/area17/twill/compare/3.0.0-rc2...3.0.0-rc3
This is the second release candidate for Twill 3!
#2007php twill:make:componentBlock blockName #2007#2051#2043#2048#2037#2052Twill 3 brings a lot of improvements in the backend focused on developer experience.
If you encounter issues, please create an issue or contact us on discord.
Full Changelog: https://github.com/area17/twill/compare/3.0.0-rc1...3.0.0-rc2
This is the first release candidate for Twill 3!
#1963#1912#1904#1897Twill 3 brings a lot of improvements in the backend focused on developer experience.
If you encounter issues, please create an issue or contact us on discord.
#1975#1961Full Changelog: https://github.com/area17/twill/compare/2.11.0...2.12.0
This is the second Beta release for Twill 3!
This is a stabilization release to prepare a first stable release.
#1891#1890#1886Twill 3 brings a lot of improvements in the backend focused on developer experience.
If you encounter issues, please create an issue or contact us on discord.
This is the first Beta release for Twill 3!
Twill 3 brings a lot of improvements in the backend focused on developer experience.
If you encounter issues, please create an issue or contact us on discord.
This is the third Alpha release for Twill 3!
This should be the last alpha release.
The next focus will be on optimise the Twill 2.x -> Twill 3.x migration path, unless required, no new features will be introduced. With beta1 we will keep in mind an upgrade path between beta releases so new projects can be started.
Twill 3 brings a lot of improvements in the backend focused on developer experience.
If you encounter issues, please create an issue or contact us on discord.
How can I help you explore Laravel packages today?