Back to the news overview

LXD 2.0.0.beta3 release announcement

18th of February 2016

The main changes for this release are

  • "lxc publish" can now be forced to publish running containers (it will temporarily stop them)
  • "lxc image list" now shows images sorted by description
  • Complete review of the REST API and update to make it all match the specification.
    • GET /1.0 now shows the "public" field
    • GET /1.0/certificates now returns a valid list of endpoints
    • GET /1.0/containers/NAME for performance reasons no longer returns the detailed container runtime status ("status" key), a separate query to /1.0/containers/NAME/state is now needed
    • GET /1.0/containers/NAME/logs now returns a valid list of endpoints
    • POST /1.0/containers/NAME/snapshots no longer requires the "stateful" field to be set (defaults to false)
    • POST /1.0/images now lets you override "properties" and "filename" for all supported input types
    • GET /1.0/images/aliases/NAME now returns valid data (the "name" and "target" fields were swapped)
    • POST /1.0/images/aliases/NAME has been implemented
    • PUT /1.0/images/aliases/NAME has been implemented
    • GET /1.0/images/FINGERPRINT no longer shows an empty "target" field for aliases
    • GET /1.0/networks/NAME has been re-designed
    • GET /1.0/operations/UUID/wait?timeout=X now actually times out
    • POST /1.0/profiles/NAME has been implemented
    • All timestamps are now RFC3339 strings and consistently named (created_at, updated_at, expires_at, uploaded_at)
    • Synchronous replies no longer contain an empty "operation" field
  • Extra security now applies for cross-server communication:
    • Unless a certificate is passed along with the query, the following operations now require the remote certificate to be valid according to system CA:
      • Container creation from migration (copy, move & live migration)
      • Container creation from remote image
      • Image copy from other LXD server
      • Image import from https
    • The command client will automatically set the necessary "certificate" field for you for those requests
  • Starting with this release, Go 1.3 is no longer supported by LXD.


  • Fix invalid container name in lxc file
  • tests: Add test for aliases with slashes
  • Fix updating ephemeral and architecture flags
  • Clarify publish error message a bit
  • Fix interacting with aliases with a trailing slash
  • specs: Update rest-api to match reality
  • Don't move the image into place until it's been parsed
  • Make sure we always use the right dialer and proxy
  • specs: Fix wrong key name
  • Fix lxc file on Windows
  • Fix broken DB migration when upgrading from LXD 0.27 or older
  • Avoid global variables in client tool
  • Fix errors due to early failure to connect
  • Always export the file size on transfer
  • Fixed some typos
  • lxd-images: Register atexit at init time
  • specs: Update storage spec for btrfs send/receive
  • Use upstream go-systemd (this breaks backward compatibility with Go 1.3)

Upgrade notes

  • This release breaks backward compatibility with older LXD versions.
    Please make sure all your clients and servers run the same version.
  • See notes above for changes to the REST API and security policies.

Try it for yourself

This new LXD release is already available for you to try on our demo service.


The release tarballs can be found on our download page.