Version 0.5.6
~~~~~~~~~~~~~~
Released: 2016-02-28

Features:
 * Set path variables in the build venv as well
 * cli: Allow ignoreing foundations when installing
 * bcli: Print bundle name we are building before starting the build
 * bcli: Allow ignoring foundations as well
 * Store the component-type in local package metadata
 * Add privilege helper for cache refreshes
 * Split the update function into smaller parts
 * Add privilege helper for update actions
 * Add experimental code to allow in-chroot Limba bundle installations
 * builder: Place internal host link in /host
 * bcli: Be more verbose when installing build-deps
 * Look for locally supplied dependencies first when installing
 * Always add architecture to auto-generated bundle filename
 * bcli: Execute helper for installations in the build venv
 * policy: Allow any active user to refresh the Limba cache

Bugfixes:
 * Fix PolKit rules file
 * bcli: Ensure using external chroot envs works
 * bcli: Work in usrmerged systems
 * bcli: Flush stdout after printing a section header
 * Fix crash when someone passes NULL as package ID to LiManager
 * Fix various update-related bugs
 * builder: Fix some more quirks in the build environment
 * Use libc functions instead of GIO for loading plaintext config

Version 0.5.5
~~~~~~~~~~~~~~
Released: 2016-01-20

Features:
 * Simplify symlink handling on installations
 * Make cleanup routines smarter and more "aggressive"
 * Improve package-graph for use outside of LiInstaller
 * testrunner: Use execv() to replace the process tree
 * Refactor package graph
 * Recursively select dependencies in the dependency graph
 * test: Minor fixes for keyring test
 * bcli: Fix some quirks and show full list of missing SDKs
 * bcli: Make /app directory writable for build process
 * Improve keyring handling and allow vendor to auto-supply trusted keys
 * cli: Allow refreshing keyrings
 * tests: Run signed-package tests without any user interaction
 * bcli: Make executor run a script to preserve directory changes and env vars
 * Update README
 * bcli: Allow any user to write stuff to /app and make use of sudo possible
 * bcli: Load user groups in virtual environment
 * lipkgen: Output bundles with sane filenames by default
 * cli: Allow installing untrusted local packages
 * l10n: Update

Bugfixes:
 * Reversed limba-build dependency overlay order. (Jesse Pullinen)
 * Fix a few minor memory leaks
 * pkgen: Handle symbolic links correctly
 * Don't try to set permissions on symlinks
 * Don't fail removals if exported file is gone for some reason
 * cli: Never make progress bar vanish when changing state
 * Make tools deal with umask set in a root environment
 * bcli: Don't fail creation of build environment by building impossible graph
 * Don't sign the dsc file if we are already not signing the package
 * bcli: Deal with environment variables like users would expect it

Version 0.5.4
~~~~~~~~~~~~~~
Released: 2015-12-12

Features:
 * Use /app as default prefix and make Limba env more like xdg-app
 * Split out primitives to create a runtime environment
 * Allow apps access to user session data and the DBus system bus
 * Make build environment more like runtime environment
 * Support the latest AppStream release
 * Use new GLib macros

Bugfixes:
 * Check for libcap
 * bcli: Make build process work again
 * Fix some quirks in signing error reporting
 * We want a writable /tmp in runtime environments
 * Make building documentation work and fix existing docs

Version 0.5.3
~~~~~~~~~~~~~~
Released: 2015-11-10

Notes:
 * This release contains some pretty invasive changes. It also
   marks the point where Limba is pretty much feature-complete,
   so expect a lot of polishing during the next releases, and
   please intensively test this release.
 * If you are using Linux 4.2 and try to use limba-build, you might
   run into this kernel regression: https://lkml.org/lkml/2015/10/7/289
   We can't work around this in Limba, so consider patching/updating
   your kernel.

Features:
 * Build development IPK packages
 * Enforce a naming scheme for SDK package IDs
 * Correctly define dependencies of SDK packages
 * Make bundle IDs follow an "id/version" scheme, instead of "id-version"
 * runapp: Drop unneeded capabilities as early as possible
 * Treat development packages just like any other pkg
 * Allow disabling automatic signature validation at install-time
 * Implicitly trust packages we downloaded from a trusted repo
 * Add bundle type information to the main index
 * Simplify OverlayFS mounting, this also works around a kernel regression
 * Allow sources.list to define which index kinds to download
 * Compile with C11
 * Make the cache download SDK and source metadata
 * repo: Create separate index for SDK bundles
 * bcli: Build new bundles using the SDK bundles
 * bcli: Document the run-shell command
 * runapp: Make it easier to get a shell in the app environment
 * docs: Update runapp manpage

Bugfixes:
 * Write just one DSC file per build
 * repo: Don't add SDK packages to AppStream metadata
 * Fix building of AppStream icon tarball

Version 0.5.2
~~~~~~~~~~~~~~
Released: 2015-10-14

Features:
 * Call limba binary in cleanup service
 * bcli: Rescue build artifacts
 * tests: Add simple build recipe for foobar
 * docs: Add initial bits needed to build Limba documentation
 * bcli: Move the make-template command to limba-build
 * Make use of the new autoptr macro in GLib

Bugfixes:
 * Ensure user details are properly set when building a package

Version 0.5.1
~~~~~~~~~~~~~~
Released: 2015-09-02

Features:
 * Automatically clear TryExec key from .desktop files
 * Add a couple more GPG options
 * Improve key importing
 * cli: Make progress-bar look a bit nicer
 * Write signed dsc file for Limba packages
 * Take payload data from 'target' subdirectory
 * Rename libuild to licompile
 * Rename the Limba tools to have more descriptive names
 * Issue less blocking DBus calls in limba-daemon
 * Watch the bus for the limba-daemon service name
 * cli: Allow removing/installing software via the helper daemon
 * Add new ABI-Breaks_versions field to indicate versions containing ABI breaks
 * bcli: Port from lipkbh
 * Drop old build-helper (lipkbh) Python prototype
 * bcli: Allow building in a fancy chroot environment
 * bcli: Put build jobs into their own scope using systemd
 * Add small manpage for limba-build

Bugfixes:
 * The AppStream metadata file should not be created as directory
 * Fix some GI annotations
 * Verify signatures against a specific keyring
 * Fix crash when checking for updates
 * runapp: Properly put new processes into scopes

Version 0.5.0
~~~~~~~~~~~~~~
Released: 2015-06-26

Features:
 * Make use of new OverlayFS multi-layer feature
 * Drop redundant code from LiRuntime
 * Simplify update process
 * Improve cruft cleanup methods
 * l10n: Update l10n information
 * Implement user-friendly progress notifications
 * lipa: Show a fancy progress bar
 * lipa: Show some process details when installing
 * Recognize experimental X-Repository package property
 * Extract AppStream icons for use in package repos
 * Implement new repository layout
 * The LiPkgCache is public API now
 * Add DBus method to install package from a remote source
 * mgr: Add method to easily retrieve bundle status via its ID
 * Use helper daemon for removal actions as well
 * lirepo: Export AppStream icon tarballs
 * Add icon information to AppStream XML
 * Download and extract AppStream icon tarballs from the remote

Bugfixes:
 * Fix potential crash in the helper daemon
 * installer: Fix a rare unref assertion error

Version 0.4.2
~~~~~~~~~~~~~~
Released: 2015-03-28

Features:
 * Add quick&dirty lipkg schroot builder
 * Install the package build helper
 * Add udev foundation
 * Interpret foundation dependencies
 * Export application icons
 * Add note about translations
 * Add runtime kernel version check for Linux 3.18
 * tests: Create test virtual environment in separate binary

Bugfixes:
 * Fix bug causing the IPK payload archive to be layouted incorrectly
 * Update manpages

Version 0.4.1
~~~~~~~~~~~~~~
Released: 2015-03-10

Features:
 * Include contrib/ directory
 * Inject multiarch library path into the application's environment
 * Improve the updates API
 * Rewrite buildlist Vala code to C code

Bugfixes:
 * Fix some GIR annotations
 * Install .desktop files into local/share/applications to override distro packages
 * runapp: Ensure argv0 of a spawned application is always its absolute executable path
 * Create applications directory if it doesn't exist yet

Version 0.4.0
~~~~~~~~~~~~~~
Released: 2015-02-20

Features:
 * Add new lirepo tool to create repositories
 * Allow adding packages to a repository
 * Compress Index file of repositories
 * Make cache download repository metadata
 * repo: Register AppStream metadata files
 * Use Freedesktop namespace for DBus service and PolKit rules
 * Make Limba DBus service kdbus-safe
 * Encode architecture in repo package names
 * Allow Limba to query the package cache
 * Write single cache file for AppStream metadata
 * Use the new "bundle" tag in AppStream 0.8
 * Implement installations from remote sources
 * Handle multiple architectures inone repository
 * Sign repositories by default
 * lipa: Add command to receive & trust a key
 * tests: Add fake GPG home with dummy key
 * lipa: Implement command to install remote package
 * Encode requirements in runtime definition
 * Set systemd service name in D-Bus service file
 * Implement a very simple way of listing potential updates
 * Implement update mechanism


Bugfixes:
 * Use pool.sks-keyservers.net as default keyserver
 * Fail with a less scary message if signing key could not be fetched
 * Collect cruft packages on system shutdown
 * Get rid of all unit-test hacks by creating a fake root environment
 * Perform some loose kernel version checks before compiling Limba
 * Disable Travis CI: We need a recent kernel with OverlayFS now
 * Fix keyring test again, by giving the test container network access
 * Fix some potential bugs found by static code analysis
 * Don't filter languages when reading AppStream metadata
 * Fool the testsuite, since GPGMe is still not behaving like the docs say
 * Don't list faded packages as installed

Version 0.3.0
~~~~~~~~~~~~~~
Released: 2015-01-08

Notes:
 * The Limba package sources are now expected in the lipkg/ subdirectory
 * Packages are signed by default. Pass the --no-signature option to
   lipkgen to disable this. Package signing requires a running GPG agent
   at time.

Features:
 * Allow installations without setting the suid bit
 * Improve performance of the config parser
 * Add initial foundations list
 * Implement support for signing packages
 * Handle arch:any notation in package sources
 * Validate signatures of IPK packages
 * lipkgen: Allow disabling of package-signing
 * Expose trust-level in installer
 * lipkgen: Print better signing result messages
 * Use PolKit to check for authorization
 * Call helper for privileged local-install action
 * Don't use the generic, odd "pkginstall" name for lipkg sources
 * Time out helper daemon on inactivity
 * Write improved compiler error output in maintainer mode

Bugfixes:
 * runapp: overlayfs is called overlay (Harald Hoyer)
 * runapp: Use "overlayfs" on older Linux kernels
 * Fix typo in runapp.c (blackout24)
 * lipkgen: Fix extraction of packages if no destination directory is defined
 * Check for architecture match when installing
 * Always create format-versioned packages
 * Warn about empty package-ids
 * When loading pkg metadata, do not override metainfo values with NULL
 * Dont crash if we encounter e.g. a non-armored signature
 * Increase GPG keyserver timeout
 * Adjust to AppStream API changes

Version 0.2.0
~~~~~~~~~~~~~~
Released: 2014-12-02

Notes:
 * This version is still experimental and not API-stable
 * This release uses /opt/bundle as root prefix now.

Features:
 * Add write-support for package-index
 * Implement support for installing packages with embedded dependencies
 * Implement embedded-dependency generation into package builder
 * Compress base IPK archive using GZip
 * Make API a bit more GUI-friendly
 * Allow using a different AppStream library for data loading
 * lipkgen: Allow generating a very simple project structure
 * Register wrappers for new binaries
 * Allow dependencies in child packages to be satisfied by parent-packages
 * Only register commands for executable files in /bin
 * Make installer respect version number and version relations
 * lipkgen: Try to pretty-print the autogenerated XML
 * Write a magic number into IPK packages
 * Mark packages which have not been installed manually as automatic
 * Use /opt/bundle as root
 * lipkgen: Add command to dump the contents of a package
 * lipa: Add command to clean up unused packages


Bugfixes:
 * Get rid of li_touch_dir helper
 * Test for component metadata earlier
 * Add more GIR annotations
 * Clean up blank values in config metadata
 * Only add ROOT/lib to LD_LIBRARY_PATH
 * Only create a runtime for packages which need one
 * Make sure we always create complete runtimes on installation
 * Reset cache after cleanup

Version 0.1.0
~~~~~~~~~~~~~~
Released: 2014-11-16

Notes:
 * This is the very first release of Limba!
 * This project is not yet ready, this release is for interested
   people who want to play around with it.
   Limba is still a proof-of-concept.
