Skip to content
This repository has been archived by the owner on Jan 10, 2023. It is now read-only.

Releases: sirko-io/engine

v0.5.0

23 Oct 18:40
Compare
Choose a tag to compare

Changed

  • The engine's config (sirko.conf) was migrated to a Toml format. Settings didn't change their position in the config file, so it should be easy to find and specify your settings. Don't forget to backup your current config before upgrading.

Added

  • If you use Google Analytics (GA) on your site, now it is possible to import sessions from GA, thus, you can get more realistic predictions earlier. Please, get more details here (sirko-io/engine#40).
  • Besides prefetching JavaScript and CSS files, the client was changed to prefetch images too. However, only critical images makes sense to be prefetched. So, a CSS selector for finding images should be provided while setting up the client. (sirko-io/client#36).

v0.4.1

23 Apr 13:37
Compare
Choose a tag to compare

Fixed

  • The client only sends paths of pages to the engine. For example, https://example.org/blog is a URL of the current page, in this case only /blog gets sent. The path is used to precache a page. A bug in code cutting off the origin produced broken paths. For example, if a URL was like this https://example.org/bar/foo/main.html, only /main.html would've been sent to the engine. It leaded to precaching pages which didn't exist. Now the client takes paths as they are (sirko-io/client#33).
  • Some browsers embed internal assets (for example, chrome-extension://bmdblncegkenkacieihfhpjfppoconhi/scripts/in-page-script.js) into pages. URLs of those assets were gathered by the client and later there was an an attempt to precache them. Apparently, they cannot be precached, thus, browsers threw errors. Now the client only gathers URLs which lead to the valid HTTP protocol (sirko-io/client#30).

v0.4.0

18 Mar 19:01
Compare
Choose a tag to compare

Changed

  • Prefetching several pages might be fine for some sites. So, the engine got changed to return a few pages which get prefetched by the client then. A max number of returned pages is controlled by a max_pages_in_prediction setting. The confidence_threshold setting is still considered. For example, if the confidence_threshold is 0.5, only 2 pages can be returned even though the max_pages_in_prediction is 10.

Added

  • All prefetched resources aren't removed from the cache anymore. Now they are moved to an offline cache which is used when a user is offline. The offline cache accumulates all prefetched resources during the user's navigation. Thus, the site can partially work offline (sirko-io/client#29).

v0.3.0

01 Jan 19:08
Compare
Choose a tag to compare

Fixed

  • Prefetching a wrong page for an authorized user because of missing cookies (sirko-io/client#26)
  • A number of issues related to HTTP requests modifying data (#10, #15, sirko-io/client#1). Now, if there is a request modifying data in a user's transition, the transition won't be tracked, hence, a stale page won't be prefetched.

v0.2.0

01 Oct 14:33
Compare
Choose a tag to compare

Changed

  • The engine doesn't prerender pages anymore. The previous release provided fallback to browsers which don't support the prerender hint. Since the Chrome team deprecated the prerender hint, that fallback turned to a main solution. Now, the client side of Sirko Engine prefetches a predicted page and serves it from the cache once the user visits that page. It means if you already use v0.1.0, the following code can be removed:

    sirko('useFallback', true);

    Also, it is mandatory to serve a sirko_sw.js script from the root of your domain, example:

    https://demo.sirko.io/sirko_sw.js
    

    Please, get more details here.

  • Performance improvements

Added

  • When a page gets prefetched via a service worker, assets (images, JavaScript, CSS files) aren't fetched until the page gets shown. To speed up page loading, the engine got enhanced to store urls to assets (only JavaScript and CSS files) of a page. So, when the engine predicts a next page, the client prefetches the predicted page and assets of the page. Thus, when the user navigates to that page, the page and assets get served from the browser's cache.