Finicky v3.0.0 is here, and it's easier to use than ever. ⚡
This release tries to make a lot of common use cases simpler in Finicky, by adding useful shortcut features like wildcards, partial url objects and direct url rewriting in handlers.
New features
-
Wildcard matching
Instead of using a regular expression to match incoming urls you can now use wildcards which match zero or more characters:
// Before (this still works!) match: /https?:\/\/example\.com.*/, // After (this matches both http and https urls, no need to specify procotol) match: "example.com*",
-
Simpler url rewrites
Before you had to return the full url object (usually by using object spread) when you wanted to change a url. Now, you can just return the properties you want to change:
// Before (this still works!) url: ({url}) => ({ ...url, protocol: "https" }) // After url: { protocol: "https" }
-
Support for url rewriting directly in handlers
You can now add a url rewrite to your handlers directly instead of having a rewrite and a browser handler.
// Before (this still works!)
rewrite: [{
match: "http://google.com*",
url: "http://ecosia.com"
}],
handler: [{
match: "http://ecosia.com",
browser: "Safari"
}]
// After
handler: [{
match: "http://google.com*",
url: "http://ecosia.com",
browser: "Safari"
}]
Other improvements
- Application is now notarized by Apple. You should see fewer warnings when running it for the first time. #68
- Refactor update checking, let me know if you get annoyed by unnecessary notifications!
- Fix a bug where browsers didn't open in the background properly #111
- New logo #115
Watch out for breaking changes! ⚠️
This release contains a few updates that might break your setup! With the addition of wildcard matching for strings if you are using direct string matching on urls containing asterisks *
Finicky will now match more strings since it now treats the asterisk as a wildcard.