Back to the news overview

LXD 2.3 release announcement

27th of September 2016
LXD 2.3 includes a few major features we've been working on for months.

The main one is a completely new set of API endpoints, configuration options and commands.
This allows creating and configuring bridges through LXD, including IPv4
and IPv6 connectivity, Ubuntu FAN support, cross-host tunnels with GRE
or VXLAN, various DNS modes, DHCP configuration and MAC filtering.

The other feature we're very excited about is support for AppArmor
namespaces and stacking. This will allow containers to load apparmor
profiles and further confine their workloads.

The changes in this release include

New features:

  • Introduce the new network management API
    • POST to /1.0/networks (see rest-api.md)
    • PUT to /1.0/networks/NAME (see rest-api.md)
    • PATCH to /1.0/networks/NAME (see rest-api.md)
    • DELETE to /1.0/networks/NAME (see rest-api.md)
    • "lxc network" commands
    • Network configuration in "lxd init"
    • The default profile now comes without network configuration
    • The old lxd-bridge code has been removed
    • Details of configuration options in configuration.md
  • Support for AppArmor namespaces and profile stacking
    • On supported kernels, containers will now be able to use apparmor
  • Introduce a new storage.lvm_mount_options daemon configuration option
  • Rework log message priorities and add more context to log messages
  • "lxc info" now shows the remote name in its output
  • The client now includes the remote name in error messages

Bugfixes:

  • apparmor: Be less restrictive when unprivileged
  • apparmor: create an apparmor namespace for each container
  • doc: Fix rest-api for PATCH addition
  • doc: Fix the table style of environment.md
  • extras: Containers state checking for start, stop and exec commands in bash completion
  • extras: Fixed container convert from LXC to LXD
  • extras: Update bash completion for current options
  • lxc: Drop unused httpAddr property
  • lxc/exec: Document lxc exec -- args
  • lxc/file: Make the target directory on recursive pull
  • lxd/db: Don't try to backup the database when running tests
  • lxd/db: Fix int64 handling
  • lxd/images: Tweak squashfs for low-memory systems
  • lxd/init: Change validation functions for consistency
  • lxd/init: Enable compression on new zfs pools
  • lxd/log: Add format wrappers for log functions
  • lxd/log: Add wrappers for log functions
  • lxd/log: Transition to new wrappers
  • lxd/migration: Actually support copying across different CoW based backend types
  • lxd/migration: Also show warnings on c/r errors
  • lxd/migration: Preserve snapshot configuration during copy
  • lxd/network: Detect bonds
  • lxd/network: Detect openvswitch
  • lxd/network: Fix networkIsInUse
  • lxd/network: Move and rename isOnBridge
  • shared: Export type checking functions
  • shared: fuidshift: Expand symlinks to last path component
  • shared: New RunCommand wrapper function
  • snappy: Add /snap/bin to PATH if present

Try it for yourself

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

Downloads

The release tarballs can be found on our download page.