Flextype v0.9.7 Release Notes

Release Date: 2020-03-03 // about 1 month ago
  • 🔋 Features

    core: add Delivery API's for Entries, Images and Registry. #159

    👉 Use Flextype as a Headless CMS with the full power of the Admin Panel.
    🏗 Build a Websites and Apps with a technology you are familiar with.

    Endpoints for Delivery API's:

    /api/delivery/entries
    /api/delivery/images
    /api/delivery/registry
    

    core: add new core constants PATH['tokens'], PATH['accounts'], PATH['logs'], PATH['uploads']

    core: add new locales support Persian, Indonesian, Galician #327

    core: add alternative comparison syntax for Entries API

    Alternative comparison syntax:

    != - Not equals to
    like - Contains the substring
    

    core: set entries field routable=true on new entry creation #320

    core: use array_merge() instead of array_replace_recursive() for entries update method.

    core: initialize plugins before themes #323

    core: update Cache to use adapter to retrieve driver object #341

    core: load Shortcodes extensions based on flextype.shortcodes.extensions array #352

    core: load Twig extensions based on flextype.twig.extensions array #351

    core: add new Global Vars PATH_ACCOUNTS, PATH_UPLOADS, PATH_TOKENS, PATH_LOGS for Twig.

    0️⃣ default-theme: Moving to Tailwind CSS from Twitter Bootstrap #356

    🔌 site-plugin: add ability to set custom site url, new shortcode [site_url] and twig var {{ site_url }}

    🔌 form-plugin: add new Form plugin for forms handling instead of core Forms API.

    🔌 icon-plugin: add new Icon plugin for Font Awesome icons set.

    usage in templates:

    <i class="icon">{{ icon('fab fa-apple') }}</i>
    

    usage in entries content:

    [icon value="fab fa-apple"]
    

    🔌 (site-plugin): add ability to access uri variable in the theme templates.

    usage in templates:

    {{ uri }}
    

    🔌 admin-plugin: add RTL support for URLs #62

    🔌 /site/config/plugins/admin/settings.yaml

    ...
    entries:
      slugify: true # set `false` to disable slugify for entries
    

    🔌 admin-plugin: add ability to deactivate/activate all type of plugins. #211

    🔌 admin-plugin: add Confirmation Required modal for system plugins deactivation.

    🔌 admin-plugin: new Admin Panel UI with better UX and powered by Tailwind CSS.

    🔌 admin-plugin: new improved entries media manager page.

    🔌 admin-plugin: add ability to continue editing after saving in the editor.

    🔌 admin-plugin: add action onAdminThemeTail for admin panel base layout.

    🔌 admin-plugin: add ability to change entries view from list view to table view.

    🔌 /site/config/plugins/admin/settings.yaml

    ...
    entries:
      items_view_default: list # set `table` for table entries view
    

    🔌 admin-plugin: increase upload limit for _uploadFile from 3mb to 5mb

    🔌 admin-plugin: do not rewrite plugins and themes manifest with custom manifests.

    🔌 admin-plugin: add parsleys for frontend form validation.

    🔌 admin-plugin: add select2 for all select form controls.

    🔌 admin-plugin: add swal for all modals.

    🔌 admin-plugin: add flatpickr for date and time.

    🔌 admin-plugin: add tippy.js for all tooltips and dropdown menus.

    🔌 admin-plugin: add confirmation modals powered by swal for all critical actions.

    🔌 admin-plugin: add dim color for entries with draft, hidden and routable=false status #324

    🔌 admin-plugin: add ability to select entry type in the nice modal on entry creation. #331

    🔌 admin-plugin: add new setting entries.items_view_default with default value list.

    🔌 admin-plugin: add ability for redirect to the editor after creating #343

    🔌 admin-plugin: add ability to create default API tokens on installation process.

    🔌 admin-plugin: add ability to use local SVG version of Font Awesome Icons #322

    usage in templates:

    <i class="icon">{{ icon('fas fa-ellipsis-h') }}</i>
    

    🐛 Bug Fixes

    • core: fix discord server link #325
    • core: fix issue with system fields data types in the Entries API #383
    • 🔌 admin-plugin: fix issue for creating entry process with same IDs #333
    • 🔌 admin-plugin: fix redirect for entries after edit process.
    • 🔌 admin-plugin: fix issues with routable field on entry edit process.

    ♻️ Refactoring

    • core: move /site/cache directory to the /var/cache #347
    • core: remove Forms API from Flextype core #360
    • 🔌 admin-plugin: improve Gulp configuration for better assets building.
    • 0️⃣ default-theme: improve Gulp configuration for better assets building.
    • core: simplify logic for themes initialization process, remove extra checks for theme setting is enabled or not.
    • 🔌 admin-plugin: move templates from views folder into the templates folder #347
    • 🔌 admin-plugin: remove unused namespaces in EntriesContoller #347
    • 🔌 admin-plugin: remove complex logic for themes activation process.
    • 🔌 admin-plugin: add ext-gd to the require section of composer.json #347
    • 🔌 admin-plugin: add ext-fileinfo to the require section of composer.json #347
    • 🔌 admin-plugin: add ext-dom to the require section of composer.json #347
    • 🔌 admin-plugin: add ext-spl to the require section of composer.json #347
    • 0️⃣ default-theme: remove enabled option from theme settings.

    ⚡️ Vendor Updates

    • core: Update vendor monolog/monolog to 2.0.2
    • core: Update vendor cocur/slugify to 4.0.0
    • core: Update vendor thunderer/shortcode to 0.7.3
    • core: Update vendor ramsey/uuid to 3.9.2

    💥 BREAKING CHANGES

    core: accounts moved to their specific folders.

    for e.g.

    /accounts/admin.yaml => /accounts/admin/profile.yaml
    

    core: remove Debug, Html and Form Flextype Components.

    core: all images links should be updated

    http://docs.flextype.org/en/content/media
    

    core: core and plugin settings keys renamed

    For all core settings:
    settings.* => flextype.*
    
    For all site settings:
    settings.title => plugins.site.title
    settings.description => plugins.site.description
    settings.keywords => plugins.site.keywords
    settings.robots => plugins.site.robots
    settings.author.email => plugins.site.author.email
    settings.author.name => plugins.site.author.name
    

    🔌 admin-plugin: remove Twitter Bootstrap from Admin Panel and Default Theme.

    🔌 admin-plugin: remove user profile page /admin/profile

    🔌 admin-plugin: method getUsers() renamed to getUsersList() in UsersController.

    ⚡️ Update from Flextype 0.9.6 to Flextype 0.9.7

    • Backup your Site First!
    • 🚀 Read BREAKING CHANGES release section!
    • Download flextype-0.9.7.zip
    • 💻 Unzip the contents to a new folder on your local computer.
    • ✂ Remove on your server this folders and files:
      • /flextype/
      • /vendor/
      • /site/accounts/
      • /site/config/
      • /site/cache/
      • /site/plugins/admin/
      • /site/plugins/site/
      • /site/themes/default/
      • /index.php
    • Upload on your server this folders and files:
      • /flextype/
      • /vendor/
      • /site/plugins/admin/
      • /site/plugins/site/
      • /site/plugins/icon/
      • /site/plugins/form/
      • /site/themes/default/
      • /index.php
    • 💻 Clear browser cache!
    • Go to YOUR_SITE_URL/admin url and create new user account.

    Flextype 0.9.7 (1463 commits and more than 400h for development and testing!)


Previous changes from v0.9.6

  • 🐛 Bug Fixes

    • 🔌 admin-plugin: fix issue with saving entry source #251
    • 🔌 admin-plugin: fix file browser styles
    • 🔌 admin-plugin: fix breadcrumbs for theme templates
    • core: Entries API - fix Collection Undefined Index(s) for fetchAll method #243
    • core: fix broken logic for form inputs without labels #274
    • core: fix default and site settings loading #297
    • core: fix id's names for all generated fields #277
    • core: fix notice undefined index: created_at in Entries API
    • core: fix notice undefined index: published_at in Entries API #265
    • core: fix Plugins API - createPluginsDictionary method and increase app perfomance #259
    • core: fix state of active tabs for all generated forms #276
    • core: fix state of aria-selected for all generated forms #275

    🔋 Features

    core: add ability to hide title for hidden fields #240

    core: add new public method delete() for Cache #308

    core: add CacheTwigExtension #309

    usage in templates:

    {{ cache.CACHE_PUBLIC_METHOD }}
    

    core: add ability to override plugins default manifest and settings #224

    core: add ability to override themes default manifest and settings #256

    core: add ability to set help text for generated form controls #283

    usage in fieldsets:

    help: "Help text here"
    

    core: add ability to store entry system fields in entries create method #247

    core: add alternative comparison syntax for Entries API

    Alternative comparison syntax:

    eq - Equals
    neq - Not equals
    lt - Lower than
    lte - Lower than or equal to
    gt - Greater than
    gte - Greater than or equal to
    

    📄 docs: http://docs.flextype.org/en/themes/entries-fetch

    core: add json_encode and json_decode twig filter #289

    usage in templates:

    // Result: {"title": "Hello World!"}
    {{ {'title': 'Hello World!'}|json_encode }}
    
    // Result: Hello World!
    {{ '{"title": "Hello World!"}'|json_decode.title }}
    

    core: add parser twig extension #262

    core: add new field property default instead of value #303

    core: add yaml_encode and yaml_decode twig filter #290

    usage in templates:

    // Result: title: 'Hello World!'
    {{ {'title': 'Hello World!'}|yaml_encode }}
    
    // Result: Hello World!
    {{ 'title: Hello World!'|yaml_decode.title }}
    

    core: Markdown parsing should be cached in production #287

    core: YAML parsing will be cached in production #263

    core: Refactor entries fetch methods naming #315

    we have:
    fetch - for single and collection entries request
    fetchSingle - for single entry request.
    fetchCollection - for collection entries request.

    core: add routable option for entries #284

    usage in entry:

    routable: false
    

    0️⃣ by default routable is true

    🔌 admin-plugin: add help text for common form controls #280

    🔌 admin-plugin: add icons for settings tabs sections #293

    🔌 admin-plugin: hide textarea control for codemirror editor #279

    🔌 admin-plugin: show themes title instead of themes id's on settings page #187

    🔌 admin-plugin: add ability to set individual icons #250

    🔌 admin-plugin: add ability to set individual icons for plugins #255

    🔌 admin-plugin: add ability to work with entry custom fieldset #246

    🔌 admin-plugin: add individual icons for snippets #253

    🔌 admin-plugin: add individual icons for templates and partials #254

    🔌 admin-plugin: add plugins settings page #258

    🔌 admin-plugin: add themes settings page #296

    🔌 admin-plugin: show message on plugins page if no plugins installed #294

    🔌 admin-plugin: use dots icon for actions dropdown #292

    🔌 admin-plugin: add auto generated slugs from title field #305

    🔌 admin-plugin: add help tooltips #306

    🔌 admin-plugin: store Entires/Collections counter in cache #203

    🔌 admin-plugin: YAML parsing will be cached in production #263

    🔌 admin-plugin: add ability to hide fieldsets from entries type select #304

    usage in fieldsets:

    hide: true
    

    0️⃣ by default hide is false

    🔌 site-plugin: add routable option for entries #284

    🐎 Performance Improvements

    • core: add realpath_cache_size to .htaccess
    • core: improve Plugins API - locales loading and increase app performance #259
    • core: improve Cache on production and increase app performance #290 #263

    ⚡️ Vendor Updates

    • core: Update vendor flextype-components/date to 1.0.0
    • core: Update vendor symfony/yaml to 4.4.0
    • core: Update vendor doctrine/cache to 1.10.0
    • core: Update vendor doctrine/collections to 1.6.4
    • core: Update vendor monolog/monolog to 3.12.3
    • core: Update vendor bootstrap to 4.4.1
    • 🔌 admin-plugin: Update vendor bootstrap to 4.4.1
    • 🔌 admin-plugin: Update vendor trumbowyg to 2.20.0

    💥 BREAKING CHANGES

    core: method fetchAll removed! please use fetch, fetchSingle or fetchCollection

    core: changed and_where & or_where execution in the templates

    FROM

    'and_where': {
    
    }
    
    'or_where': {
    
    }
    

    TO

    'and_where': [
        {
    
        }
    ]
    
    'or_where': [
        {
    
        }
    ]
    

    core: Rename property value to default for all fieldsets where it is used.