Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A software update framework for the Mac
Objective-C C
branch: master

This branch is 4 commits ahead, 711 commits behind sparkle-project:master

Failed to load latest commit information.
Configurations [Bug 611564] [NEW] sparkle fails to build with clang due to -Werror.\…
SUStatus.nib Fixes bug #337331: "Status progress still doesn't animate"
Sparkle.xcodeproj modernization of project files
Test Application Giving the "seconds" field a little more space.
Tests Fixes 243884
ca.lproj Don't use unicode in NSString literals
cs.lproj Updates to the Czech localization.
cy.lproj
da.lproj Updated Danish localization courtesy David Munch.
de.lproj Fixing bug 570023; two minor localization changes.
el.lproj Added string files for current translations of nibs and removed all n…
en.lproj Updated Slovak localization; thanks to Rudolf Gavlas
es.lproj Fixing 578060: minor Spanish localization fix
fi.lproj Don't use unicode in NSString literals
fr.lproj Added new IB3 files for the changed localizations in the last revision.
he.lproj Don't use unicode in NSString literals
hu.lproj
id.lproj
is.lproj Added Icelandic localization courtesy Steingrímur Árnason.
it.lproj Bug #423014: "Translation errors in Spanish and Italian"
ja.lproj Fixing 572066: some fixes to the Japanese localization.
ko.lproj Added Korean localization courtesy 동성...
nl.lproj Bug #381138: "Translator erros on check updates dialog"
no.lproj Don't use unicode in NSString literals
pl.lproj Added Polish localization courtesy Grzegorz Wilk.
pt_BR.lproj Added brazilian portuguese localization courtesy Paulo Neto.
pt_PT.lproj Added Portuguese translation courtesy Sérgio Miranda. Thanks!
ru.lproj Updated Russian localization courtesy Alexandr.
sk.lproj Updated Slovak localization; thanks to Rudolf Gavlas
sv.lproj Added new IB3 files for the changed localizations in the last revision.
th.lproj
tr.lproj Added Turkish localization courtesy Tasin Is.
zh_CN.lproj Added Danish, Chinese Traditional, and Chinese Simplified translation…
zh_TW.lproj Added Danish, Chinese Traditional, and Chinese Simplified translation…
Info.plist force Sparkle to use my own bundle identifer
License.txt Add a command-line tool that can generate and apply a binary delta be…
Makefile Fixed up localization stuff for new strings and restored compatibilit…
NTSynchronousTask.h performed a code review, specifically:
NTSynchronousTask.m fixed warning by moving private methods higher in the source file
README.markdown added readme file.
Relaunch Tool-Info.plist force Sparkle to use my own bundle identifer
SUAppcast.h Fixing #502212: clang static analyzer identifies 2 leaks in Sparkle code
SUAppcast.m Fixing ridiculous error in the last commit caused by non-initializati…
SUAppcastItem.h Merge commit 'bdash/delta-updates'
SUAppcastItem.m Bug #681912: Sparkle naively double-escapes enclosure URLs
SUAutomaticUpdateAlert.h Beginnings of insane SUHost-based refactoring to get rid of NSBundle+…
SUAutomaticUpdateAlert.m Fixing #341643: "wrong version number in automatic update alert"
SUAutomaticUpdateDriver.h performed a code review, specifically:
SUAutomaticUpdateDriver.m Fixing Bug #274872: "Activate host app on automatic update when when …
SUBasicUpdateDriver.h Add support for parsing an extended <sparkle:deltas> element in the a…
SUBasicUpdateDriver.m Fixing #601842: Chromium crashes when 'Install and Relaunch' is clicked
SUBinaryDeltaApply.h Add a command-line tool that can generate and apply a binary delta be…
SUBinaryDeltaApply.m Merge commit 'bdash/delta-updates'
SUBinaryDeltaCommon.h Fix 10.4 compatiblity broken by delta updates.
SUBinaryDeltaCommon.m Forgot to close dangling file descriptor in previous commit.
SUBinaryDeltaTool.m Fixed some silly compiler warnings.
SUBinaryDeltaUnarchiver.h Add an unarchiver for the delta format so that Sparkle can successful…
SUBinaryDeltaUnarchiver.m Fix 10.4 compatiblity broken by delta updates.
SUConstants.h Added a new Info.plist key: SUPromptUserOnFirstLaunch. Set this to YE…
SUConstants.m Added a new Info.plist key: SUPromptUserOnFirstLaunch. Set this to YE…
SUDSAVerifier.h Fixes 253967
SUDSAVerifier.m Call EVP_MD_CTX_init and EVP_MD_CTX_cleanup.
SUDiskImageUnarchiver.h Fixes 236695
SUDiskImageUnarchiver.m code review of CFRelease usage, minor changes
SUHost.h performed a code review, specifically:
SUHost.m code review of CFRelease usage, minor changes
SUInstaller.h renamed all methods that start with underscore, since that's reserved…
SUInstaller.m renamed all methods that start with underscore, since that's reserved…
SUModelTranslation.plist Added 2008 iMac to the model translation list.
SUPackageInstaller.h More security tidbits!
SUPackageInstaller.m No longer hardcoding the Installer tool's relative executable path fo…
SUPipedUnarchiver.h Fixes 236695
SUPipedUnarchiver.m renamed all methods that start with underscore, since that's reserved…
SUPlainInstaller.h Removed SL-deprecated NSFileManager methods. Left the old ones around…
SUPlainInstaller.m renamed all methods that start with underscore, since that's reserved…
SUPlainInstallerInternals.h Fixing:
SUPlainInstallerInternals.m renamed all methods that start with underscore, since that's reserved…
SUProbingUpdateDriver.h Improved delegate names and made SUProbingUpdateDriver use SUUpdater'…
SUProbingUpdateDriver.m Fixed the total failure of the SUProbingUpdateDriver to notify its de…
SUScheduledUpdateDriver.h performed a code review, specifically:
SUScheduledUpdateDriver.m SUScheduledUpdateDriver doesn't call updaterDidNotFindUpdate
SUStandardVersionComparator.h Numerous minor changes courtesy Sean McBride. Mostly clarifications.
SUStandardVersionComparator.m all but a few places use the typical [[[foo alloc] init] autorelease]…
SUStatusController.h performed a code review, specifically:
SUStatusController.m performed a code review, specifically:
SUSystemProfiler.h Fixes 243884
SUSystemProfiler.m performed a code review, specifically:
SUUIBasedUpdateDriver.h Improved notification handling for otherwise UI-less background appli…
SUUIBasedUpdateDriver.m renamed all methods that start with underscore, since that's reserved…
SUUnarchiver.h Merge commit 'bdash/delta-updates'
SUUnarchiver.m Merge commit 'bdash/delta-updates'
SUUnarchiver_Private.h Merge commit 'bdash/delta-updates'
SUUnarchiver_Private.m Merge commit 'bdash/delta-updates'
SUUpdateAlert.h
SUUpdateAlert.m performed a code review, specifically:
SUUpdateDriver.h performed a code review, specifically:
SUUpdateDriver.m performed a code review, specifically:
SUUpdatePermissionPrompt.h Fixes 251968
SUUpdatePermissionPrompt.m Fixed a crash causes by a additional autorelease.
SUUpdater.h performed a code review, specifically:
SUUpdater.m Added a new Info.plist key: SUPromptUserOnFirstLaunch. Set this to YE…
SUUserInitiatedUpdateDriver.h performed a code review, specifically:
SUUserInitiatedUpdateDriver.m fixed warning by moving private methods higher in the source file
SUVersionComparisonProtocol.h Numerous minor changes courtesy Sean McBride. Mostly clarifications.
SUWindowController.h Fixed 251010
SUWindowController.m performed a code review, specifically:
Sample Appcast.xml Updated sample appcast to be appropriate for DSA signatures being req…
Sparkle.h Reordered Sparkle.h to emphasize SUUpdater.h
Sparkle.icns Holy restructuring, batman! Watch out for falling folders.
Sparkle.pch force Sparkle to use my own bundle identifer
bsdiff.c Don't compress in bsdiff.
bspatch.c Don't compress in bsdiff.
bspatch.h Merge commit 'bdash/delta-updates'
generate_keys.rb Generate keys that actually work with openssl.
relaunch.m Link against Cocoa rather than AppKit and Foundation.
sign_update.rb Alright, guys. No more Mr. Nice Sparklepants. Sparkle now requires ei…

README.markdown

Sparkle

is an easy-to-use software update framework for Cocoa developers.

  • True self-updating--no work required from the user.

  • Displays release notes to the user via WebKit.

  • Displays a detailed progress window to the user.

  • Supports authentication for installing in secure locations.

  • Really, really easy to install.

  • Uses appcasts for release information.

  • The user can choose to automatically download and install all updates.

  • Seamless integration—there's no mention of Sparkle; your icons and app name are used.

  • Supports DSA signatures for ultra-secure updates.

  • Sparkle requires no code in your app, so it's trivial to upgrade or remove the module.

New in Sparkle 1.5:

  • Optionally sends user demographic information to the server when checking for updates.

  • Dual-mode garbage collection support for any memory management style.

  • Sparkle doesn't bug the user until second launch for better first impressions.

  • Sparkle can install .pkg files for more complicated products.

  • Supports bundles, preference panes, plugins, and other non-.app software.

  • Supports branches due to minimum OS version requirements.

  • Deep delegate support to make Sparkle work exactly as you need.

  • Tons of other stuff! Read more about what's new.

Something went wrong with that request. Please try again.