Skip to content

Releases: getkirby/kql

2.2.0

09 Sep 12:01
5acb50c
Compare
Choose a tag to compare

This release adds support for PHP 8.3 and drops support for PHP 8.0

2.1.0

08 Nov 08:23
Compare
Choose a tag to compare

🎉 Features

✨ Enhancements

  • All doc examples are now pure fetch without dependencies
  • Added 11ty kit to the readme

2.0.0

07 Dec 16:14
bfcc236
Compare
Choose a tag to compare

🚀 Features

✨ Enhancements

  • KQL is now based on the new Kirby\Query classes, profiting from all their enhancements
  • Help class now also supports objects without interceptor that have been explicitly allowed via config
  • Added unit tests and CI

♻️ Refactoring

  • Kirby\Kql\Interceptors\Interceptor got merged into Kirby\Kql\Interceptor. A class alias for the old name has been added.
  • General clean-up of code and improvements to consistent code style

🚨 Breaking changes

  • Requires Kirby 3.8.2

1.3.0-rc.1

24 Nov 08:51
d5ec4d4
Compare
Choose a tag to compare
1.3.0-rc.1 Pre-release
Pre-release

⚠️ Requires Kirby 3.8.2

🚀 Features

  • Optional chaining (with Kirby 3.8.3) #40

✨ Enhancements

  • KQL is now based on the new Kirby\Query classes, profiting from all their enhancements
  • Help class now also supports objects without interceptor that have been explicitly allowed via config
  • Added unit tests and CI

♻️ Refactoring

  • Kirby\Kql\Interceptors\Interceptor got merged into Kirby\Kql\Interceptor. A class alias for the old name has been added.
  • General clean-up of code and improvements to consistent code style

1.2.0

06 Oct 10:46
4c8cdd8
Compare
Choose a tag to compare

Features

  • Support for the new UUIDs in 3.8
  • Support for plugin update checks in 3.8

Enhancements

  • Updated CS Fixer rules

1.1.0

05 Sep 20:22
66abd20
Compare
Choose a tag to compare

Features

Support for field method aliases #33

{
  "query": "site.description.kt"
}

New option to switch off authentication for KQL

<?php 

return [
  'kql' => [
    'auth' => false
  ]
];

Allow and block lists for custom methods and classes

<?php

return [
  'kql' => [
    'classes' => [
      'blocked' => [
        'Kirby\Cms\User'
      ]
    ],
    'methods' => [
      'allowed' => [
        'AlbumPage::cover'
      ],
      'blocked' => [
        'Kirby\Cms\App::version'
      ]
    ]
  ]
];

You can also use doc block comments in custom model methods, custom page methods, etc. to allow a method in KQL

class AlbumPage extends Page
{
  /**
   * @kql-allowed
   */
  public function cover()
  {
    return $this->images()->findBy('name', 'cover') ?? $this->image();
  }
}

Custom interceptor support

<?php

return [
  'kql' => [
    'interceptors' => [
      'Kirby\Cms\System' => 'SystemInterceptor'
    ]
  ]
];

New collection shortcut

{
  "query": "collection('notes')"
}

Enhancements

Fixes

  • Fixed pagination issue #28
  • Throw proper permission exception in interceptors
  • Fixed issue in license
  • Fixed test setup in sandbox

1.1.0-rc.1

25 May 12:42
7c15e2f
Compare
Choose a tag to compare
1.1.0-rc.1 Pre-release
Pre-release

Features

Support for field method aliases #33

{
  "query": "site.description.kt"
}

New option to switch off authentication for KQL

<?php 

return [
  'kql' => [
    'auth' => false
  ]
];

Allow and block lists for custom methods and classes

<?php

return [
  'kql' => [
    'classes' => [
      'blocked' => [
        'Kirby\Cms\User'
      ]
    ],
    'methods' => [
      'allowed' => [
        'AlbumPage::cover'
      ],
      'blocked' => [
        'Kirby\Cms\App::version'
      ]
    ]
  ]
];

You can also use doc block comments in custom model methods, custom page methods, etc. to allow a method in KQL

class AlbumPage extends Page
{
  /**
   * @kql-allowed
   */
  public function cover()
  {
    return $this->images()->findBy('name', 'cover') ?? $this->image();
  }
}

Custom interceptor support

<?php

return [
  'kql' => [
    'interceptors' => [
      'Kirby\Cms\System' => 'SystemInterceptor'
    ]
  ]
];

New collection shortcut

{
  "query": "collection('notes')"
}

Fixes

  • Fixed pagination issue #28
  • Throw proper permission exception in interceptors
  • Fixed issue in license
  • Fixed test setup in sandbox

1.0.0

12 Feb 10:34
Compare
Choose a tag to compare

It's time to make it official. With the latest changes, KQL is ready to be used with the latest Kirby version and has now full support for the new Blocks and Layouts.

Have fun :)