Skip to content

Twill 2.2.0

Compare
Choose a tag to compare
@ifox ifox released this 13 May 22:24
· 1120 commits to 2.x since this release

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
    • Preserve the blocks order when c
      alling a block editor deafbef0
    • Add fallback for adminEditUrl in browser fields a55f9848 3b16f22d

Chores

  • CI and testing
    • Setup CI tests on GitHub Actions 03ab2714
      • With Travis CI dropping free support for open source projects, we've had to migrate to a new CI service. GitHub Actions made the most sense for us. The migration took time to get right but we now test a larger compatibility matrix, from PHP 7.1 to PHP 8 and from Laravel 5.8 to 8.
    • Add on demand rebase GitHub Actions workflow d2a5c8e3
    • Add on demand frontend build GitHub Actions workflow c8bdf928
    • Turn on TestBench debug 8c40b7d9
    • Display response errors 7bb74eec
  • Community updates
    • Add Contributor Covenant c16572d7
    • Add GitHub templates (issues and PRs) 864d7cf4
  • Security
    • Fix npm dependencies vulnerabilities
    • Fix npm dependencies vulnerabilities in docs