Releases: GoogleChromeLabs/quicklink
2.3.0
2.2.0
- [release] additions to changelog (6ac410c)
- [release] bump core to 2.2.0 (418eb50)
- [release] bump site to 2.2.0 (22a055c)
- [release] update changelog for 2.2.0 (bb1a648)
- [site] reorder logos (09907bb)
- [site] update version (7babbda)
- Add Magento Quicklink module (Readme + Site) (#216) (c77e057), closes #216
- Added
threshold
option to allow users select the % of link areas that entered the viewport before (d3746e1), closes #214 - Instructions to debug Quicklink (2b3dc21)
2.1.0
- [docs] Add React SPA demos to repo and site (#179) (179cb56), closes #179
- [docs] drop highlightjs reference and link up prism styles (b91872b)
- [docs] Fix quicklink logo (25829de)
- [docs] minor tweak to header text (cd31382)
- [docs] refactor api docs syntax highlighting (59f7eca)
- [docs] refactor copy-snippets syntax highlighting (5445a8b)
- [docs] refactor measure docs syntax highlighting (eaa87ac)
- [docs] refactor over-prefetching docs syntax highlighting (6ec1287)
- [docs] refactor react docs syntax highlighting (ba5984d)
- [docs] refactor usage docs syntax highlighting (25367f4)
- [docs] remainder of syntax highlighting fixes (cf32a85)
- [docs] remove highlightjs (7ff8c8f)
- [docs] Update CHANGELOG (c4a4726)
- [docs] various style theme improvements (06786fb)
- [feat] (options): Add a
hrefFn
option to build the URL to prefetch. (#201) (ee072d4), closes #201 - [feat]
delay
option to reduce impact on CDNs and servers [alternative without data-attributes] (#2 (5cdf569), closes #217 - [infra] add eleventy syntax highlighting (b48f80d)
- [infra] Add site to firebase hosting config (fe43486)
- [infra] bump version to 2.1.0 (81232e8)
- Added Ray-Ban and Oakley from Luxxotica to trustedByLogos section (#202) (b4494b0), closes #202
- Correct typo, duplicate "passing" (#185) (932f655), closes #185
- Fix issues typo in 'network-idle.js' (#218) (534e7b3), closes #218
- New demo page (#205) (5205d62), closes #205
- update homepage url in package.json (#184) (172275b), closes #184
- Updating broken link (224df77)
- Fix: Cannot read property 'then' of undefined (#188) (a8872b8), closes #188
- chore(deps): bump http-proxy from 1.18.0 to 1.18.1 (#200) (0aa5157), closes #200
2.0.0
2.0.0 is a major rewrite of Quicklink, introducing a first-class prefetch
method that can be used in more contexts, new features like limit
, throttle
and other DX improvements.
In-viewport prefetching is now available via the listen()
method.
- adds
limit
option – total allowed requests - adds
throttle
option – max concurrency control viathrottles
- exports
prefetch
method directly - exports previous
default
aslisten
method - aborts
listen
early if no IO support - only require IO support when using
listen
- when okay,
listen
returns areset
/ unlisten function - allows
prefetch
to accept url[] list
For the latest documentation around this release, see https://getquick.link/
2.0.0-alpha
2.0 is a major rewrite of Quicklink, introducing a first-class prefetch
method that can be used in more contexts, new features like limit
, throttle
and other DX improvements. In-viewport prefetching is now available via the listen()
method.
v1.0.1
This is a maintenance release of Quicklink 🧹The largest changes in this version are bug-fixes for Safari, docs updates and some brand new demos to learn from 🤾♂️
Quicklink 1.0.0
Quicklink attempts to make navigations to subsequent pages load faster by prefetching in-viewport links during idle time
A huge thanks to everyone that has been trying out quicklink
, sharing feedback and deploying it to production (like Hashnode and CleverTogether). We're glad you found our micro-library helpful. We've just published a new version to address early feature requests 🗣
New features 🎉
Control what domains can be prefetched 🏘
We now support origins
: a new static array of URL hostname strings that are allowed to be prefetched. Defaults to the same domain origin, which prevents any cross-origin requests. This was a requested change in behavior from earlier versions of quicklink
which would fetch all origins by default.
You can use origins
as follows:
Specify a custom list of allowed origins
Provide a list of hostnames that should be prefetch-able. Only the same origin is allowed by default.
Important: You must also include your own hostname!
quicklink({
origins: [
// add mine
'my-website.com',
'api.my-website.com',
// add third-parties
'other-website.com',
'example.com',
// ...
]
});
Allow all origins
Enables all cross-origin requests to be made.
quicklink({
origins: true
});
Control what URLs are ignored by RegExp, Function or Array ✋
We also now support ignores
which adds support for filtering. This can be a RegExp, Function, or Array that further determines if a URL should be prefetched. These filters run after the origins
matching has run.
Ignores can be useful for avoiding large file downloads or for responding to DOM attributes dynamically.
// Same-origin restraint is enabled by default.
//
// This example will ignore all requests to:
// - all "/api/*" pathnames
// - all ".zip" extensions
// - all <a> tags with "noprefetch" attribute
//
quicklink({
ignores: [
/\/api\/?/,
uri => uri.includes('.zip'),
(uri, elem) => elem.hasAttribute('noprefetch')
]
});
If you tried out the first release of quicklink
and noticed it prefetching /logout
pages, download links or any other resources you'd rather it not, this new feature should help.
Bug fixes
This release also includes a few bug-fixes. These include URLs being prefetched are now also normalized by default (https://www.google.com
vs. https://www.google.com/
vs https:\\www.google.com/
). Thanks to @mathiasbynens for bringing this to our attention.
See API docs and recipes for details on how to use these new features. You can also find a new FAQ for answers to common questions we've had users ask about the project.
Size check 📦
Bundle size: 782 bytes minified & gzipped. We were able to introduce new features while keeping our size down in large part thanks to clever code-golfing by @lukeed ⛳️
Thanks 😍
With huge thanks to @lukeed and our lovely contributors for all of their help with this release ❤️We couldn't have done it without you!.