Compare releases

Compare releases

Find out what's new in the latest Octopus Deploy release, or compare the latest release to what you're currently running to see what's changed.


These are the most important features you'll get by upgrading from 3.4.15 to 3.5.4

Octopus 3.4

New Features in 3.4

  • Multi-tenant deployments
  • Improved support for elastic and transient environments
  • Cloud Region deployment targets
  • Proxy support for Tentacle communications
  • Support for F# custom scripts
  • SemVer 2 support
  • Support for NuGet v3 external package repositories
  • Deprecation notice: We are deprecating the Azure Cloud Service and Azure Web App deployment targets. See below for more details.
  • Deprecation notice: We are deprecating the MachineResource.Status property in favour of the new MachineResource.HealthStatus property. See below for more details.
  • Breaking change: We have patched Tentacle to fix a bug when registering new machines with Octopus 3.4. See below for more details.
  • Breaking change: We have changed the HTTP Status Code returned when you attempt to push a duplicate package to the built-in package repository. See below for more details.
  • Breaking change: Octopus Server now requires a minimum .NET version of 4.5.1. We have changed the minimum required version for the server to enable the SQL connection resiliency features in ADO.NET. The Octopus Tentacles retain their current minimum .NET version.
  • Breaking change: If you are using TeamCity NuGet feeds you will need to upgrade to TeamCity 9.0 or newer (Recommend latest due to continual improvements in NuGet feed) or switch to using the Octopus built-in repository. This is due to upgrading our NuGet dependencies to v3 which aren't compatible with the custom v1 feed provided by TeamCity 7.x-8.x. We recommend upgrading to the latest TeamCity version and enabling the v2 NuGet feed API.
  • Breaking change: The way pre-release versions are handled in Channel version rules has changed. Previously pre-release versions were treated as greater than the release version. This has now been corrected, and pre-release versions are considered less than release versions. e.g. the version rule (,1.0] would have previously excluded 1.0.0-alpha. It will now include it.
  • Breaking change: The property PackageSizeBytes has been moved from PackageResource to PackageFromBuiltInFeedResource.
  • Breaking change: The property Octopus.Action.Package.NuGetPackageId and Octopus.Action.Package.NuGetFeedId on deployment steps has been changed to Octopus.Action.Package.PackageId and Octopus.Action.Package.FeedId to reflect our extended packaging options. Steps that have the old property names will have the values be synchronised with the new properties, however new steps will only set the new properties.
  • Breaking change: The property ActivityLog on TaskDetailsResource has been renamed to ActivityLogs
  • Breaking change: The logic for ScopeSpecification in Octopus.Client has moved to ScopeScenario

Octopus 3.4 and snapshots - nothing has changed

We recently posted a request for comments on removing snapshots. Don't worry, we haven't changed anything. Deployment snapshots in Octopus 3.4 work just like they did in earlier releases.

You cannot create new Azure Cloud Service nor Azure Web App deployment targets

Starting in Octopus 3.4 you will no longer be able to create new Azure Cloud Service nor Azure Web App deployment targets. Don't worry, you will be able to view and edit any existing Azure deployment targets, and begin migrating them over to the replacement Azure Cloud Service and Azure Web App deployment steps. Here is a guide to help you migrate.

In a future release of Octopus Deploy we will cease support for the Azure Cloud Service and Azure Web App deployment targets, giving you plenty of notice before doing so.

Please note that Azure Cloud Services and Azure Web Apps are still fully supported; we are just changing the way they are implemented.

Changes to health check results

We have introduced a new property MachineResource.HealthStatus for elastic and transient environments which can be either Healthy, Unhealthy, Unavailable, HasWarnings and Unknown. You can continue to use the existing MachineResource.Status in Octopus 3.4, but we have marked the Status property as Obsolete and will be removing it in a future release. The states NeedsUpgrade and CalamariUpgrade that were previously overloading the MachineResource.Status property should now be determined by the pre-existing MachineResource.Endpoint.TentacleVersionDetails.UpgradeSuggested and MachineResource.HasLatestCalamari properties respectively.

Registering new Tentacle Instances with Octopus 3.4

Registering a brand new Tentacle instance with Octopus 3.4 will fail if you are using an older version of Tentacle. This happens because old Tentacle doesn't understand Cloud Regions and couldn't deserialize them. We have patched Tentacle to be more resilient to these kinds of changes in the future.

Note: This issue only affects registering new Tentacle Instances with your Octopus Server. Existing Tentacles will continue to work as per normal. Registering a new Tentacle instance on an existing server where Tentacle has previously been installed will also fail until the Tentacle is upgraded to one of the below versions.

  • Registering 3.0.x Tentacles (used for older .NET 4.0-only servers): please download Tentacle 3.0.26 which has been patched to work with Octopus 3.4.
  • Registering a newer version of Tentacle: please start using the a 3.4.x Tentacle release (we recommend the latest).

Changes to built-in repository error codes

When you push a duplicate package to the built-in package repository we will now respond with HTTP status code 409 Conflict instead of 400 Bad Request. Clients like nuget.exe would only show the HTTP status code, dropping the reason Octopus returned explaining why it was a bad request. Using 409 Conflict for this situation should make it easier to diagnose. Refer to this GitHub Issue for more information.


Read the upgrade guide for more details on upgrading from your current version to Octopus 3.4.

Using TeamCity NuGet feeds? You will need to upgrade your TeamCity server to v9.0 or newer and enable the NuGet v2 API. Octopus 3.4+ no longer supports the custom NuGet v1 feeds from TeamCity 7.x-8.x. We recommend upgrading to the latest TeamCity version available due to continual improvements in their NuGet feed - or switch to using the Octopus built-in repository.

Want to use SemVer 2 for packages or releases? You will need to upgrade OctoPack and/or octo.exe to 3.4 or newer.

Octopus 3.5

New Features in 3.5

Supporting Features for configuration

To accompany the new Extensible Authentication Providers some additions have been made for server configuration:


Read the upgrade guide for more details on upgrading from your current version to Octopus 3.5.


Changes in Octopus 3.4.15

  • 2828 - Creating a new role no longer adds the text (custom 'new' role) to the role
  • 2858 - Tentacle upgrade now only blocks if there is a deployment running that affects the Tentacle being upgraded
  • 2861 - Steps that were manually skipped during a deployment will also be skipped during subsequent automatic deployments
  • 2862 - All steps applicable to a deployment target, based on roles, will be run during an automatic deployment, even if some of those roles do not form part of the trigger's event filter
  • 2863 - Run steps that are scoped to multiple roles during automatic deployments if the deployment target has any of those roles
  • 2864 - The deploy screen now shows a warning about the impact of manually skipping steps when the project has any auto-deploy triggers
  • 2865 - Temporarily removed auto-deploy trigger steps preview, which could be misleading in certain scenarios, and replaced it with a more accurate description and link to documentation
  • 2869 - When a step targets roles, but there are no matching machines available during package acquisition, the package will no longer be (mistakenly) downloaded to the Octopus Server

Changes in Octopus 3.5.1

  • 2593 - An Azure AD authentication provider is included as a standard server extension
  • 2680 - Open sourced Octopus.Client and implemented an async version of the API
  • 2718 - Introducing Subscriptions, a new feature that allows you to subscribe to events happening within Octopus and be notified by email or webhook
  • 2721 - A GoogleApps authentication provider is included as a standard server extension
  • 2793 - Fixed incorrect reference in interruptions created in version 3.4.2 of Octopus
  • 2815 - Resolved issue with parallel deployments failing under mono
  • 2817 - Improving performance of pagination queries
  • 2874 - Provide ability to perform basic Docker Engine commands
  • 2877 - Closed database and network connections when an error occurs formatting the response
  • 1938 - Library Variable Set page no longer includes Script Modules when paging through the list
  • 2193 - Step template summary view in a deployment process now renders the configured values in the step
  • 2860 - Auto-deploy performance improvements to better handle long-running deployments (you can also deploy to more than 2100 machines now)
  • 2884 - Fixed a problem that would cause random Invalid Nonce errors when signing in with an OpenID Connect authentication provider
  • 2890 - Improved how we were accessing the HomeDirectory when starting Octopus
  • 2894 - Resolved spurious exception 'An attempt to parse the variable symbol {variable-name} appears to have resulted in a self referencing loop. Ensure that recursive loops do not exist in the variable values'
  • 2896 - Image and API urls are now correctly resolved when Octopus Server is hosted using a virtual directory (this was a bug introduced in 3.5.0)

Changes in Octopus 3.5.2

  • 2810 - Improved UI messaging around Automatic Release Creation
  • 2818 - Corrected issue where DSC was unable to download Tentacle msi
  • 2870 - Failed deployments with Manual Intervention and/or Guided Failure mode don't break Retention policy anymore
  • 2888 - Fixed issue where zip files containing one or more zip files failed to extract correctly
  • 2893 - Deep link context for Active Directory logins is no longer being blocked
  • 2900 - Active Directory auto login is now triggering correctly
  • 2903 - Corrected interruptions link for tasks on REST API
  • 2907 - Validation for creating service accounts corrected to ignore password data
  • 2909 - Added a Timeout option to the OctopusAsyncClient helper library
  • 2918 - Fixed issue where feeds were not falling back to the default NuGet type when imported using migrator
  • 2941 - octo.exe now uses a custom build of the NuGet libraries which preserve the version as intended when creating packages

Changes in Octo.exe 4.0.7

  • 97 - Fixed bug causing export to silently fail and not not perform export process.

Changes in Octopus 3.5.4

  • 2807 - Fixed some issues with the scrollbars on the Project Overview screen
  • 2831 - Only validate accounts and feeds on actions that will actually run as part of the deployment
  • 2878 - You can now Register a Listening Tentacle via a proxy which was previously not possible
  • 2880 - Improved the warning message when configuration transform is not applied
  • 2889 - The Octopus Server Manager will now configure the Octopus Server service to depend on SQL Server if using a local SQL database which will help prevent problems when starting Octopus Server
  • 2898 - OctoPack now uses a custom build of nuget.exe which preserves the version as intended when creating packages
  • 2924 - Fixed a bug which prevented automatic registration of a Tentacle via a custom proxy when using Octopus API key authentication
  • 2933 - Fixed the link to the Tenant Overview from the Tenant Project Variable page when a project hasn’t been connected to any environments
  • 2934 - Fixed a typo on the Library > Packages page
  • 2935 - Fixed a bug which prevented users from signing in after putting the Octopus Server into Maintenance Mode
  • 2936 - Improved responsiveness of the packages on the Releases page
  • 2939 - Added username formatting requirements to Server Manager and the admin command when handling AD usernames
  • 2941 - octo.exe now uses a custom build of the NuGet libraries which preserve the version as intended when creating packages
  • 2942 - Added a notice that the Red Gate Database Deployment feature has been replaced by DLM Automation
  • 2944 - Allow users to be created without a password, as it is not required by some authentication providers
  • 2946 - Removed the dependency on our custom NuGet.Versioning package from Octopus.Client which was preventing it from being installed successfully
  • 2947 - Fixed a bug on the Sign In page which would render a JSON representation of the certain errors instead of a friendly error message
  • 2949 - Fixed a problem preventing OctoPack 3.4.3 from creating NuGet packages when Microsoft.Build.Framework, Version= isn’t available on the computer
  • 2952 - Deployment action upgrade works now with template parameters missing 'ControlType'