Compare releases

Compare releases and check for compatibility between your existing Octopus Server and new releases.

What's new

These are the most important features you'll get by upgrading from 3.3.27 to 3.4.0

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.

Upgrading

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.3

New Features in 3.3

  • Script-steps can source the script from a package
  • Script-steps can execute on the Octopus server without requiring a Tentacle
  • Server-based steps (i.e. email, manual-intervention, and the new server-script steps) can be child steps
  • Support for zip and tar packages
  • OctoPack.js + gulp and grunt wrappers Guide for deploying Node.js
  • Azure Service Principal account type
  • Azure Resource Group Template step type
  • ASP.NET 5 (Sorry, ASP.NET Core) JSON configuration support
  • Breaking change: Sensitive Properties have changed to resolve a number of issues on deployment steps and templates, affecting octo.exe, Octopus.Client and the TeamCity plugin (see below for more details)

Read our blog post announcing 3.3

Please Note: you will need to upgrade octo.exe, Octopus.Client and the TeamCity plugin when upgrading to Octopus Deploy 3.3

Breaking Change: Sensitive Properties

As part of this release we have resolved a number of minor issues with sensitive properties on deployment steps and step templates. The issues resolved include:

  • Windows Service Custom account and password properties no longer retained when switching account types (#2264).
  • Sensitive fields in steps can now be cleared/reset (#2311)
  • Username/password fields on IIS and Windows Service features will remain visible if account-type/identity is bound to a variable (#2333)
  • Sensitive fields now use a consistent UI control across the entire portal.

Breaking Change

This introduces a breaking change to our API, and will affect those using the following endpoints:

  • /api/deploymentprocesses
  • /api/actiontemplates

It also affects octo.exe, Octopus.Client and the TeamCity plugin. If you are using any of these components please upgrade them when upgrading to Octopus Deploy 3.3.

See Sensitive Property API Changes in Release 3.3 for more details.

Upgrading

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

Please upgrade octo.exe, Octopus.Client and the TeamCity plugin when upgrading to Octopus Deploy 3.3.

Release notes

These are the features and fixes you'll get by upgrading from 3.3.27 to 3.4.0.

Changes in Octopus Server 3.4.0

  • 1963 - You can now manage tenants and tenanted deployments with Octopus Deploy
  • 2246 - Fixed issues around event table deadlocks
  • 2295 - Releases by channels are now shaded appropriately by channel on the project dashboard
  • 2367 - Octopus Server now requires a minimum .NET version of 4.5.1, to enable the SQL connection resiliency features in ADO.NET, Tentacles have not changed
  • 2401 - Warning we will deprecate Azure Targets in 3.4
  • 2419 - Octopus Server now returns 409 Conflict instead of 400 Bad Request when pushing duplicate package to the built-in package feed
  • 2422 - Upgrade to WebDeploy 3.6
  • 2428 - Upgrade NuGet libraries to 3.0
  • 2440 - Cloud Region target type
  • 2445 - You can now manage elastic and transient environments more easily with Octopus Deploy
  • 2479 - Improvements around SQL query plan caching
  • 2490 - Expanded proxy support to allow proxies in Tentacle communications
  • 2644 - Support for SSH connection through proxies
  • 2517 - Support SemVer 2.0
  • 2538 - ScriptCS scripts work now on Win 2012 R2 when FIPS is enabled, ScriptCS has been updated to version 0.16.1 which works only on Mono >= 4.0
  • 2549 - You can now write custom scripts using F# (.fsx)
  • 2565 - Update to Tentacle registration to account for new MachineResources changes
  • 2594 - Project overview dashboard filtering, grouping and empty state improvements
  • 2597 - Only download a package once on a machine when it is used multiple times
  • 2602 - Remove project permission restrictions on health checks for environments
  • 2609 - Updated Azure PowerShell modules to version 1.6.0
  • 2613 - [DeployedBy] field on [Deployment] set to non nullable and deployment will fail if instigating user is undefined

Changes in Octopus Server 3.4.0-beta0001

  • 1963 - You can now manage tenants and tenanted deployments with Octopus Deploy
  • 2246 - Fixed issues around event table deadlocks
  • 2422 - Upgrade to WebDeploy 3.6
  • 2440 - Cloud Region target type
  • 2445 - You can now manage elastic and transient environments more easily with Octopus Deploy
  • 2479 - Improved around SQL query plan caching
  • 2490 - Expanded proxy support to allow proxies in Tentacle communications
  • 2538 - ScriptCS scripts work now on Win 2012 R2 when FIPS is enabled, ScriptCS has been updated to version 0.16.1 which works only on Mono >= 4.0
  • 2565 - Update to Tentacle registration to account for new MachineResources changes

Changes in Octopus Server 3.3.27

  • 2623 - When performing variable substitution on a file, try to continue when a parse error occurs rather than not performing any substitutions
  • 2629 - Patching our SQL alias generator to use predictable strings instead of random strings