LXD 2.0.0.beta3 release announcement

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 now 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)
Syncronous 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.

Bugfixes

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: https://linuxcontainers.org/lxd/try-it/