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.2.15 to 3.5.2

Octopus 3.2

Highlights and new Features of 3.2

Octopus Deploy 3.2 is all about Channels and is a highly-compatible feature release with no breaking changes. Channels is the name we've given to the feature originally discussed in our RFC on Branching.

Build servers build. Octopus deploys.

We decided it was important to drive a distinction between source code branches, which build servers care about, and deployment, which is where Channels come in.

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

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.


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.

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

What happened to 3.2.14? It was discovered that a Tentacle communication compatibility bug was introduced with this release that resulted in Tentacles not being able to communicate with Octopus Servers of version 3.2.13 or earlier so we decided to pull this release and go straight to 3.2.15 to avoid confusion.

  • 2248 - Allow promoting a release that has been rescheduled to an earlier phase
  • 2249 - Export process is now more resilient when saving files to disk.
  • 2252 - Add missing calendar icon to date range picker on the Audit page
  • 2263 - Fail early with a more helpful message, with a couple of solutions, if we cannot load the WebAdministration module in Octopus.Features.IISWebSite_BeforePostDeploy.ps1
  • 2268 - Fix display issue in PS 2.0 when logging IIS bindings.
  • 2272 - Resolved Tentacle communication incompatibility introduced in 3.2.14

Changes in 3.2.14

  • 1977 - Updated default Tentacle connection timeouts. Handling for the scenario where all pooled connections for a Tentacle are bad.
  • 2122 - Fix error message display issue when uploading a NuGet package in Firefox
  • 2206 - Updating project variables while the user's environment permissions have changed forces user to reload. This blocks a bug causing variables to be removed.
  • 2236 - Allow config transforms when the target file is in a relative path: Web.Base.config => config\Web.Config
  • 2247 - Link to document in audit events for lifecycles, library variable sets and step templates are now correctly created.
  • 2257 - Enabled wildcard config transforms for relative paths: transform\*.config => config\*.config
  • 2258 - Changed the behaviour for config transforms when the the transform definition is a wildcard and the target file is explicit: *.bar.config => foo.config will apply all transforms with the suffix .bar.config to foo.config.
  • 2267 - Resolved bug with VariableSetId columns not being long enough for migrated data.

Changes in Octopus 3.2.16

  • 2030 - Keep deep link context when using integrated Windows authentication.
  • 2166 - Change step rule to only check for [] characters if the step is new or the name has changed.
  • 2214 - Increased delete performance when deleting documents that may be used in variable sets or deployment processes.
  • 2244 - Total deployment time in deployment with manual interventions now reflect the entire duration of the deployment instead of just for the steps that come after the manual intervention.
  • 2261 - Fixed bug where un-scoped variables were being used during when action variables were being evaluated for 'committing' for use in subsequent actions.
  • 2269 - Reduced the time required to render the Environments page.
  • 2271 - Improved duplicate release checks when importing Octopus 2.6 backups
  • 2273 - Create release page is now usable again while loading packages from the NuGet feed.

Changes in Octopus 3.2.17

  • 2126 - Added Verbose Logging when duplicate variables exist between Step Template vars and Project/VariableSet vars.
  • 2237 - Provide mechanism to lock current Tentacle version in place and dismiss upgrade reminder.
  • 2243 - Add retention policy for old Calamari versions when upgrading to a new version.
  • 2251 - Environment list in variable scope selection and on dashboard configuration page sorted as per environment sort order.
  • 2254 - Updated octo.exe octopus.client library to work with the latest release
  • 2276 - Removed a limitation on the number of deployments that can be created/displayed for a release.
  • 2277 - Increase default SQL connection timeout to mitigate transaction commit timeouts.
  • 2285 - Channel variables made available to release version template
  • 2286 - Removed a restriction that prevented config transform files from being applied to multiple target files (eg transform.config => *.config).
  • 2287 - Added paging to the task queue in the task summary view.
  • 2289 - Removed timeout from manual intervention steps that are a part of a scheduled deployment.

Changes in Octopus 3.2.19

  • 2282 - Octopus Migrator now imports Release that were associated with deleted variable sets
  • 2291 - Add special variables OctopusSkipFreeDiskSpaceCheck and OctopusFreeDiskSpaceOverrideInMegaBytes to allow for skipping the free disk space check and to specify a custom free space threshold.
  • 2293 - Correct the documentation link for channel version rule tags on the Design Rule dialog
  • 2299 - Fixed issue with new Tentacle upgrade button on connectivity page

Changes in Octopus 3.2.20

  • 2313 - Prevent sensitive variables for deployment process returning from API call
  • 2317 - Show deploy buttons when project SparseBoard is shown.
  • 2320 - Show the username the Tentacle is running under when performing health checks.

Changes in Octopus 3.2.21

  • 2279 - Package Cache Retention Policy now removes .octosig and .octodelta files
  • 2303 - Fix bug when user provided variables that are made up of output variables are accessed in later steps.
  • 2316 - Now using new SHA2 Code Signing Certificate and signing installers/assemblies using SHA256 algorithm.
  • 2319 - Removed limitations on a number of queries that would stop running when the related document count exceeded 2100 documents.
  • 2327 - Only test for permission changes to environments used in an existing variable set scope when that variable set is updated.
  • 2328 - Fixed an edge case where config transforms were being run twice.

Changes in Octopus 3.2.22

  • 2255 - Child steps now display their status correctly when they have errors or warnings.
  • 2266 - Tentacle upgrade process now displays and handles errors and warnings correctly.
  • 2280 - octo.exe imports with validation errors now return a non-zero exit code
  • 2281 - Provide --nologs and --onlylogs option for migrator process to seperate loading raw task logs from main server data for increased performance
  • 2336 - Variable expressions are now correctly persisted for sensitive fields in step templates.

Changes in Octopus 3.2.23

  • 2288 - Audit page date selector now displays correctly
  • 2298 - Changes made to certain documents will now show correctly in the audit log
  • 2324 - .bmp logos can now be migrated from previous versions of Octopus
  • 2325 - Octopus Server will now send the X-Frame-Options: DENY HTTP header, which can be overridden by changing the xFrameOptionAllowFrom configuration value
  • 2338 - The migration process is now split into two stages, the first to import data, and the second to import task logs, making it easier to migrate very large backups from previous versions of Octopus
  • 2353 - You can now provide the --nooverwrite parameter for migrator.exe to skip existing documents
  • 2358 - Retention policy for custom versions of Calamari will no longer delete the active version
  • 2360 - You can now use octo.exe to list and clean machines that are in a particular state in an environment which is useful for cleaning up cloud/transient/ephemeral machines that are Offline

Changes in Octopus 3.2.24

  • 2231 - The Active Directory user groups cache will now be invalidated for a user when they explicitly Sign Out from the Octopus Server, forcing a foreground refresh on their next Sign In
  • 2318 - Added ability to delete Octopus Server high-availability nodes via the API
  • 2334 - The Octopus data importer/migrator is now more reliable when detecting duplicate historical data with key collisions
  • 2362 - Updated the Octopus Server node screen to properly report task counts
  • 2384 - Fixed open redirect bug in the Octopus web portal integrated authentication process

Changes in Octopus 3.3.0-beta0002

  • 2345 - Corrected instructions for pushing packages via the api to the built-in repository
  • 2354 - Improve the error message when using the JSON config feature and a folder is specified as the target file
  • 2355 - Delete parameters that have been renamed/removed from the action properties collection
  • 2356 - The selected Resource Group in the “Deploy an Azure Resource Group” step now binds correctly when editing an existing step
  • 2357 - The display of long parameter names for Azure Resource Manager templates will now wrap instead of overflowing underneath the input control
  • 2359 - The display of Web Apps in the select list has been updated to display the Region and Resource Group (where available)
  • 2363 - The http://ASP.NET|ASP.NET Core JSON AppSettings feature is now the JSON configuration variables feature
  • 2364 - JSON config feature only replaces variables it can find instead of inserting all available project variables
  • 2374 - Invoke Set-AzureRmContext when authenticating with service-principal

Changes in Octopus 3.3.0

  • 641 - Email, Manual Steps and Azure Powershell steps can now be executed in a rolling step. Also added support to run a PowerShell Script on the Octopus Server.
  • 2069 - Enable Azure Active Directory auth for Azure Accounts
  • 2091 - Show warning if file is missing during config transformation
  • 2133 - Azure Resource Group deployment step type
  • 2183 - Support .zip and .tar.gz package formats
  • 2189 - Script step embedded in a NuGet package
  • 2304 - Support for ASP.NET Core

Changes in Octopus 3.3.1

  • 2376 - Fixed scenarios that were failing when the host server is required to be FIPS 140 compliant
  • 2390 - On-screen help text added to Azure PowerShell step explaining Service Management cmdlets can't be used with Service Principal accounts and Resource Manager cmdlets can't be used with Management Certificate accounts
  • 2395 - Immediately executing code in Script Modules now have access to Octopus Variables
  • 2398 - Exporting a step template is now prevented until any changes are saved
  • 2402 - Fixed an issue that was preventing Calamari from updating on multiple SSH endpoints due to a file lock

Changes in Octopus 3.3.2

  • 2391 - Add missing repositories (Channels, Accounts, Retention Policies, Defects and Server Nodes) to OctopusRepository in Octopus.Client
  • 2404 - Fix Javascript error preventing uploading of custom Azure Resource Manager certificates
  • 2405 - Removed paging from channels so that more than 30 can be used at a time
  • 2407 - Allow script steps that run on the server to be run across roles as a standalone step or as the first action in a rolling deployment
  • 2410 - Octo.exe Import and export project channels when running the project import and export commands
  • 2411 - Add push command to Octo.exe and a push package build runner to the Octopus Deploy TeamCity plugin
  • 2412 - When the NuGetFeed for a Package Step is set to a channel-scoped variable, it will now be resolved correctly when creating a release in those channels
  • 2414 - Adds support for TLS protocols for Octo.exe to communicate with TLS-only installations of Octopus Server

Changes in Octopus 3.3.3

  • 2392 - You can now configure your Authentication Mode (Username/Password or Active Directory) when adding a node to an Octopus HA cluster using the wizard
  • 2403 - You can now choose whether to use Timestamp or Checksum for WebDeploy to Azure Web App, and the default has been changed to Timestamp when creating new Azure Web App steps
  • 2415 - When creating a deployment channels will now be taken into account when validating the deployment process
  • 2417 - When cloning a Project the Channels will now be correctly re-mapped for Project Variables and Automatic Release Creation
  • 2423 - Fixed an issue that prevented you from saving Azure Web App deployment targets with the error 'Web Space' should not be empty
  • 2426 - Prevent integer-overflow error during long-running Azure Resource Group deployments.
  • 2427 - Octo.exe Update channels information in steps that have been scoped to a channel when importing a project

Changes in Octopus 3.3.4

  • 2278 - An additional warning will be logged if a release is not automatically created due to the package version being the greatest/maximum
  • 2312 - Variables link not added to Deployment resource if variable-set is no longer available.
  • 2396 - Configured scripts in package steps now support Unicode characters.
  • 2399 - Importing scripts now succeeds even if the project has the same name as something else (such as lifecycle or project group)
  • 2429 - Tentacle Manager now supports all TLS versions
  • 2430 - Task start time displayed on hover incorrectly shows queued time rather than start time
  • 2431 - The “Run on” radio button in a script template step now retains its selection after updating to a new version of the template
  • 2437 - Fixed a bug that broke Project cloning in certain circumstances with an ArgumentNullException

Changes in Octopus 3.3.5

  • 2432 - Fix to allow custom expressions in Nuget feeds for projects on import/export
  • 2439 - Authentication token no longer expires during long running Azure Resource Group deployments

Changes in Octopus 3.3.6

  • 2434 - Allowing packages deployed to SSH targets to exceed 2GB in size

Changes in Octopus 3.3.8

  • 2300 - Add new variable Octopus.Action.Package.InstallationDirectoryPath as replacement for Package.InstallationDirectoryPath
  • 2438 - Switching a script step from "script in package" to "inline script" should not attempt to download the package
  • 2443 - Add support for "No Managed code" for App Pool .NET CLR
  • 2446 - Allow parallel SSH tasks to take place on targets with different fingerprints.
  • 2451 - Audit event references should be mapped to to the new IDs
  • 2452 - When steps are deleted or renamed, the channel rule references to them should update
  • 2457 - Bugfix for variables grid not expanding to full width
  • 2460 - 3.3.7 Upgrade fails on script steps with sensitive variables

Changes in Octopus 3.3.9

  • 2191 - Fixed issue with the client deserializing VariableValues sent from pre-3.1.6 servers
  • 2462 - Improved the date bounds checking when determining the creation date of a nupkg or zip archive
  • 2466 - Note in the Version validation error message that pre-release tags starting with a number are not allowed
  • 2467 - Service deployment fail if directory or service name contains spaces

Changes in Octopus 3.3.10

  • 2329 - No longer use $key as a variable name in bootstrap scripts so we don't clash with customer scripts.
  • 2473 - Fixed issue where existing script step templates caused validation errors when adding them to a step

Changes in Octopus 3.3.11

  • 2342 - Guest user not automatically being added to Everyone
  • 2409 - Long variables overlay history in release page
  • 2436 - Environment restriction from team membership should not override access granted by Administrators membership
  • 2459 - Same package in multiple steps downloads package multiple times on Tentacle
  • 2464 - Pushing a package with NuGet 3.4 causes a 500 error
  • 2465 - The packages api ignores the take and skip parameters
  • 2474 - Bug fixes to importer when encountering key-collisions and updating validation logic for frozen deployment processes and variable sets.
  • 2481 - Fixed issue with upgrader failing when there are orphaned channels
  • 2483 - Tentacle.exe to allow TLS 1.2 comms
  • 2484 - Related to 2417 we will automatically fix broken channel references in cloned projects, by linking to a channel with the exact same name, and delete any references which cannot be fixed automatically so you can fix them yourself

Changes in Octopus 3.3.12

  • 2351 - Changed Audit filter behaviour to include results that matched all filters provided
  • 2371 - Extended octo.exe delete-releases command to accept one or more --channel parameters
  • 2373 - Fixed the setting of the Octopus.Tentacle.Agent.InstanceName and Octopus.Tentacle.Agent.ProgramDirectoryPath variables and added the TentacleProgramDirectoryPath Environment Variable
  • 2382 - Improved the documentation for the --environment option for tentacle.exe register-with command
  • 2383 - Correctly show port number for listening Tentacles in the Tentacle Manager and updated path information to hyperlinks
  • 2444 - Unnecessary call to /api/reporting/ when rendering /#app/projects
  • 2485 - Fixed semaphore access when running multiple instances of Tentacle as different users
  • 2489 - Fixed the visibility of the paging control on the User Roles page
  • 2493 - Added octo.exe create-channel command to make it easier to create channels from build servers for per-branch channels (like feature branches)
  • 2494 - octo.exe create-release command extended to automatically select the best channel for the release, or fail with details on how to create it successfully

Changes in Octopus 3.3.14

Warning: Some upgrade scripts in this release may take some time to run. Please account for this when you choose your upgrade window.

  • 2347 - Allow Markdown formatting for NuGet package release-notes
  • 2400 - Added example of relative path for script file location in package to on-screen documentation
  • 2424 - Prevent Octopus working files (e.g. variables.json, bootstrap.ps1, etc) from syncing during Azure deployments.
  • 2433 - List all Script Modules rather than only the top 30
  • 2461 - Allow editing of window size for subsequent parallel steps
  • 2472 - Limited the number of projects shown on the dashboard to 50 and added a group and project filter if there are more than 50 projects
  • 2503 - octo.exe now handles cases where there are more than 30 channels in a project (and a few other cases where we neglected to paginate properly) affecting create-channel, create-release, deploy-release, delete-releases, export and import
  • 2504 - The breadcrumb link on Configuration pages now redirects to the correct page
  • 2505 - Modified the dashboard query to resolve timeouts
  • 2510 - Fixed a regression where packages only required on the server in one step, but required on a machine in another step were not being downloaded to the server
  • 2511 - Fail cleanly if environment handed to octo.exe clean-environment is not found
  • 2515 - Added poll-server command to Tentacle to configure polling multiple servers
  • 2518 - You can now set the Octopus.Action.PowerShell.CustomPowerShellVersion variable, and your PowerShell scripts will be invoked with the -version flag

Changes in Octopus 3.3.15

  • 2528 - Fixed a performance problem related to 2484 which could cause Octopus upgrades to 3.3.11 and above to be slow
  • 2529 - Added diagnostics logging for long running requests and queries

Changes in Octopus 3.3.16

  • 2516 - Improved error messages for incorrectly named packages
  • 2523 - Fixed HA secondary node servers not trusting newly added polling tentacles
  • 2534 - Fixed slowness when channels referenced a deployment step

Changes in Octopus 3.3.17

  • 2341 - Added ability to export permissions as a csv file on the Test Permissions page
  • 2506 - Fixed validation on the SMTP Port to prevent the exception when the field is blank

Changes in Octopus 3.3.18

  • 2475 - Offline deployments now honour retention policies
  • 2520 - Prevent Releases being created when a Project is disabled
  • 2530 - Calamari fixes for file encoding during variable substitution
  • 2533 - Octo.exe now ensures that packageversion, if specified, is a semantic version
  • 2542 - Added additional transaction logging to help investigate potential SQL deadlock situations
  • 2543 - Calamari no longer crashes if Mono fails while finding earlier packages
  • 2544 - Added a system integrity check task that does some basic data and schema validation
  • 2546 - Removed performance bottleneck when evaluating variables after all machines have completed a step
  • 2553 - Database schema fix for potentially incorrect column length
  • 2555 - Fixed an issue where the server would not close SQL connections

Changes in Octopus 3.3.19

  • 2559 - Fixed an error that occurs during the schema integrity check
  • 2560 - Fix Calamari converting ASCII files to UTF8 during variable substitution

Changes in Octopus 3.3.20

  • 1872 - Octopus.Deployment.Error now contains better information if a parallel step fails
  • 2332 - Run the Octopus installer from the command line with RUNMANAGERONEXIT=no to prevent the Octopus Manager from running
  • 2527 - Add a note to Azure account selection when a particular Azure account type is required
  • 2548 - Always show projects with failing deployments on the dashboard and allow the limit to be changed
  • 2557 - Octopus displays a message if queuing a system integrity check fails due to permissions
  • 2563 - System integrity check now ignores objects in the sys schema
  • 2564 - Ensured all database tables are in the dbo schema even when the creating user has a different default schema
  • 2566 - Fixed the population of the events list on the deployment status page
  • 2567 - Logged a warning when the result of an XML config transform results in a file without a root node
  • 2568 - Made the temporary file creation and deletion on deployment more robust

Changes in Octopus 3.3.21

  • 2296 - Allow the Deployments API endpoint to be filtered by ChannelId and return ChannelId in the result
  • 2418 - Retention policies now retain the correct number of undeployed Releases for each individual Channel
  • 2495 - Fail deployment when an included Script Module has a syntax error
  • 2502 - Added ability to pass parameters to custom script files
  • 2524 - Fixed an issue with Halibut that would cause Polling Tentacle upgrades to stall/freeze under certain conditions
  • 2545 - Set Octopus.Action.PowerShell.ExecuteWithoutProfile to true on a project to not run the Tentacle service account's PowerShell profile script when running PowerShell script steps
  • 2569 - Updates to the 'Configure dashboard’ screen to be more user-friendly with long project names
  • 2571 - Show projects with running deployments on the dashboard even if they are beyond the 50 project limit
  • 2574 - Release and Task screens correctly retain the page selections for lists (e.g. Artifacts and History)
  • 2577 - The Octopus VSTS plugin now correctly logs deployment progress when Show Deployment Progress is checked
  • 2580 - Removed the time limit for Azure deployment retries, and set it to always retry 3 times
  • 2589 - Tasks that are canceled whilst waiting for other tasks to complete will now cancel when requested

Changes in Octopus 3.3.22

  • 2570 - Adding flags to the migrator to allow exporting and importing of task logs
  • 2592 - Errors are now logged more consistently regardless of whether the failed deployment step was running on a Deployment Target or the Octopus Server

Changes in Octopus 3.3.23

  • 2302 - OctoStache update to include variable use in indexer and conditional comparison changes (see issue for usage)
  • 2323 - Filter environments shown on the Promote button according to the users permissions
  • 2337 - Don't alter variables when sanitizing entered hostnames for IIS bindings
  • 2453 - Octopus now supports substituting objects, arrays, boolean and numeric values in JSON files
  • 2492 - Octopus now supports substituting properties with colons in their name in JSON files
  • 2554 - Azure Web App step now supports specifying Resource Group
  • 2573 - Fix running Powershell tasks blocking the Tentacle port if Tentacle restarts
  • 2599 - Fix Calamari saving ASCII files as UTF-8 with a BOM when doing substitutions on Linux
  • 2604 - Block deletion of Environments that have deployment steps scoped to them, rather than removing the steps

Changes in Octopus 3.3.24

  • 2499 - Clarify help text for skipping previously deployed packages

Changes in Octopus 3.3.25

  • 2330 - When registering Tentacles, we now have validation to ensure the Tentacle+Server versions are compatible
  • 2441 - Added ability to handle long (> 100 characters) paths in .tar files
  • 2526 - Added a new permission AuditView to view audit log page (instead of requiring AdministerSystem permission)
  • 2536 - Added Azure Key Vault support to Azure Resource Group step
  • 2585 - Prevent [enter] on bound fields from showing the variable pop-up
  • 2596 - Refresh views to fix schema integrity check failing for some customers
  • 2611 - Show configuration menu for users who have audit/team permissions
  • 2614 - Handle absolute paths in config transforms
  • 2624 - Add additional logging to Tentacle to help diagnose startup issues

Changes in Octopus 3.3.26

  • 2621 - Add thumbprint-only option to the show-thumbprint command to suppress explanatory text
  • 2627 - Ensure System Administrator role gets updated at server start to have all new permissions

Changes in Octopus 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

Changes in Octopus 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 3.4.0-beta0002

  • 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 - Return 409 Conflict instead of 400 Bad Request when pushing duplicate package
  • 2428 - Upgrade NuGet libraries to 3.0
  • 2517 - Support SemVer 2.0
  • 2549 - You can now write custom scripts using F# (.fsx)
  • 2581 - Removing Library variable sets now properly warn if it is in use by a project
  • 2591 - Auto deploy will ensure targets are up to date at the end of a deployment only if they triggered while the deployment was in progress
  • 2594 - Project overview dashboard filtering, grouping and empty state improvements
  • 2595 - Added minute interval to machine cleanup time for machine policies
  • 2597 - Only download a package once on a machine when it is used multiple times
  • 2601 - Fixes to the variable "scope" selector so it detects differences correctly

Changes in Octopus 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 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 and ProcessEdit permissions rather than ProjectEdit 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 and TenantTags 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 3.4.3

  • 2676 - Fixed an error that prevented deploying a release when the user is part of a team with Tenant restrictions set
  • 2679 - NuGetPackageId variable will now be correctly populated for steps after the first deployment step.
  • 2689 - Octopus.Client returns PackageFromBuiltInFeedResource instead of PackageResource for operations involving the built-in package feed
  • 2690 - Resolved error executing script Script0043 - Increase Package Column Widths.sql during 3.4 upgrade.
  • 2691 - Reverted changes to Octopus.Client that caused manual intervention steps to fail if they were awaiting approval before upgrading to 3.4.2
  • 2642 - Prevent automatic deployments to tenanted targets when the tenant has been disconnected from the project or environment
  • 2643 - Prevent automatic deployments to tenanted or untenanted targets when a project is toggled to only tenanted or untenanted mode
  • 2664 - Resolved packages with different SemVer 2.0 metadata conflicting
  • 2665 - Reimplemented OctopusSuppressNestedScriptWarning variable
  • 2666 - Log a friendlier message if the health status of a machine is null when running our DB migrations
  • 2670 - Resolved issue downloading NuGet packages with 4-part versions from file-system feeds.

Changes in Octopus 3.4.4

  • 2674 - Prevent incorrect environments from displaying in trigger summary
  • 2677 - Added support to set a custom deployment label for Azure cloud service steps
  • 2681 - Resolved issue downloading package with SemVer 2.0 versions on Tentacle from file-system feeds
  • 2687 - Fixed FilePathTooLong exception when extracting NuGet packages where file names contain unicode characters
  • 2697 - Resolved error deploying packages with SemVer 2.0 versions from remote NuGet feeds

Changes in Octopus 3.4.5

  • 2685 - Tenanted deployments can now progress through lifecycle phases when the minimum environment phase requirement has been satisfied
  • 2692 - Removed tenant information from triggers when not applicable
  • 2695 - Cascade environment deletion to tenant connections, tenant variables and triggers
  • 2713 - Fixed chocolatey packages by adding checksum information to the chocolateyInstaller.ps1 file
  • 2715 - Prevent the addition of project variable templates from clearing related tenant variables in some circumstances

Changes in Octopus 3.4.6

  • 2661 - Added machine scoping to output variables that are set by a step that runs on the server on behalf of targets
  • 2705 - Reduce log level of the high number of transaction message
  • 2712 - Now returning the correct HTTP headers when a 401 Unauthorised response is returned
  • 2717 - Channels on project overview is now sorted by default channel and then alphabetically
  • 2720 - Improved error message when pushing a package to the built in repository with a non-SemVer 2.0.0 compliant version
  • 2724 - Health Check Steps now require Target Roles to be specified

Changes in Octopus 3.4.7

  • 2699 - Exposed IIS and Windows Service functionality as separate built-in steps
  • 2700 - Added Virtual Directory support to Package Deployment step
  • 2704 - Allow scoping library variable set variables to tenant tags when multi-tenancy is enabled

Changes in Octopus 3.4.8

  • 2608 - Set KeepAliveInterval to 30 sec on SSH connections to keep connection to server open during long uploads.
  • 2719 - Avoid reading and writing variables at the same time
  • 2743 - Project Group selector on the Dashboard now sorts alphanumerically
  • 2744 - Log exception stack trace when a deployment action fails
  • 2745 - Populate the variables Octopus.Action.Status.Error and Octopus.Action.Status.ErrorDetail when an action running in parallel fails
  • 2752 - Physical path of IIS Website can be set on OS with PowerShell v2

Changes in Octopus 3.4.9

  • 2684 - Restore missing variables in binding auto-complete list
  • 2749 - Apply health check cleanup per machine policy
  • 2751 - Fix child actions which run on the server on behalf of a role not running for all machines
  • 2757 - Fixed trigger concurrency exception when automatically deleting multiple machines

Changes in Octopus 3.4.10

  • 2669 - Tenant drop down variables from projects and library variable sets now properly displays the default value if one has been set
  • 2686 - When deploying using the Deploy to all (or the Deploy on an individual Tenant) option from the Project Overview only include the applicable Tenant(s)
  • 2748 - Replacing SQL triggers with code-based triggers (to help us track future deadlock issues)
  • 2760 - Fixed recursive variable definitions causing a stack overflow
  • 2766 - Include variables, scoped variables and all system variable in auto-complete drop-down
  • 2774 - Fixed Tentacles not correctly loading custom proxy settings

Changes in Octopus 3.4.11

  • 2620 - Support passing array, object and secureObject type parameter values into ARM templates
  • 2655 - Package acquisition for upgraded Azure steps should now work again
  • 2746 - Increase the amount of time spent retrying downloads from external package feeds
  • 2764 - Only machines applicable to the deployment should be listed when selecting specific deployment targets
  • 2778 - Prevent disabled projects from causing automatic deployments
  • 2779 - Prevent variable that had ever been scoped to steps and then the scope removed from being deleted when the deployment process is saved
  • 2781 - Fixed import order so now deployments with missing channel don't block channels from being imported
  • 2782 - Ensure new polling Tentacles using a proxy make their server registration calls through the proxy

Changes in Octopus 3.4.12

  • 2442 - Automatic release creation now works for step template package steps
  • 2498 - Queue a Tentacle upgrade task if there are currently deployments running on the Tentacle
  • 2619 - Added delete button to server nodes UI
  • 2634 - Improved data integrity of teams scoped to environments and/or tenants
  • 2714 - Correct Azure subscription written to the task log when multiple subscriptions exist
  • 2762 - Variable scope dropdown is now correctly positioned when opened when editing a variable far down a long list of variables
  • 2763 - Fail a deployment if a custom install directory has been specified but we can’t properly evaluate the path or it is a relative path
  • 2777 - Include project triggers when cloning a project
  • 2788 - The sysdiagrams table is now ignored by the system integrity check
  • 2790 - Fix releases and projects that reference channels irrelevant to the release or project
  • 2791 - Fixed an error that occured when performing JSON transforms with a value of null
  • 2794 - Packages used by package steps based on step templates now follow package retention rules when being considered for removal from the built-in NuGet feed
  • 2796 - The 2.6 to 3 importer now ignores orphaned attachments when mapping documents
  • 2799 - Fix number of retries for package download to match number of attempts shown in log
  • 2803 - Ensure releases are created in a channel appropriate for the project
  • 2806 - Migrator can now import LibraryVariableSets when the VariableSet has an Id longer than 50 characters
  • 2808 - Azure scripts no longer fail if the Octopus working directory has a space in it

Changes in Octopus 3.4.13

  • 2600 - When variable templates are converted from sensitive to insensitive and vice versa, any variables based on the templates will also be converted
  • 2645 - Accounts are now imported when using the Octopus migrator
  • 2792 - Ensure a release goes through the correct Lifecycle phases for a tenant, even if the release has progressed past a phase for another tenant
  • 2819 - Add support for tables and strikethrough where Markdown can be used
  • 2820 - Ensure package is downloaded on the Octopus server for steps that use a package and executes on the server
  • 2821 - Package push instructions are now shown if a user has BuiltInFeedPush and they are scoped to project(s) or environment(s)

Changes in Octopus 3.4.14

  • 2789 - When downloading a package directly on the Tentacle, and the download fails, we now clean up the partially downloaded package file
  • 2797 - The package cache clean task now run on all nodes in an HA environment
  • 2823 - Show an info box that running a PowerShell script as part of Azure steps require PowerShell 3
  • 2839 - Improved the error messages shown when the new IIS Web Site/Application/Virtual Directory Step finds unexpected content in IIS
  • 2840 - Improved usability of the new IIS Web Site and Application Step
  • 2846 - Converting an existing physical directory to either a Virtual Directory or Web Application in IIS now works, just like it used to in the old Step Templates

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.