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.1
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 newMachineResource.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 excluded1.0.0-alpha
. It will now include it. - Breaking change: The property
PackageSizeBytes
has been moved fromPackageResource
toPackageFromBuiltInFeedResource
. - Breaking change: The property
Octopus.Action.Package.NuGetPackageId
andOctopus.Action.Package.NuGetFeedId
on deployment steps has been changed toOctopus.Action.Package.PackageId
andOctopus.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
onTaskDetailsResource
has been renamed toActivityLogs
- Breaking change: The logic for
ScopeSpecification
inOctopus.Client
has moved toScopeScenario
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.1.
Changes in Octopus Server 3.4.1
- 2372 - Automatic Release Creation settings will no longer be hidden if they have values
- 2648 - Fixed an issue with VSTS/TFS creating releases
- 2650 - Link to deployment triggers troubleshooting documentation is now more pronounced
- 2652 - Update Step Template variables to use new generic package variable names
- 2654 - Project triggers can be accessed with
ProcessView
andProcessEdit
permissions rather thanProjectEdit
permissions - 2657 - Fixing edge case in auto-deploy regarding skipped deployment steps
- 2658 - Ensure
TenantView
permission is given to all built-in project roles - 2659 -
Tenants
andTenantTags
fields are now visible in the TeamCity plugin - 2660 - Fixed a bug which prevented editing Accounts if the multi-tenant deployments feature was not enabled
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 of400 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