---
title: "Upgrading to Otter 3.0"
order: 3
url-slug: "otter-upgrading-to-3-0"
---
Otter 3.0 is a major upgrade, with a number of breaking changes and significant new features. Review this article carefully before deciding when and how to upgrade.
This article is intended to help you upgrade to Otter v3 and covers:
If you are currently using Otter v1, make sure to see the Upgrading from v1 notes as well.
Job Templates have been simplified and streamlined to allow you to easily create a custom UI for running your scripts.
Support for Pipeline Rafts and Pipeline-Only Rafts has been removed. It will be replaced in an upcoming version with a much simpler pipeline system.
The Inedo Agent can now operate in an outgoing mode, and Otter v3 can accept incoming connections from it. This opens up new possibilities for cloud-hosting Otter while still having access to on-prem resources.
Otter is now cross-platform! You can now run Otter as a Linux container instead of hosting on a Windows server. See our Linux and Docker Installation Guide.
In addition to various UI changes, some terms in the software have been renamed
You can no longer specify a configuration plan that is specific to one server. Instead, configuration plans may only be defined for server roles.
The PSEnsure operation was renamed PSEnsureScripts, and PSEnsure became a new operation that functions a lot like PSCall.
In Otter v3, through the use of Additional Help Parameters in PowerShell, you can now "ensure configuration" or "verify configuration" with just a PowerShell single script, and execute that script the same way you would with PSCall. This eliminates the need to pass in multiple parameters and scripts, as was required in Otter v2.
Because configuration plan logic has been updated, there is a potential for unintentional changes/bugs to be introduced. To mitigate these risks:
Otter may be upgraded by simply running the latest installer. The agents do not need to be updated.
Because there are database changes, a rollback will require uninstalling Otter, and then restoring your Otter instance.
Otter can be upgraded from v1 to v3 by simply running the installer; there is no need to upgrade to v2 first. Please note the breaking changes in Otter v2 below.
Any custom extensions must be rebuilt against the Inedo SDK. This can be accomplished simply by removing the Inedo.Otter.SDK NuGet package from your project and then installing the Inedo.SDK NuGet package. Visit the "creating an extension" documentation for more information on formatting the output and installing the extension.
The required code changes are:
Additionally, the DB class was removed. There is no current workaround for this besides querying the database directly. Common infrastructure and components (e.g. servers, roles, configuration values) should be accessed via the SDK class.