Skip to content

Releases: johnste/finicky

Finicky 3.4.0 - Manage configuration file

08 Mar 18:01
Compare
Choose a tag to compare

image

New feature

This latest release contains new abilities to manage the configuration file. Big thanks to @leonspok for helping out (pull request #142)

Bug fixes

  • #171 Fixed a bug where Finicky crashed when it couldn't get the name or bundle identifier from the opening application
  • #126 Attempt at fixing an issue where Finicky couldn't tell if the browser was intended to be opened in the background or foreground

Finicky 3.3.1 - Bugfix release

01 Feb 18:40
Compare
Choose a tag to compare

Small quick release to fix a bug in 3.3.0 where Finicky crashed when opened from the terminal. Thanks @strannik19 and @thomasLeclaire for helping out!

Bug fixes

  • #166 Finicky crashes when opened from the terminal

Finicky 3.3.0 - System info API, More opening application info

30 Jan 10:53
Compare
Choose a tag to compare

Some new APIs!

New features

Example:

finicky.getSystemInfo() // returns {"localizedName":"John’s Mac mini","name":"Johns-Mac-mini.local"} for me
  • Adding opener option to all config callback functions, replacing sourceProcessPath and sourceBundleIdentifier, see Parameter documentation for more info.

Example:

  "opener": {
    "pid": 1337,
    "path": "/Users/user/Applications/Example.app",
    "bundleId": "com.example.app",
    "name": "Example app"
  }
  • Added a new option logRequests that will log all incoming urls to the console to simplify debugging. Docs

  • Finicky.log now accepts multiple arguments

Bug fixes

  • #126 Added an attempted bugfix for a browser activation issue

Finicky 3.2.0 - Browser support, custom arguments, API updates

28 Jan 17:47
Compare
Choose a tag to compare

This update contains some cool new things. Big thanks to @skoshy for helping out a lot!

New features

  • Profile support added for Brave Beta, Edge, Edge Beta and Vivaldi Browsers

  • #160 Ability to send custom arguments to browsers/apps (Docs TBD).

  • finicky.getKeys now available in config. This will eventually replace the keys key (https://github.com/johnste/finicky/wiki/Function-parameters) to make the parameters slightly less crowded.

  • #129 Url shorteners urlShorteners can now be a function so you can append/remove from the list as you please. Example:

module.exports = {
  defaultBrowser: "Safari",
  options: {
  	urlShorteners: (list) => [...list, "zombo.com"]
  }
};

Bug fixes

  • #84 Incorrectly formatted urls would create issues with redirects. Finicky will now escape urls before parsing them to avoid this issue.

Finicky 3.1.3 - Bug Sur compatibility

21 Nov 11:01
Compare
Choose a tag to compare

This is a another small release to fix some compatibility issues with macOS Big Sur. It is also built for Apple Silicon though no attempts at testing it on that platform are available to me.

Features:

image

Bug fixes:

  • #146 - Finicky didn't appear as a default browser choice in macOS general preferences
  • #140 - When using VS Code sometimes the configuration file appeared to be empty when reloaded

Thank you to @MartinWe13, @alejandroivan, @xiaobq, @jeff-dagenais and @dndrsn for submitting issues and helping with troubleshooting!

Finicky 3.1.1 - Running Finicky as an agent

04 Sep 17:39
Compare
Choose a tag to compare

This is a small release which is intended to fix an annoying bug where Finicky shows up in the dock and "recent applications". Published as a pre-release until I get confirmation it fixes the issue.

No new features. Contains some refactoring.

Bug fixes:

Finicky 3.1 - Chrome and Brave profile support

21 Aug 17:53
Compare
Choose a tag to compare

Finicky now has support for launching specific Chrome and Brave profiles. Huge thanks to @bhedavivek for working on this!

New features

  • Chrome and Brave profile selection

You can now optionally specify a profile to activate when using Chrome or Brave browsers.

 {      
   match: "example.com/*",
   browser: { 
     name: "Google Chrome",
     profile: "Default", 
   },
 },
{      
   match: "example.org/*",
   browser: { 
     name: "Google Chrome",
     profile: "Profile 1", 
   },
 },

A note on profile names

The profile name you supply to Finicky must match the folder name of the profile. For Chrome, the folders are located at ~/Library/Application Support/Google/Chrome. Folder names are called "Profile 1", "Profile 2", etc.

⚠️ Please note ⚠️ If you supply a folder name of a profile that does not exist, e.g. "Avocado", Chrome and Brave will create a new profile using that folder name. This appears to work pretty well, but I would advise against this since there is a risk corrupt your Chrome configuration. In the future, I want to add some verification to avoid this possibility, so it might stop working.

Bug fixes:

  • #122 The console doesn't display "fancy quotes" now. Thanks to @pichfl

Finicky 3.0.0 - Simpler configuration

10 Jun 17:32
Compare
Choose a tag to compare

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.

Finicky 2.4.0 - Open application by path

05 May 06:32
Compare
Choose a tag to compare

New features:

  • You can now start browsers by file path: e.g. /Applications/Slack.app. Useful when you have multiple apps share the same name or bundle id. Big thanks to @ldub for adding this feature!
  • Finicky now checks for new versions on startup. You can disable this by adding the options.checkForUpdate: false in your config.
  • The console window now displays log messages with the latest message at the bottom of the window.
  • There is a now 'clean console' button in the console window

Note:

  • The feature to open up incognito windows in Chrome from the 2.3 alpha did not make it into this release.
  • Finicky now listens to finicky:// and finickys:// urls, which enables using finicky directly from other apps. This could enable browser extensions to use finicky directly.
  • Thanks to @erkekin for some refactoring and updating tests

Finicky 2.2.3 - Minor fixes

18 Nov 21:17
Compare
Choose a tag to compare

Small update

  • Relax validation rules to allow other protocols other than http, https and file #86
  • Fix a problem where Finicky sometimes didn't focus browsers #82