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 2021.2.8200 to 2021.3.12778
Octopus 2021.3
Highlights
Built-in support for Amazon's Elastic Container Service (ECS) will make your ECS deployments easier. Our opinionated UI step guides you through the setup and builds the CloudFormation template, so you don't have to write configuration files or custom scripts.
This release includes some other noteworthy updates:
- We delivered a new TypeScript API client for Octopus Deploy.
- The Config as Code early access preview (EAP) is available to all customers.
- Try our new Visual Studio Code extension that supports the Octopus Configuration Language (OCL) for Config as Code.
- The Terraform Provider for Octopus Deploy supports script modules, tenant variables, and Worker Pools.
- We improved our Go API client and TeamCity plugin for Octopus Deploy.
- Octopus Cloud supports Azure AD, Google, and Okta as authentication providers, alongside Octopus ID.
Read our blog post to learn more.
Breaking changes
This release includes 3 breaking changes.
New default behavior for GET machines/{id}/tasks
We added runbook run activity to the deployment target screen. In support of this change, GET machines/{id}/tasks
now returns both deployments and runbook runs. You can specify a type
parameter to filter the results: Deployment
or RunbookRun
.
Learn more about this change in the GitHub issue.
Recommended version of Mono to run Calamari
Calamari can execute on the Mono framework. We recommend 5.14.0 as the minimum version of Mono for running Calamari.
Learn more about this change in our SSH target requirements documentation.
Recommended version of the Octopus .NET API client
We recommend 11.3.3453 as the minimum version of the Octopus .NET API client for interacting with Octopus Server 2021.3.
Customers who use the Octopus .NET API client to work with teams, roles, and permissions must use version 11.3.3453 of the client (or newer) to ensure compatibility with Octopus Server 2021.3.7491 and newer.
Learn more about this change in the GitHub issue.
Octopus 2021.2
Highlights
Built-in support for Google Cloud makes it easier to manage deployments and runbook automation on Google infrastructure — including containerized applications with Kubernetes.
Other features allow you to:
- Integrate Octopus Deploy with business workflows using our no-code Workato connector
- Authenticate to Active Directory via LDAP when you're self-hosting Octopus on Linux
- Create more dynamic run conditions with new variable substitution (Octostache) filters
Breaking changes
This release includes one breaking change.
Steps that use bundled tools require the OctopusUseBundledTooling
property
The new upgrade script sets the OctopusUseBundledTooling
property to False
for steps that use an execution container. Otherwise, the script sets the property to True
or respects the legacy variables. This change only impacts users with custom Windows execution containers who rely on Octopus to inject the Azure or AWS tooling. Read about the workaround for that use case in the GitHub issue.
Release notes
These are the features and fixes you'll get by upgrading from 2021.2.8200 to 2021.3.12778.
Changes in Octopus Server 2021.3.12778
- 7323 - URL escaping percentage sign in branch name
Changes in Octopus Server 2021.3.12768
Changes in Octopus Server 2021.3.12725
- 7516 - Enforce
ProjectEdit
permissions when editing Git Projects
Changes in Octopus Server 2021.3.12714
- 7501 - Trust the SQL Server certificate by default
Changes in Octopus Server 2021.3.12694
Changes in Octopus Server 2021.3.12646
- 7475 - Project data is refreshed only when deployment process is saved successfully
Changes in Octopus Server 2021.3.12605
Changes in Octopus Server 2021.3.12582
- 7451 - Fix task logs not being deleted when a deployment or runbook run is deleted
Changes in Octopus Server 2021.3.12534
- 7281 - Active Directory authentication will now correctly login users when forms authentication and
Sign in with a domain
options are used
Changes in Octopus Server 2021.3.12461
- 7287 - Bugfix: Let's Encrypt Integration Task failing with 'Object reference not set to an instance of an object'
- 7074 - Kestrel web server configured with HTTPS now starts on Windows
- 7420 - Update project overview page to be more performant and load variables-missing endpoint asynchronously
- 7418 - Fix Dynamic Extension script loading
Changes in Octopus Server 2021.3.12372
- 7392 - Fixed an issue with the Execution Location on version controlled actions occasionally displaying incorrectly
- 7179 - Deployments that are executing or queued will no longer be cleaned up by release retention, and tasks must be completed or cancelled in order to delete them
- 7304 - Fix automatic release creation (ARC) skipping channel version rule checks
Changes in Octopus Server 2021.3.12355
- 7344 - Resolved an issue where viewing a deployment process for a version controlled project can create an audit entry
Changes in Octopus Server 2021.3.12313
- 7385 - Fixed an issue where Release create/modify weren't storing the audit diffs correctly
- 7389 - Null commits and commits messages will no longer cause
/api/<space>/packages
to return 500s - 7390 - Reverted changes to the Deployment.Changes data, so it goes back to being retained by default
- 7369 - Fixed an issue with Jira integration blocking release creation when integrating with Jira Server
- 7371 - Fixed an issue where Structured Configuration Variables were not correctly applying to XML files
- 7374 - The
/api/users/{id}/spaces
endpoint has been updated such that it wont cause thread starvation or deadlocks - 7283 - Release versioning selection for steps with multiple package references now works as expected
- 7290 - Retrieve release/runbook snapshot variable snapshot via
releases/{id}/variables
andrunbookSnapshots/{id}/variables
instead of querying all variables - 7324 - Updating a Certificate from Tenanted to Untenanted deployment mode without removing associated tenants doesn't save
- 7263 - Add an associated space label for the Space Managers on Test Permissions Page
- 7351 - Fixed worker pool properties not displaying correctly when using Action Templates on config-as-code projects
- 71 - Include Tenant name in Jira Environment DisplayName
- 6972 - Fixed SQL timeout on the
api/events
endpoint - 6794 - Fixed an issue where Structured Configuration Variables were failing to correctly process XML files without the
*.xml
file extension (eg*.config
) - 7177 - Fixed an issue where Structured Configuration Variables were failing to correctly process
.properties
files, and instead treating them as.yaml
files
Changes in Octopus Server 2021.3.12132
Breaking Changes
- 7338 - Tentacle retention policy will inherit from previous phase instead of lifecycle. Phase UI now shows the correct inherited retention policies
Other Changes
- 7350 - Fixed an issue where large amounts of Build Information data could cause high CPU and network load
Changes in Octopus Server 2021.3.12120
- 7330 - Fixed an issue where projects could not be configured with existing config-as-code files
- 7294 - Bug fix - ensure save button is enabled when switching between container images in step editor
- 7329 - Fixed git schema migrations requiring
ProjectEdit
permissions - 7317 - Runbook environment selection does not include project default lifecycle
- 6972 - Fixed SQL timeout on the
api/events
endpoint - 6257 - Auto-deploy triggers now consider environments from all lifecycles included in a project
- 7295 - Fixed a very specific scenario where lines were not being written to task logs
- 7321 -
/api/spaces
used to supportids
query params - 7255 - Deployments will no longer go to incorrect tenants if options are changed during loading
- 7217 - File verification on the Octopus Server the installation folder will check for the correct files
- 7280 - Testing an external docker feed targeting the dockerhub registry will now show an error when credentials are incorrect
- 7302 - Correctly parse valid certificates which have varying amounts of whitespace
- 7313 - Addressed an issue where a "Branch has not been initialized" error could appear on certain version controlled projects
- 7310 - Increased performance on tenant variable endpoints
- 7176 - Fixed a bug where whitespace input characters could be trimmed when typing into a MultiSelect
- 49 - Authentication returns an error when certain LDAP groups contain a '#' or other characters that are escaped in DNs
- 7143 - LdapAuthenticationProvider now handles escaped special characters such as '#' in group names
- 7041 - Prevent an internal component unmounted message being shown as an error to users
- 7301 - Open redirect vulnerability in Octopus Server
- 7173 - Fixed a UI issue where an infinite loading indicator could be displayed instead of a project loading error
- 7299 - Server that was idle for more than an hour would delete message bus cursors. When they were recreated, the message that caused them to be recreated may not have been handled. This has been known to affect issues like ARC
- 7253 - Errors that occur in offline package drop steps no longer silently fail
- 7296 - Fixed worker pool related properties occasionally disappearing in version controlled projects
- 7246 - Speed up cloning a step, filtering tenants and testing permissions by retrieving project summaries instead of full details
- 7297 - SQL Aliases can be used again for server connection strings
- 7293 - Fixed an issue where audit links in overflow menus would result in page not found errors
- 7289 - Fix dependency issue causing telemetry server tasks not to run
- 7221 - Cannot select channel grouping filter
- 7282 - Fix an issue where the YAML editor on the
Deploy Kubernetes container
step changes the feed name to an ID - 7288 - Fix dependency issue causing some server tasks not to run
- 7285 - Fixed a bug where links in overflow menus would not navigate to the correct location
- 7273 - Correctly filter Certificates on the UI when there are more than 15
- 7271 - Fixed an error that was preventing the replacement of a corrupted master key
- 7227 - Display correct latest release for each channel when "Discrete channel releases" is enabled
- 7277 - Lifecycles no longer clear on UI when enabling ARC
- 7270 - Lock trace logs are once again directed to the system log rather than the task log
- 7261 -
role
parameter now functions correctly on theGET /variables/preview
endpoint - 7197 - Fixed importing a project (using Bento) with WorkItems such as Jira issues in commit messages
- 7031 - Tasks can now be filtered by date
- 7257 - Cloud Region targets can now be filtered from Infrastructure dashboard
- 7279 - Fix for redundant SQL meta-data queries being run per transaction
- 7262 - BuildInformation endpoint falls back to use default space when enabled
- 7245 - Fix modified scoped user roles not being updated immediately in multi-node setup
- 7247 - Fixed bug that caused deployment settings to be reset when updating project settings of a version controlled project
- 7145 - Migrate the nancy team membership to ASP.NET Core
- 7178 - Raw task log no longer extends outside of its container
- 7242 - Fixed an issue where renaming a Runbook step where the name was the same as a step in the Deployment Process would cause "resource not found" errors when navigating through a project
- 7166 - The
/api/workerpools
filters by the specifiedids
query parameter once more - 7256 - Message bus event deletion now dynamically reduces the number of events dropped if a timeout occurs
- 7250 - Message bus event deletion now dynamically reduces the number of events dropped if a timeout occurs
- 7003 - Self-signed Certificates are now correctly saved as tenanted if the option is selected
- 7259 - Support converting a project to version controlled using an uninitialized git repository
- 7130 - Fixed "Stack empty" error when deploying multiple releases in parallel
- 7248 - Propagate changes to user identities in external auth providers to all cluster nodes
- 7215 - Fixed a bug with the display of the table cells on dashboard page
- 6963 - Package feed used in ARC must be a builtIn feed
- 7196 - Fixed an issue where some Project pages without a branch selector would show a "No git resource" error if the last selected branch was deleted
- 7182 - Fixed
LastUpdatedTime
when doing Deployment ServerTasks - 7244 - Service Message Parsing (This time for sure)
- 6842 - Tool acquisition on workers and deployment targets no longer blocks other actions from running
- 7236 - Show loading message instead of
Missing Resource
when loading teams in a manual intervention step - 7237 - Speeding up progression endpoint
- 7238 - Fixed an issue where changes made to the the Deployment Settings for a version controlled project via the frontend would sometimes be applied to the wrong branch
- 7204 - Speeding up project fetching when requesting an individual project, or taking a set number
- 7235 - Fixing timeout from manual interventions after 30 minutes on Azure
- 6915 - Events with long messages can now be exported with migrator
- 7231 - Speeding up teams API fetching
- 7234 - Fix team roles not updating immediate in multi-node setup
- 7233 - Fix excessive logging of "Cursor should exist"
- 7232 - Fix potential issue with multiple nodes running message bus cleanup
- 7160 - Improve the error message when the deployment settings file can not be found in the Git repo
- 7226 - Octopus Server will now drop any messages that cannot be sent successfully to SumoLogic to avoid performance degradation on communication failures
- 7224 - Updating a step template usage which is used in a channel's versioning rules will no longer result in an error
- 7093 - Extension link in Configuration remains hidden unless user has correct permissions
- 7210 - Azure Devops Fatal Error when running task: OctopusCreateRelease@4 with a commit message referencing a Jira Work Item that doesn't exist
- 7223 - Azure Devops Fatal Error when running task: OctopusCreateRelease@4 with a commit message referencing a Jira Work Item that doesn't exist
- 7050 - Fixes a bug where unexpected masked output is written to logs, when echoing an empty Bash script argument
- 7219 - Corrected the permissions required to view the telemetry configuration menu item
- 7183 - Add project name in HTML title
- 7155 - Crontabs can now be correctly parsed in the
tr-TR
locale - 7148 - Sorted lifecycles correctly in the channel edit page
- 7213 - Propagate external group changes to all cluster nodes
- 7212 - Propagate user modifications to all cluster nodes
- 7194 - Version control settings are now checked for conflicts with other projects before saving. Cloning version controlled projects has been temporarily disabled
- 7209 - Added support for configuring multiple connection for Azure DevOps Issue Tracker integration
- 7202 - Fix issue with auto-created space manager team not found when creating / retrieving space
- 7207 - Fix issue with message bus events not being deleted, leading to slow queries
- 7203 - Fix configuration settings being cached too long
- 7171 - Fix channel version rules being unexpectedly changed when renaming steps
- 7199 - SumoLogic Serilog sink now buffers to improve performance
- 7195 - Speeding up variables API fetching
- 7180 - Re-introduced the advanced options in the Project Clone dialog
- 7185 - Let's Encrypt configuration no longer gets stuck "Waiting for other tasks to complete"
- 7239 - Display error message to user when attempting to convert a project with sensitive variables to Config as Code
- 7112 - Removed the need to specify the
Octopus.Action.RunOnServer
property in OCL when using workers - 6828 - Set Tentacle connection messages to debug to reduce the noise in logs
- 7181 - Viewing deployment processes for VCS Projects with a step template no longer requires the
ActionTemplateView
permission - 7175 - Existing features configuration values are no longer being overwritten by missing fields in the request
- 6909 - Fixed incorrect Calamari upgrade message through improved version checking
- 7172 - Hashes are no longer mistaken for multi-line service messages
- 7170 - Fixes an issue where
New-OctopusTokenAccount
doesn't validate against an empty/null-token
argument - 7193 - Token Account creation allowed missing tokens when created via steps
- 7038 - Decouple telemetry from checking for upgrades and introduce dedicated telemetry screen
- 7147 - clone step still needs to be available from runbooks in config as code projects
- 7123 - Fix infrastructure dashboard page to show correct number of targets in ‘Tenants’ section
- 6838 - Added an environment variable
OCTOPUS_SERVER_CONFIGURATION_DIRECTORY
which refers to the directory where the docker image stores configuration files. Defaults to/home/octopus/.octopus
- 7205 - Fixed Migrator remapping issues:
ActionTemplate.LogoAttachmentKey
will be removed if the reference does not exist,Proxy
import is fixed,Release.LifecycleId
is now correctly mapped - 7188 - Support added for changing the default branch on a Git Project
- 7240 - Re-enable changing the default branch in Config as Code settings
- 7164 - Channels can be deleted again via
/channels/{channel-id}
- 7189 - Improve stability of Git cache retention process when encountering files marked as read_only
Changes in Octopus Server 2021.3.8275
Breaking Changes
- 7073 - Reversal of behavioral change introduced in 2021.2.5105 - Lifecycles on Releases are now sourced from the Channel again
- 6982 - Added runbook run activity to the deployment target screen.
GET machines/{id}/tasks
now returns both deployments and runbook runs, and can be filtered by specifying atype
parameter - 6944 - Remove role input from variable preview, instead retrieve role scope based on the deployment target selected
Other Changes
- 7109 - Fixed JSON serialisation issues in OCL when enabling Config as Code
- 7152 - Can't add/edit Azure account variables
- 7153 - Repackaged node-bootstrapper tool manually to work properly with our .tgz archiving pipeline
- 7140 - Fixes a issue in which the Task History was not updated because
QueueTime
was set to the minimum value - 2998 - Improved the performance of the release page when the project has a large number of package steps
- 7191 - Could not view old releases
- 7139 - Fixed a performance issue where querying a large number of ServerTasks was taking a long time
- 7190 - Octopus .NET API client not working with Server
- 7137 - Migrating api/smtpconfiguration from Nancy to MVC
- 7131 - Migrating api/accounts from Nancy to MVC
- 7132 - Database collations errors now indicate what failed the collation test
- 7186 - Modify VCS space used logic to account for file being removed while its getting calculated
- 7126 - Long package names are now correctly handled by build information
- 6580 - Version correctly recorded for Linux targets during health check
- 7117 - On Windows,
Tentacle.exe
no longer requires admin rights for most CLI commands - 7058 - Fixed an issue where CloudFormation step may report success when stack has failed
- 6965 - Improved detection of a NuGet V3 feed and handling of NuGet V3 feeds that don't fully implement the NuGet V3 specification
- 7052 - Resolve an issue where there could be deadlocks and duplicate events when adding or deleting machines
- 7116 - Removed log noise from logging some expected exceptions as errors
- 7105 - Fixing an issue where viewing a release referencing packages created in other releases shows errors while loading release notes
- 7108 - Fix SQL Server error
The server failed to resume the transaction
- 7096 - Migrating api/machineroles/all from Nancy to MVC
- 36 - JIRA Integration Octopus URL Virtual Directory Binding
- 35 - Jira integration authentication TEST button returns a 404 through reverse proxy.
- 7097 - Migrating api/machineroles/all from Nancy to MVC
- 7098 - Fix for server tasks being created with QueueTime of DateTimeOffset.MinValue
- 7099 - Reduce blob column sizes and make index unique
- 7103 - Add simple performance test for creating releases and deployments, logged to TeamCity build statistics
- 7079 - Migrated unknown variable types to a known type
- 7080 - Removed a visible semicolon when adding a deployment target
- 7101 - DynamicExtensionsScripts Configuration was changed
- 7045 - Fixed an issue where portal would use incorrect styles immediately after upgrading
- 7102 - Add stop-loss convention test for MVC controller parameters
- 7070 - Octopus Server running on linux can now connect to named SQL Server instances
- 7068 - Reduced the size of the docker image by restructuring the docker container layers
- 7100 - Revert "Tune GC settings to be more friendly to shared hosting" for performance
- 7104 - Cherry-pick performance changes to entity tracker
- 7024 - Fixed an issue where the process editor loses all state when resizing the browser window
- 6904 - You can now push Build Information to Maven packages with
:
in their name - 7057 - Fixed Permissions Check to allow Audit Events to be written down during background tasks
- 7063 - Improved performance of auto-deploy logs
- 6987 - Enable anonymous bind support in LDAP authentication provider
- 7059 - Kubernetes Job resources do not include images
- 7008 - Add Google Cloud support to New-OctopusKubernetesTarget cmdlet
- 7015 - Fixed a permissions issue when attempting to delete deployment targets
- 6494 - Parent project's deployment now succeeds when deploying a release of a child project with multiple manual interventions
- 6806 - Removing check for Azure Service Management API usage as it is no longer needed and displays an incorrect warning when Legacy Mode is enabled for Azure Web App deployment
- 7027 - Project trigger validation message is cryptic
- 7037 - Space deletions task no longer fails
- 7029 - Improve error message resulting from attempting to register an Account without setting resource permissions
- 56 - Fixed issue retrieving Jira issues that have comments
- 6903 - New installs of Octopus will now include FeedView and ActionTemplateView for Project Viewers, and ActionTemplateView and VariableView on Runbook Consumers to allow these roles to view action template steps. An error will be displayed instead of an infinite loading bar on viewing an action template step without enough permissions
- 7019 -
Download custom version
menu item should go to the Tentacle download page - 7033 - Kubernetes YAML view does not remove unrecognised elements when saving and opening again
- 7007 - Fix Swagger documentation for
DELETE apikeys
- 7023 - Kubernetes deployments on a Linux worker always wait for the deployment
- 7000 - Validate the JSON entered into the Azure Web Service step
- 6997 - Add support for structured variable replacements in S3 uploads
- 6993 - Allow CloudFormation templates to be deployed via S3
- 6998 - Export Terraform plan output in JSON
- 7200 - Improved display of sensitive-bound Tenant variables
- 6938 - Existing certificates which point to a non-existent replacement certificate will no longer have an invalid reference. References to replacement certificates will be cleaned if the replacement certificate is deleted
- 6984 - Fixed issue where enabling legacy mode in Azure steps disabled role selection
- 6923 - AWS steps now support IMDSv2
- 6978 - Deploy Kubernetes Containers step custom resource with Windows line endings fails to deploy
- 6945 - Fetch Lifecycle usage data when accessing page directly
- 6975 - Fixes ordering of Kubernetes environment variables to allow substitution of Downstream APIs
- 7192 - Fixed visibility of Tenant Variables on Variable Preview for Tenant Scoped Users
- 6973 - Helm, Terraform, ARM Template, and CloudFormation steps referencing Docker images
- 6960 - Release retention now keeps the appropriate dashboard items in discrete channel mode
- 6970 - Validate variable types and correctly deserialize types to allow case-insensitive input
- 6966 - Terraform step will not parse template with "{{
- 6950 - Dashboard once again displays most recent releases per environment when there are multiple channels
- 6486 - Ensure correct status is shown on Deploy Child Project steps with manual intervention
Changes in Octopus Server 2021.2.8200
- 7475 - Project data is refreshed only when deployment process is saved successfully