- BuildMaster
- Getting Started with BuildMaster
- Builds and Continuous Integration
- What is a "Build" in BuildMaster?
- Git and Source Control
- Git Pipelines and Workflows
- Build Scripts & Templates
- Packages & Dependencies
- Build Artifacts
- Automated Testing & Verification
- Deployment & Continuous Delivery
- What is a “Pipeline” in BuildMaster?
- CI Server (Jenkins, TeamCity, etc.) Integration
- Deployment Scripts & Templates
- Automatic Checks & Approval Gates
- Manual Deployment Steps and Tasks
- Databases
- Configuration Files
- Rollbacks
- Advanced CD Patterns
- Applications & Releases
- Connecting to your Servers with BuildMaster
- Scripting in BuildMaster
- Configuring for Your Team
- Docker/Containers
- Development Platforms
- Deployment Targets
- Tools & Service Integrations
- Reference
- BuildMaster API Endpoints & Methods
- Extending BuildMaster
- Built-in Functions & Variables
- Applications
- Builds
- Configuration Files
- Containers
- Credentials
- Databases
- Deployables
- Environments
- Executions
- Files
- General
- JSON
- Linux
- Lists
- Maps
- Math
- Nuget
- Packages
- Pipelines
- PowerShell
- Python
- Releases
- Servers
- Strings
- XML
- Built-in Operations
- Batch
- BuildMaster
- Configuration Files
- Databases
- DotNet
- Files
- Firewall
- General
- Apply-Template
- Attach Package
- Build
- Checkout-Code
- Close-Issue
- Concatenate-Files
- Copy-Files
- Create-Directory
- Create-File
- Create-Issue
- Create-Issue
- Create-IssueComment
- Create-Package
- Create-ZipFile
- Delete-Files
- Download-Asset
- Download-Http
- Ensure-Directory
- Ensure-File
- Ensure-HostsEntry
- Ensure-Metadata
- Ensure-Milestone
- Ensure-Package
- Ensure-Release
- Ensure-Tag
- Exec
- Execute Python Script
- Execute VSTest Tests
- Get-Http
- Install-Package
- OSCall
- OSExec
- Post-Http
- Push-PackageFile
- PYCall
- PYEnsure
- Query-Package
- Remediate-Drift
- Rename-File
- Repackage
- Replace-Text
- Send-Email
- Set-FileAttributes
- Set-Variable
- SHEnsure
- Sleep
- Transfer-Files
- Transition-Issues
- Upload-Assets
- Upload-Http
- Upload-ReleaseAssets
- Git
- IIS
- Nuget
- PowerShell
- ProGet
- Python
- Registry
- Servers
- Services
- Shell
- Windows
- Administration
- Installation & Upgrading
- ProGet
- Getting Started with ProGet
- Packages: Managing & Tracking
- Feeds Types & Third-Party Packages
- What is a "Feed" in ProGet?
- What is a "Connector" in ProGet?
- NuGet (.NET)
- Universal Feeds & Packages
- PowerShell
- Chocolatey (Windows/Machine)
- RubyGems (ruby)
- Visual Studio Extension (.vsix)
- Maven (Java)
- npm (Node.js)
- Bower (JavaScript)
- Debian (Apt)
- Helm (Kubernetes)
- PyPI (Python)
- Conda (Python)
- RPM (Yum)
- Alpine (APK)
- CRAN (R)
- pub (Dart/Flutter)
- Cargo (Rust)
- Terraform Modules
- Conan (C++)
- Other Feed Types
- Asset Directories & File Storage
- Docker and Containers
- Replication & Feed Mirroring
- Software Composition Analysis (SCA)
- Security and Access Controls
- Cloud Storage (Amazon S3, Azure Blob)
- Administration
- Installation & Upgrading
- API Endpoints & Methods
- Otter
- Getting Started with Otter
- Orchestration & Server Automation
- Connecting to your Servers with Otter
- Collecting & Verifying Configuration
- Drift Remediation / Configuration as Code
- Scripting in Otter
- Configuring for Your Team
- Installation & Upgrading
- Administration & Maintenance
- Reference
- Otter API Reference
- OtterScript Reference
- Built-in Functions & Variables
- Executions
- Files
- General
- JSON
- Linux
- Lists
- Maps
- Math
- PowerShell
- Python
- Servers
- Strings
- XML
- Built-in Operations
- Batch
- Docker
- DotNet
- Files
- Firewall
- General
- Apply-Template
- Collect Debian Packages
- Collect RPM Packages
- Collect-InstalledPackages
- Concatenate-Files
- Copy-Files
- Create-Directory
- Create-File
- Create-Package
- Create-ZipFile
- Delete-Files
- Download-Asset
- Download-Http
- Ensure-Directory
- Ensure-File
- Ensure-HostsEntry
- Ensure-Metadata
- Ensure-Package
- Exec
- Execute Python Script
- Get-Http
- Install-Package
- OSCall
- OSExec
- Post-Http
- Push-PackageFile
- PYCall
- PYEnsure
- Query-Package
- Remediate-Drift
- Rename-File
- Repackage
- Replace-Text
- Send-Email
- Set-FileAttributes
- Set-Variable
- SHEnsure
- Sleep
- Transfer-Files
- Upload-Assets
- Upload-Http
- IIS
- Otter
- PowerShell
- ProGet
- Python
- Registry
- Servers
- Services
- Shell
- Windows
- Installation & Maintenance
- Windows (Inedo Hub)
- What is the Inedo Hub?
- Configuring & Maintaining Inedo Products
- Offline Installation (no Internet access)
- HOWTO: Install on Windows
- HOWTO: Upgrade or Downgrade with the Inedo Hub
- HOWTO: Install Pre-release Product Versions
- HOWTO: Configure Your Inedo Product to Run As a Windows Domain Account
- Silent/Automated Installation Guide
- Legacy (Traditional) Installer
- Linux (Docker)
- Manual Installation
- High Availability & Load Balancing
- LDAP/AD Integration
- IIS & Web Hosting on Windows
- Logging & Analytics
- SAML Authentication
- Upgrading your Inedo Product
- Managing Agents and Servers
- Backing Up & Restoring
- Installation Configuration Files
- SQL Server & Inedo Products
- Windows (Inedo Hub)
- Inedo Agent
- What is the Inedo Agent?
- Installation & Upgrading
- Downloads & Release Notes
- Maintenance & Configuration
- Internal Architecture
- MyInedo
- OtterScript (Execution Engine)
- Reference
- OtterScript
- Inedo Execution Engine
- Operations & Functions
- Text Templating
- Resource Pools
- Runtime Variables
- Advanced Scenarios & Features
- Statements and Blocks
- Romp (Discontinued)
- Using Romp
- Installing, Configuring, and Maintaining
- Romp CLI Reference
- Package Layout
- Downloads & Source Code
- Extensibility
- Inedo SDK
Inedo SDK Versions & Release Notes
The Inedo SDK is used to build extensions to Inedo's core products (BuildMaster, ProGet, Otter) that implement core capabilities or add functionality. As new features are introduced into the core products, new components will be added to the SDK.
To keep track of which version of the SDK is compatible with which version of each product:
- the Inedo SDK is independently versioned using a three-part version number
- extensions are built against a specific version the Inedo SDK
- each product is built against a specific version of the Inedo SDK
Inedo products that are built against a specific version of the SDK can use extensions that were built against earlier versions, so long as they have the same major release number.
For example:
- ProGet 5.3.21 targets SDK 1.10 and can use extensions built for SDK 1.10, 1.9, 1.8, etc.
- Otter 2022.0 targets SDK 2.0, and will not use extensions built against SDK 1.10
SDK Versioning
You should target the latest version of the SDK, unless you need your extension to be loaded in a specific earlier product version.
The Inedo SDK is semantically versioned, which means that:
- Major versions (e.g. 1.10 to 2.0) may remove components and introduce noncompatible API changes
- Minor versions (e.g. 1.10 to 1.11) may introduce new components, deprecate (with a
Obsolete
attribute) old components, and introduce other backwards-compatible API changes - Patch versions (e.g. 1.10.0 to 1.10.1) introduce bugfix changes that do not affect the visible API
Product Compatibility
The below table shows the minimum version of each Inedo Product that the Inedo SDK is compatible with.
SDK v3 (3.0)
SDK Version | ProGet | BuildMaster | Otter |
---|---|---|---|
3.1.* | 2024.20 | 2024.0 | 2024.0 |
3.0.* | 2024.0 | n/a | n/a |
SDK v2 (2.0)
SDK Version | ProGet | BuildMaster | Otter |
---|---|---|---|
2.4.* | n/a | 2023.0 | 2023.0 |
2.3.* | 2023.0 | 2023.0 | n/a |
2.2.* | 2023.0 | 2022.0 | n/a |
2.1.* | 2022.3 | n/a | 2022.6 |
2.0.* | 2022.0 | n/a | 2022.0 |
SDK v1 (1.0 to 1.14)
SDK Version | ProGet | BuildMaster | Otter |
---|---|---|---|
1.14.* | 6.0.8 | n/a | 3.0.19 |
1.13.* | 6.0.0 | 7.0.12 | 3.0.19 |
1.12.* | 6.0.0 | 7.0.0 | 3.0.7 |
1.11.* | 5.3.23 | 7.0.0 | 3.0.2 |
1.10.* | 5.3.21 | 7.0.0 | 3.0.0 |
1.9.* | 5.3.12 | 7.0.0 | 3.0.0 |
1.8.* | 5.3.0 | 7.0.0 | 3.0.0 |
1.7.* | 5.2.4 | 6.2.0 | 3.0.0 |
1.6.* | 5.2.4 | 6.1.16 | 3.0.0 |
1.5.* | 5.2.4 | 6.1.12 | 2.2.7 |
1.4.* | 5.2.4 | 6.1.11 | 2.2.5 |
1.3.* | 5.2.4 | 6.1.10 | 2.2.4 |
1.2.* | 5.2.4 | 6.1.7 | 2.2.2 |
1.1.* | 5.1.0 | 6.1.0 | 2.1.0 |
1.0.* | 5.0.0 | 6.0.0 | 2.0.0 |
Note that the Linux versions of Inedo products (i.e. from ProGet 5.3.12+, BuildMaster 7.0.0+, and Otter 3.0.0+) only supports extensions using SDK 1.9+
The table will be expanded as new versions are released.