Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 0.18.0 #384

Closed
johanjanssens opened this issue Jun 22, 2020 · 0 comments
Closed

Release 0.18.0 #384

johanjanssens opened this issue Jun 22, 2020 · 0 comments
Assignees
Labels
Projects
Milestone

Comments

@johanjanssens
Copy link
Member

johanjanssens commented Jun 22, 2020

1. Link prefetcher #285

Introduced an interaction based link prerenderer and a customizable and throttled in-viewport link prefetcher script that preloads links during idle time on fast connections.

Prefetcher can also automatically prefetch URLs for links that are in-viewport during idle time. This feature is disabled by default.

2. Async Http Cache Proxy #305

The http cache proxy has been refactored to support async cache validation. The proxy will return the resource from cache immediately if it exists and validate it async in the background. This approaches ensure that each request is equally fast and solves the slow revaliation resquest problem.

3. Cache collection #311

Implemented a cache collection which uses the http cache as data source and further improved the cacheable behaviour to make the http cache fully transparent. Sending a cache validation request will validate and if needed regenerate the cache.

  • Cache-Control: no-cache
  • Cache-Control: max-age=0

For more advanced cache validation scenario's the cache can now be exposed externally, for example to build an external cache (re)generator as part of a deployment pipeline or can be used to build a sitemap.

---
collection:
    model: cache
    state:
        limit: 0
process:
    cache: false
metadata:
    robots: [noindex]
---

4. Use Joomlatools Mason and Github actions for build scripts #371

Implemented support for Joomlatools Mason, our new Joomlatools build tool. Mason is running as a Github Action automates the build of release packages which are now also available using the http://files.joomlatools.com endpoint.

5. Extension packages #360

Improved the Extension API as defined in #144 and implements support for extension packages, extension vendor libraries, extension configuration and changes the extension identifier and classname scheme. Both now need to include the package. The type is now also ext for both.

6. Add config() template function #291

The config handling has been refactored and a new config()template function added that gives easy access to both the site runtime configuration as the configuration of extensions or other objects.

<?= config()->http_cache ?>

7. Automatically set new collection states #299

Moved the logic to define new states to the collection, and makes it available to database collections too.

This allows to filter any collection, either by hardcoding a new state, or through a dynamic page route. The state name needs to be the same as the database column name.

8. Multiple filter constraints #301

Added support for multiple filter constraints for the same attribute

---
collection:
    model: database?table=bar
    state:
         filter:
            foo:
                - 'gt:1'
                - 'lt:10'
---

URL: http://example.com/bar?filter[id][]=gt:1&filter[id][]=lt:10

9. Support relative cache time #380

Addded support for using an English textual relative datetime for all the cache lifetime settings.

<?php
retur [  
    'http_cache_time' => '1hour',
    'http_resource_cache_time => '1day'',
],

10. Model improvements #361

Implements various model improvements to increase flexibility and make models easier to extend as part of custom Pages extensions.

11. Add X-Robots-Tag header #310

Added the X-Robots-Tag header for GET or HEAD requests if robots metadata is specified for the page.

12. Add support for shuffle to database collection #307

Added support for the shuffle ordering to the database collection.

---
collection:
    model: database?table=content
    state:
        order: shuffle
---

URL: http://example.com/bar?order=shuffle

13. Improve webhook processor #335

Improved the webhook form processor ComPagesControllerProcessorWebhook and made it more easily extendible and configurable.

14. Allow to configure data root path for a webservice collection #333

---
collection:
    model: webservice
    config: 
       url: 'example.com?format=json&x=y'
       data: ['path', 'to', 'items']
---

Added a new data config option to define the name or path fo the data element.

15. Add a default pages collection #327

<? $pages = collection('pages'); ?>

16. Add ComPagesCollection::getName() method #331

17. Enable page, data and template caching by default #295

18. Automatically create PRs using Github actions #375

19. Set cache folders to 0777 #336

20. Add support for multi-dimensional data to CSV form processor #329

21. Use identifiers when registering config formats #352

Fixes

@johanjanssens johanjanssens added this to the 0.18.0 milestone Jun 22, 2020
@johanjanssens johanjanssens self-assigned this Jun 22, 2020
johanjanssens added a commit that referenced this issue Jun 22, 2020
johanjanssens added a commit that referenced this issue Jun 22, 2020
johanjanssens added a commit that referenced this issue Jun 22, 2020
@johanjanssens johanjanssens added this to Issues in v0.18.0 Jun 22, 2020
v0.18.0 automation moved this from Issues to Ready Jun 22, 2020
@raeldc raeldc mentioned this issue Jun 22, 2020
62 tasks
johanjanssens added a commit that referenced this issue Jun 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
No open projects
v0.18.0
  
Ready
Development

No branches or pull requests

1 participant