Migrating from Finicky 3 - johnste/finicky GitHub Wiki
Finicky 4
TLDR: There's no longer a menu item. To open the helper window, start finicky directly like an app.
Finicky 4 is a complete rewrite of Finicky. The plan has been to have Finicky work like always, making the upgrade unnoticeable. That being said, some things have changed.
-
Finicky now runs on demand. Finicky 3 was always running in the background, taking up some resources. Finicky will now start, parse and evaluate the configuration and then close down shortly after. This also means the menu bar Finicky previously displayed is no longer available. Most workflows are supported in the new configuration window, but some aren't, for example evaluating urls for testing.
-
Finicky now supports ECMAScript modules. If you aren't familiar with them, it's mostly a change from using
module.exports = {...}
(CommonJS modules) toexport default {...}
in the Finicky 3 configuration. Finicky 4 still supports CommonJS modules, but will print a deprecation warning. -
Finicky now has built typing support. If you have a compatible editor, it can display validation help when writing configuration. See this wiki page to learn how to enable this.
-
Finicky now uses URL interfaces instead of custom URL objects. Again, Finicky is backwards compatible and supports the old
url
andurlString
parameters, but the ideal way to use Finicky 4 is using URL objects.
Technical details
- The bundle identifier has changed from
net.kassett.finicky
tose.johnste.finicky
- The app now checks for updates via a small API to make the app less complicated. These requests go to
finicky.johnste.se
Why rewrite Finicky?
I decided to rewrite Finicky because of a couple of reasons:
- to not have to maintain a project that required XCode
- to fix a couple of mistakes that were made in the API design
- to make Finicky not run in the background, saving some system resources
- to enable the possibility of a multiplatform app (nothing planned though)
- to make it easier to new features