A decentralised cross-platform software installation system.
Works on Linux, Windows and macOS. Fully open source.
Run apps with a single clickRun applications without having to install them first.
Control everything from a command-line or graphical interface.
You control your own computerYou don't have to guess what happens during installation.
Mix and match stable and experimental apps on a single system.
Anyone can distribute softwareCreate one package that works on multiple platforms.
Publish on any static web host; no central point of control.
With dependency handling and automatic updates.
Security is centralInstalling an app doesn't grant it administrator access.
Digital signatures are always checked before new software is run.
Apps can share libraries without having to trust each other.
- Jan 2020
- Introduced apps.0install.net, which provides Zero Install feeds for common tools, libraries and runtime environments. 0install 2.15.1 released and new releases of various Python tools, mainly to support Python 3.
- Dec 2019
- 0install 2.15 released. This provides an alternative OCaml HTTP backend, which makes it easier to distribute the generic binaries without libcurl linking problems.
- Nov 2019
- The website has been redesigned to be simpler and more mobile-friendly.
- Oct 2019
Much of the documentation has been converted to markdown format and merged with the Windows
documentation. The new documents are hosted on the new docs.0install.net site. Some of the guides have also been updated. There have been bug-fix releases of 0compile and the old Python version of 0install. 0release 0.16 has been released, adding Windows support and the
<release:update-version>element for updating any version numbers embedded in your code.
- May 2019
- 0install 2.14.1 released, fixing a bug handling HTTP redirects when using HTTP/2. 0compile 1.5 released, fixing some minor bugs.
- Apr 2019
- 0install 2.14 released, adding support for the
<package-implementation version=...>attribute and converting the build system to Dune.
- Jul 2018
- 0install 2.13 released, adding support for
<file executable='true'>, and 0install 2.15 for Windows, with various changes including support for
- May 2018
- The main 0install.net web-site now supports https (due to GitHub adding support for it on custom domains).
- Apr 2018
- 0repo 0.6 released. This adds a new
0repo modifycommand, which makes it easy to promote a release to
stable, and fixes an error about multiple sub-keys when used with newer versions of gpg.
- Dec 2017
- 0install 2.12.3 released. The main change is that the bug reporter now uses a new service (SourceForge no longer delivers email, so the old address had stopped working). There are also some minor improvements to the native package manager support on Debian, and code updates to work with OCaml 4.06 and Lwt 3.0. The web-site is now hosted on GitHub (the bug reporter was the only thing keeping us on SF). 0repo 0.5.2 was released, fixing some bugs.
- Sep 2017
0install 2.12.2 released. This fixes a bug handling large HTTP redirect pages and updates the build to cope with various upstream changes.
0repo 0.5 released. This provides better support for hosting on S3, has more configuration options to disable certain checks, and makes it easier to import missing archives.
- Aug 2017
- 0watch released - this monitors an upstream site and adds new releases using 0template. 0template 0.5 released. This has better support for Windows and can generate archives automatically.
- Jun 2017
- 0install 2.13 for Windows released, including support for
copy-fromand extracting from
- Apr 2017
- 0install 2.12.1 released. This is mainly small updates to the build to cope with various changes in upstream packages.
- Oct 2016
- 0install 2.12 released. This is mainly code cleanups and improvements to the build. A minor caching bug, which resulted in some unnecessary extra work being done, was fixed.
- Apr 2016
- 0install 2.11 for Windows released, with a new installer, support for .tar.xz archives, and some bug fixes. The OCaml code can now be built easily on Windows, using the new OPAM support.
- Mar 2016
0install 2.11 released, with support for the latest PackageKit API, a way to specify a particular version by ID (for tools) and a change to
ZEROINSTALL_PORTABLE_BASEto be compatible with the Windows version. Some bugs were fixed, including an error if the user had a
~/bindirectory in PATH but the directory didn't exist.
0install 2.10 for Windows released, including new
0install store add-dir / remove-dir / exportcommands and use of the OCaml solver (removing the old embedded Python solver and reducing the download size by over 50%).
- Feb 2016
- The Windows version of 0install can now use the new OCaml solver.
- Nov 2015
- 0install 2.10 released. This has several bug fixes and improvements for OS X, including support for finding the native make and Java 8 packages. The diagnostics now provide detailed information about why a feed was missing (didn't download, was empty, error from PackageKit, missing DBUS support, etc).
- Sep 2015
- 0install 2.9 and 2.9.1 released, adding a
0install select --may-compileoption and some bug fixes. Our Travis tests now also test on OS X and, as a result, our test-suite now passes there. There's also another effort to get the 0install Homebrew formula approved. 0install 2.9 for Windows was released, with many new features. 0template 0.3 was released, adding Windows support.
- Aug 2015
0publish 0.25 released, with Windows support and an XML namespacing fix.
0repo 0.4 released - new features include searching in the catalogue, a
0repo servecommand to test locally, and Windows support.
- Jul 2015
- 0install 2.8.1 and 2.8.2 for Windows released with some minor bug fixes. 0publish 0.15 released, adding Windows support.
- Jun 2015
- 0install 2.8 for Windows released. Changes: improve updating of stale feeds, automatically close running applications when removing them from the implementation cache, OneGet integration, more detailed
--verboseconsole output, and many small tweaks and bugfixes.
- Apr 2015
- Version 2.7.2 for Windows released. This adds
0install import-apps, a
--backgroundoption to activate the tray icon, and a fix for the
Could not find "implementation-dirs"error.
- Feb 2015
- The --may-compile feature is now merged. This means that the 0install solver can now find selections that require first compiling some of the components. This should be useful for people writing build tools (such as 0compile).
- Jan 2015
2014 was a busy year for 0install. We released 0install 2.6, completing the port from Python to OCaml, added a JSON API to allow other programs to use 0install easily, split the Debian package into separate
0install-corepackages to make using it easy on headless servers, and refactored the solver (allowing support for dependencies on source code). Work is currently continuing on moving 0compile's autocompile feature into 0install itself, which should make working with source code much easier. The Windows version also saw many new features - see 0install.de/news for details.
- Dec 2014
0install 2.8 released, adding support for dependencies on source code (e.g. for header files), for selecting a source and binary implementation of the same interface (e.g. for a compiler that compiles itself), and for using credentials from .netrc (for protected repositories). The updates to the solver are described in the blog post Simplifying the Solver With Functors.
A maintenance release of the old Python version - 0install 2.3.4 - adds support for SNI certificate verification and local file references from local feeds. 0compile 1.4 was released, adding support for
pin-components(makes the resulting binary depend on a similar version of the source), and
if-0install-version(useful if you want 0compile to see an element, but generate a plain
if-0install-versionattribute in the generated binary feed).
- Nov 2014
- 0install gained support for source dependencies (where one program depends on the source code to another). The OPAM OCaml package manager is now available through 0install, as described in the Binary distribution with 0install blog post, which also explains how to publish software using 0template.
- Oct 2014
0install 2.6.7 for Windows was released (bugfixes and performance improvements), as well as
0template 0.2 - new features include support for Windows and
<recipe>s. The solver code has been refactored (see the Simplifying the Solver with Functors blog post for details), which should make it easier to understand and more flexible. In particular, it can now support building a compiler with a build dependency on an earlier version of the same compiler. Finally, here's a video of a short Introduction to 0install talk from OCaml 2014.
- Sep 2014
- Lots of progress on auto compilation support in 0install. This allows 0install to compile missing dependencies from source automatically (previously, this required getting and running 0compile).
- Aug 2014
- There's a new 0bootstrap-php service for creating installation scripts for Windows and Unix for users who don't want to learn about 0install before installing something. The bug reporting tool now offers hints for common problems. Work has started on a queuing service to support 0repo repositories for groups (where multiple developers can submit new packages to a shared repository and have them imported by a service).
- Jul 2014
- 0compile gains support for a "pin-components" attribute, to say that a source implementation can build against different versions of a library, but whichever version is picked, the resulting binary must run with a similar version (e.g. same major.minor components). The Python to OCaml: Retrospective blog post looks back at the now-complete porting work.
- Jun 2014
0install 2.7 released. This contains lots of minor fixes and code cleanups, better binary compatibility (we no longer depend on OpenSSL and don't require GLib unless the GUI is used). Installation on Windows is now much simpler and
0install selectshould be working correctly there (unpacking archives requires a .NET helper, however). A new Generic OS X application bundle template for 0install applications makes it easy to create an installer for OS X users who don't already have 0install.
- May 2014
- In Debian, the old
zeroinstall-injectorpackage has been replaced by separate
0install-corepackage doesn't include the GTK GUI, which is very useful on headless servers because it doesn't pull in the whole GUI stack. 0install 2.6 for Windows was released. There are now NuGet packages, allowing 3rd party .NET developers to integrate Zero Install functionality into their applications. There's a new 0install Homebrew package for OS X users.
- Apr 2014
0install 2.4, 2.5 and 2.5.1 for Windows released: new support for CAB and MSI archives,
0store auditnow offer to automatically remove damaged implementations, new
0store purgecommand removes all implementations from the cache (useful when uninstalling, manual deleting is difficult due to ACLs), new
0install centralcommand opens the main GUI (same as
ZeroInstall.exe), fixed extraction of TAR archives with long path names. Work has also started on integrating the new OCaml solver with the .NET code.
The new 0install JSON API is now documented.
- Mar 2014
- 0install 2.6.1 and 2.6.2 were released, allowing building byte-code for systems without a native OCaml compiler and fixing a bug on RPM-based systems handling distribution packages with very large version numbers. There are now Arch and Fedora packages of the new OCaml version, though the Debian package is still stuck in NEW.
- Feb 2014
- 0install 2.6 released, completing the Python to OCaml transition. 0repo 0.3 released (0repo provides an easy way to manage the software you publish, generating the files needed to upload to your web-server). Brian Shannon has created a Marketplace web-app and is looking for feedback.
- Jan 2014
- 0install 2.6-rc1 released. 0install 2.6 completes the transition from Python to OCaml. There is no remaining Python code in 0install and, therefore, no need to have Python installed in order to build or run it. However, there are some problems using the GTK plugin on OS X - see the thread for details. There's also another blog post in my series for people wanting to get up to speed on OCaml: Polymorphism for Beginners.
- Dec 2013
Bastian Eicher announced the NEW Zero Install Publishing Tools, which has a feed editor with a split screen with graphical and XML view, plus a wizard for creating new feeds.
All the remaining non-GUI code in 0install has now been migrated to OCaml. This means that on headless servers you don't need to have Python installed in order to use (the Git version of) 0install! See the Asynchronous Python vs OCaml blog post for the latest technical details of the port. The next step is to migrate the GTK GUI.
- Nov 2013
- 0install 2.5 released, continuing the work of porting the code to OCaml (17,000 lines of code now). The main remaining tasks at this point are the GUI and the native package-manager integration. For these, the OCaml code still falls back to using the old Python code. See the Porting progress thread for details.
- Oct 2013
- 0install 2.4 released. The main new feature is that a large amount of code (more than 10,000 lines) has been converted from Python to OCaml, giving a large (~10x) speedup in many cases. New features include local paths in
<file>elements (useful for testing things locally) and tab-complation for 0launch. For people wanting to work on it, see this overview of the new code. The next step is to migrate the download code to OCaml.
- Sep 2013
- 0install 2.3.3 released. This is a minor bug-fix release, while most of the effort goes to making progress on the new OCaml version. The Zero Install Maven Integration project is now available on GitHub.
- Aug 2013
- 0install 2.3 was released, with the new OCaml front-end to make launching apps much faster, tab completion for the Fish shell and support for relative archive paths in local feeds (this is useful for testing). 0install 2.3 for Windows was released, with a new per-user installer for use without administrator permissions. Since the release, we have been porting more of the code to OCaml: Tab-completion is now converted and therefore much more responsive. Other discussions included the announcement of an updated Firefox plugin and plans for a web-based Zero Install Market.
- Jul 2013
To improve the speed of 0install, we looked at some candidate languages to replace Python: ATS, C#, Go, Haskell, OCaml, Python and Rust. See Round 1 and
Round 2 for the evaluation. As a result of this,
there is now an
ocamlbranch in the 0install Git repository, where a very fast OCaml front-end handles speed-critical tasks, falling back to the Python version for everything else. Please test it and let us know how it works. Partly as a result of this, the selections.xml file format is now documented.
- Jun 2013
- 0install 2.2 released with some bugfixes and performance improvements. 0repo 0.1 and 0.2 released - this software is now being used to manage the 0install.net feeds. 0release 0.15 released, providing integration with 0repo. Canonical discuss using 0install in Ubuntu. We're also looking at implementing 0install in some other language - Thoughts on a faster, smaller zeroinstall-core contains benchmarks of various proposed languages (ATS, Haskell, OCaml, Rust, C# and Python).
- May 2013
0install 2.1 released: new features include the
0install searchcommand (to search for programs on the Internet), support for win-bash (which means that using a shell command as the 0compile build command now works on all platforms), a
<remove>recipe step, a generic
<binding>element (for custom bindings), support for .xz compressed Debian archives, and support for Python 3's Tulip mainloop (as an alternative to GLib). 0install 2.1 for Windows was released, including support for
<file>(single-file) downloads (the non-Windows 2.1 release's
<file>support is buggy; it will be fixed in 2.2).
Development has started on 0repo, a tool to make publishing and managing a collection of feeds simpler. Feedback from alpha testers welcome!
A new Maven integration service is now up and ready for testing - this provides automatically-generated 0install feeds for Maven jars (note: requires working
- Apr 2013
In other news, the new 0template tool provides an easy way to make source and binary feeds for published software. It should be easier to use than 0publish, especially for scripts. 0publish 0.24 and 0publish-gui 0.14 were released, with some bug-fixes. A proof-of-concept for supporting overlays on Linux was created.