OctoFeed is an update framework for macOS applications. It is simple, it supports GitHub releases out of the box and is available under the MIT license.
The Sparkle framework is the go-to project for macOS developers that wish to update their apps. Sparkle is proven and is used in many MANY applications. If you are in doubt use Sparkle.
I created OctoFeed as an alternative to Sparkle. I list some of the reasons below:
-
Sparkle is a large framework. This is great for many applications, but if you do not need many of the bells and whistles like binary deltas, etc. some of it feels like unnecessary bloat.
-
If your scenario does not neatly fit within the scenarios supported by Sparkle then adapting it to your needs may be complicated. For example, the scenario that prompted me to start the OctoFeed project was that I wanted to perform updates at application launch (more details).
-
Sparkle includes its own UI (which it often insists on showing). In many cases this is not what you want.
-
Sparkle does not support GitHub releases out of the box.
OctoFeed is a simple UI-less update framework:
-
Flexible. OctoFeed focuses on providing generic update functionality rather than enforcing specific update scenarios. It does provide convenient installation policies, but only if you choose to use them.
-
Simple. If you need additional functionality, it is relatively easy to understand it and change it or extend it.
- Cloc reports that it is 1393 LOC (as of Sep 26, 2018).
-
GitHub releases out of the box. Easily extensible to support additional release sources.
- Here is how releases are fetched from GitHub.
-
Bring your own UI. I know little about UI so you should not trust me anyway :)