Jump to content

Sparkle (software): Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
→‎History: +vulnerability, +ref
Line 26: Line 26:


==History==
==History==
Sparkle 0.1 (beta) was released in January 2006 by Andy Matuschak to provide apps "instant self-update" functionality, which very few applications had at the time<ref name="sparkle-andy-blog-jan-12-2006">{{cite web |last1=Matuschak |first1=Andy |title=Sparkle |url=https://web.archive.org/web/20060112034854/http://andymatuschak.org/pages/sparkle |access-date=12 January 2006}}</ref>:
Sparkle 0.1 (beta) was released in January 2006 by Andy Matuschak to provide apps "instant self-update" functionality, which very few applications had at the time<ref name="sparkle-andy-blog-jan-12-2006">{{cite web |last1=Matuschak |first1=Andy |title=Sparkle |url=https://web.archive.org/web/20060112034854/http://andymatuschak.org/pages/sparkle |access-date=12 January 2006}}</ref><ref>{{cite book |url=https://www.google.com/books/edition/Mac_OS_X_Snow_Leopard_for_Power_Users/qG2Bb4JtfwgC?hl=en&gbpv=1&pg=PA9&printsec=frontcover |pages=9-10 |title=Mac OS X Snow Leopard for Power Users |author=Scott Granneman |year=2010 |isbn=9781430230311 |publisher=[[Apress]]}}</ref>:


{{Blockquote
{{Blockquote

Revision as of 23:49, 29 March 2024

Sparkle
Original author(s)Andy Matuschak
Developer(s)Sparkle Project (2014–present)
Initial releaseJanuary 9, 2006 (2006-01-09)
Stable release
2.6.0[1] / March 15, 2024; 3 months ago (2024-03-15)[1]
Repository
Written inObjective-C, Swift [2]
Operating systemmacOS
TypeSoftware update
LicenseMIT License
Websitesparkle-project.org

Sparkle is an open-source software framework for macOS designed to simplify updating software for the end user of a program. Sparkle's primary means of distributing updates is through "appcasting," a term coined for the practice of using an RSS enclosure to distribute updates and release notes.

History

Sparkle 0.1 (beta) was released in January 2006 by Andy Matuschak to provide apps "instant self-update" functionality, which very few applications had at the time[3][4]:

With a few notable exceptions, most Mac software has really lame update functionality. Programs will usually just tell you that there’s a new version available, point you at the web site, and make you do the rest. I’m trying to fix that. Sparkle is a module that developers can stick in their Cocoa applications (five-step install!) to get instant self-update functionality. By that, I mean that your app will be able to update itself, not just check for new versions: it’ll read the update information from an appcast on your server, download, extract, install, restart, and even offer to show the users release notes before they decide if they want to update.

Andy first demonstrated using Sparkle in his own application Pixen in early 2006.

In June 2006, Sparkle 1.0 came out of beta and was released. It included support for public-key cryptography verification, automated downloading of updates, multiple archive formats, and more[5]. By then, numerous notable applications were using Sparkle including Cyberduck, Transmission (BitTorrent client), Vienna, and VirtueDesktops [6].

Around the same time as Sparkle 1.0, Tom Harrington introduced a fork called Sparkle-Plus that allowed developers to collect anonymous system profile information from users, which was inspired by Omni Group's Software Update Stats page [7]. This feature showed users what information is collected. Sparkle-Plus was notably used by Adium[8] which provided statistics on their website.

Sparkle 1.5 beta 1-6 was a series of major updates developed in 2008 but did not officially come out of beta. In these beta updates however, Sparkle integrated collecting anonymous system profile information from Sparkle-Plus[9]. It also included support for pkg installs, plug-ins, minimum OS requirements, and more [10] [11].

In August 2009, Mark Rowe forked Sparkle and added support for delta updates for installing smaller and faster incremental updates[12] [13]. Mark was a WebKit engineer[14] and had them first integrated into updating WebKit's nightly builds [15] [16]. Delta update support later became integrated into Sparkle's main development branch in 2010 [17].

From 2009 - 2013, development of Sparkle continued in the main repository but without an official release[18].

At the end of 2013, development of Sparkle was ended by Andy, then later picked up by the newly formed Sparkle Project open source group on GitHub in June 2014 as the official continuation of the project.[19]. Their first release was 1.6 which included the changes from 1.5 and was the First spark of 2014.

In 2016 it was found that applications that use Sparkle to receive updates through an unencrypted channel, were vulnerable to a man-in-the-middle attack.[20]

List of Notable apps using Sparkle

Sparkle has been used by thousands of Mac applications[21]. This is small list of notable applications using Sparkle:

Sparkle inspired alternatives for other platforms

References

  1. ^ a b "Releases · sparkle-project/Sparkle". GitHub. 2024-03-25. Retrieved 2024-03-25.
  2. ^ "sparkle-project/Sparkle: A software update framework for macOS". GitHub. 2024-03-25. Retrieved 2024-03-25.
  3. ^ Matuschak, Andy. "Sparkle". Retrieved 12 January 2006.
  4. ^ Scott Granneman (2010). Mac OS X Snow Leopard for Power Users. Apress. pp. 9–10. ISBN 9781430230311.
  5. ^ Matuschak, Andy. "documentation.pdf" (PDF). Retrieved 24 June 2006.
  6. ^ Matuschak, Andy. "Sparkle".
  7. ^ Harrington, Tom. "ironcoder - Sparkle Plus!". Retrieved 5 July 2006.
  8. ^ "Adium - Blog - An Interesting Experiment". Retrieved 22 December 2006.
  9. ^ "Sparkle GitHub Releases (Page 9)". Retrieved 29 March 2024.
  10. ^ "Sparkle: a free software update framework for the Mac (Old)". Retrieved 3 November 2013.
  11. ^ "Engadget - Sparkle 1.5b1".
  12. ^ "Add a command-line tool that can generate and apply a binary delta between two versions of an application".
  13. ^ "launchpad - delta-updates".
  14. ^ "WebKit Team". Retrieved 29 March 2024.
  15. ^ "Engadget - WebKit adds some Sparkle".
  16. ^ "Can I make differential (incremental) updates where only the changed files are downloaded?".
  17. ^ "Landing delta-updates".
  18. ^ "Sparkle GitHub Releases (Page 9)". Retrieved 29 March 2024.
  19. ^ Andy Matuschak [@andy_matuschak] (June 29, 2014). "Sparkle development's moving to a Github org of volunteers. Thanks, @jakepetroules and @pornelski" (Tweet) – via Twitter.
  20. ^ Dan Goodin (2 September 2016). ""Huge" number of Mac apps vulnerable to hijacking, and a fix is elusive". Ars Technica. Retrieved 29 March 2024.
  21. ^ "Sparkle: open source software update framework". Retrieved 29 March 2024.

External links