Skip to content

Releases: area17/twill

Twill 2.5.2

16 Sep 23:15
Compare
Choose a tag to compare

Fixed

  • 🚨 Fix XSS security vulnerability #1157 2dd77b15
  • Hydrate related browsers on preview #1130
  • Use configured namespace when generating model class in repository 80e1b590
  • Translation key typo on the dashboard c630d0d1

Improved

  • Call view:clear when updating assets with twill:update c5b96010
  • Add security policy file 55b2dfd63

Twill 1.2.4

16 Sep 23:14
Compare
Choose a tag to compare

Twill 1.2.4 is backporting a fix introduced in 2.5.2, which is addressing a security vulnerability.

Fixed

Twill 2.5.1

02 Sep 14:06
Compare
Choose a tag to compare

Fixed

  • Twill custom error views and ability to extend its exceptions handler 312b44 c16d2e

Twill uses it's own internal exception handler for controllers extending A17\Twill\Http\Admin\Controller and A17\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 the showWithPreview 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

02 Sep 09:32
321da81
Compare
Choose a tag to compare

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
    • Ability to use multiple block_editor fields #918
    • Dynamic block/repeater titles #1096
    • Update content editor sidebar layout and add new icons #1072
    • Update default button variant for inner repeaters #1073
  • 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
  • Capsules updates
    • Autoloading system for Capsules cec70d03
    • Translations files for Capsules 8f06ea53
  • General updates
    • SVG support with Glide #985
    • Configurable admin routes prefix 5e5b5a81
    • Allow configuring password broker and enable throttle b421561a
    • Ukrainian language c2c08603
    • Watch for custom blocks & components in development #1107
    • Allow setting dev_assets_path from .env 814ade6b

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 07f7aa0051302a15
  • 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

Read more

Twill 2.4.0

15 Jun 22:33
8066ad1
Compare
Choose a tag to compare

Twill 2.4.0 is a minor release addressing a security vulnerability on the CMS logout action which has been reported this morning by a community member, and also bringing a couple of cool new features and improvements from community contributions.

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

  • Add support for browsers using HasRelated behavior 580faa47
  • Allow dev_mode to be set in .env 95874a1a
  • Add custom subject to notifications f137b213

Fixed

Improved

Twill 1.2.3

15 Jun 22:33
82ac708
Compare
Choose a tag to compare

Twill 1.2.3 is backporting a fix introduced in 2.4.0, which is addressing a security vulnerability on the CMS logout action.

Fixed

  • 🚨 Fix logout security vulnerability c6612ca3

Twill 2.3.1

04 Jun 23:15
Compare
Choose a tag to compare

Fixed

  • Media library upload regressions (hotfix) #959

Twill 2.3.0

03 Jun 02:17
Compare
Choose a tag to compare

Twill 2.3.0 is a minor release addressing previously introduced regressions, and also bringing a couple of cool new features and improvements from community contributions.

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

  • Configuration system for capsules #924
  • Automated belongsTo browser field relationship #913
  • Internal API documentation #929
  • Connected fields array values support #935
  • Capsules finder methods and helpers d30f341d
  • Ability to retrieve all image crops in a single call, as generated URLs or data arrays #928
  • Ability to disable crops entirely on the medias field #922 0a153c29 7dbfaef6
  • Support for custom title key in related browsers #942

Fixed

  • Custom create modal view regression #920
  • Subdomain routing regression #908
  • Media Library uploads regression when using Postgres #941
  • Fix Unresolvable dependency resolving problem when installing blade-ui-kit/blade-icons #952
  • Ensures app/Twill/Capsules exists during install deff0a87
  • Fix minor typos in documentation 3dcf4fa2

Improved

  • Docs: update form fields documentation #945
  • Docs: add missing docs for $permalinkBase 1609765b
  • Docs: add duplicate param to $indexOptions d665967d
  • Docs: add skipCreateModal option to controller docs 08fd0167

Chores

  • Update rebase GitHub Actions version to support forks with branches of the same name e08ee215

Twill 2.2.1

17 May 23:04
Compare
Choose a tag to compare

Thanks to our community members quickly updating to Twill 2.2.0, we've been able to squash a few bugs that were introduced in the last minor release.

Fixed

  • Capsules without translations: move HasCapsules trait to the base model 8b730e81
  • Laravel configuration caching: set the capsules list config as an array 2b5b07a5

Improved

  • Update documentation to reflect Laravel 8 support c01c426d
  • Fix wording and add proper method description e1293551

Twill 2.2.0

13 May 22:24
Compare
Choose a tag to compare

Twill 2.2.0 is a minor release addressing compatibility and bugs, and also bringing a lot of amazing new features and improvements from community contributions.

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

  • Laravel 8 and PHP 8 support #740
    • After long months of compatibility testing and stability testing in production, Twill is finally compatible with the latest versions of PHP and the Laravel framework.
  • Twill Capsules #729
    • Twill Capsules are modules encapsulated in a single folder. Like modules, they can be generated from the command line, but they can also be installed from a remote repository. We think this will enable new ways for the community and ourselves to share reusable and customizable Twill modules.
  • Deep nested modules #775
    • When using dot notation to nest modules, it was previously only possible to use a single children module. With those changes, it is now possible to go add deep as needed.
  • Image and file replacement from the media library #660
    • This new feature enables your users to replace an image or file globally from the media library, preserving all relationships with records, blocks and repeaters where the image or file has been attached.
  • Nested repeaters support outside of blocks ce75aff1
  • Algolia search in docs c1d85e48
  • Glide cloud sources classes to allow Glide and S3 integration 11f0f502
  • Allow renaming tag tables 3f34da73
  • Allow passing email and password directly on the command line when creating a superadmin user 812331d1
  • Add target attribute in Twill navigation entries to allow opening in new window 3418edcc
  • Automate CMS permalink for nested modules 94742f29
  • Add ability to store more data from the Google Maps API #721 dfaa5f8e
  • Allow to use a different name than relationship when hydrating a repeater #717 9ead6d5c
  • Support custom model identifier key in controller #780 fce6465d
  • Add optional note into the Browser modal (via the Browser Field) b4cb5b83

Fixed

  • 2.1 regressions with blocks configuration #813
    • Block name (configuration key) and component not matching issues
    • Duplicate blocks and Twill blocks conflicts issues
    • Show a better message when block is missing #712 3dd66067
    • Add default icon and trigger (repeater) to Block ae162ac3
    • Logging deprecated use of block and repeater definitions in config 1beadaae
    • Generate Vue Blocks only for 'compiled' and confirm overwriting if file exists bc7dfa50
  • Fix uploads with custom root path on S3 a92b6232
    • Closes #553. The rationale for keeping the S3_ROOT in the uuid in database is to allow changing its value while keeping, for example, older uploads in the previous root (which might be connected to a different Imgix source). It would also be a breaking change to remove the root from the uuid in database. We might reconsider this for Twill 3.
  • Fix S3-compatible storage compatibility (DO Spaces) 4c8cc698
  • "Create and add another" fix for macOS Safari/FF #782 2d403516
  • Nested listing: maxDepth now respected 9e9c7f8d
  • Publication bug in module create modal #732 7afdca7f
  • Broken variables for FR emails #734 2cc9984a
  • Drop index error on mediables table #800 a29a0294
  • Artisan make:module (deprecated) should prompt for input #725 a5b3ffc2
  • Fix for checkboxes stored as string #694 27c9887c 736a0642
  • Prevent the permalink preview from wrapping when over 52 characters long 33b5641d
  • Don't create superuser while on no-interaction efac9ff7
  • Route name duplicating prefix and module f446363b
  • Don't render languages columns when only one is available c46bdcda
  • Fixed nested listing on undefined children ef9a8dfb

Improved

  • Documentation
    • Updated block editor documentation 9df76dd4
    • Documentation for custom vue component da6557f2
    • Documentation with some examples for the MultiBrowser feature 66c12808 36cb3f48
    • Added some missing optional $cropName and $media params for various image methods #762 8188f864
  • Vapor support
    • We've had the opportunity to deploy Twill instances to Laravel Vapor and refactored the way Twill deals with its own assets urls internally in the process.
    • Use vendor Twill manifest when public/ is missing 5ff29afe
  • i18n
    • Add czech translations 71c976dd
    • Add Turkish localization support for flatpickr and vue-timeago packages d725a7d4
    • fixed a typo in the German language 29eb3a9c
    • Make parts of settings & dashboard translatable 843c1da2
    • Russian language update f87d99f2
    • Add some missing Polish language strings 30fe3593
  • Misc.
    • Wysiwyg with Quill : set default styling for italic and underline in the editor 32bbfb4f
    • Consider morphed models when getting the name of the class to obtain the repository cad35392
    • Easier to use starter route 0d9c0d09
    • Make slug model namespace dynamic 308f2a92 3ba04e51 [7cbbc253](https://github.co...
Read more