Portainer version 2.15 includes a number of new features, fixes and updates. For a full list of changes, please refer to our release notes.
The first thing you'll see when using 2.15 is that things look a bit different. Our design and frontend teams have been working hard to make the UI more organized across the board, with a modern, more consistent style and behavior, so that we can make it easier for you to learn, use, and master Portainer.
While this is a big change, we've made sure to keep most things where they are, so you won't have trouble using Portainer with the new look.
This is the first step of many UI improvements that are on the way, so keep an eye out for those in future releases. We'd also love to get your feedback on the new look, so let us know what you think.
2.15 brings support for GPUs to our Docker implementation. Now using Portainer you're able to attach GPUs to containers to take advantage of their processing power for workloads like machine learning. You can make GPUs available to your environments and then select the GPUs to attach to a container and configure the capabilities you require.
At the moment this is only available to Docker Standalone installations, but we're hoping to expand this to other platforms in the future.
It's also worth noting that much of this particular feature came about because of a community contribution to Portainer, so if you'd like to see a feature in an upcoming version and you have some development skills, have a look at how you can contribute to Portainer.
When you're sharing an environment between teams, you might want to restrict the access each pod has to limit risks. In Kubernetes you can achieve this using pod security policies, and now with 2.15 you can apply and manage these policies directly in Portainer. For example, you can restrict running containers as privileged, define the allowed host ports, volume types, file system paths, and much more.
Policies are applied on a per-environment basis using the popular and trusted Open Policy Agent engine using the OPA Gatekeeper, which Portainer will install and configure for you if it doesn't already exist.
There's more improvements to our async functionality for Edge Agents in 2.15. You're now able to list the containers and their running status for Edge Stacks within Portainer, as well as get log files for your Edge Stacks.
In 2.15 we've extended our Nomad support further by adding live browsing of your Nomad environment in Portainer. Before this, your view in Portainer was based on the latest snapshot and not live data, but now in 2.15 you're seeing up to date information in the UI while the tunnel between the Nomad Edge Agent and the Portainer Server is open.
2.14 added the new image notification feature for public registries, which has been hugely popular. In 2.15 we've expanded this feature to cover private repositories as well, so as long as Portainer knows how to connect to your registry you'll be able to see at a glance whether your containers are running up to date images.
Along with the new look, we've made some usability changes to the home page. You can now filter your environments by connection type, for example Agent, Edge Agent, or API, and you can also see the version of the Portainer Agent running on each environment - a good way to tell if all your environments are running the latest version of the agent.
We've added search to all our Web Editor fields in this release - hit Ctrl-F
(or Cmd-F
if you're on a Mac) and you're able to search the contents of the field. The search also supports regular expressions. This also came about from a community contribution.
You can now also click the version number in the bottom left of the Portainer UI to show more details about the version of Portainer you're running. We'll often ask for this when trying to troubleshoot an issue, so we've made it easier for you to find when you need it.
We've updated a number of our third-party dependencies in this release for new functionality and bug fixes. We're also looking at deprecating our Kompose support in a future release, so if you're using that you might want to look at moving to YAML manifests instead.