Pterodactyldocs

Changes From 1.x

The changes in Pterodactyl 2.0 that affect existing 1.x installations.

Introduction

This page lists the changes in 2.0 that affect 1.x installations. Each change says how likely it is to affect you. When you are ready to upgrade, follow Upgrading From 1.x.

High Impact Changes

PHP 8.3 and the Intl Extension

Likelihood Of Impact: High

The Panel now needs PHP 8.3 or newer and the intl PHP extension. The 1.x installation guide does not install intl. On Ubuntu, you may install it with:

apt install php8.3-intl

See Requirements for the full list.

Upgrading With p:upgrade

Likelihood Of Impact: High

Do not use php artisan p:upgrade or the 1.x update steps to move to 2.0. Both download the latest release and unpack it on top of your 1.x files, which leaves your Panel offline. Once 2.0 is released, running p:upgrade without --release will download 2.0.

Follow Upgrading From 1.x instead. It installs 2.0 in a new directory.

Nest Endpoints Removed From the Application API

Likelihood Of Impact: High

The /api/application/nests endpoints have been removed. Requests to them now return 404. Use the egg and tag endpoints instead:

1.x2.0
GET /api/application/nestsGET /api/application/tags
GET /api/application/nests/{nest}GET /api/application/tags/{tag}
GET /api/application/nests/{nest}/eggsGET /api/application/eggs?filter[tag]={slug}
GET /api/application/nests/{nest}/eggs/{egg}GET /api/application/eggs/{egg}

When the upgrade turns a nest with two or more eggs into a tag, the tag records the nest's ID in its legacy_nest_id attribute, so an integration that stored nest IDs can find the matching tag. Not every nest becomes a tag; see Review Egg Tags. To see an egg's tags, add ?include=tags to an egg request. The tag endpoints need the same read permission as the egg endpoints.

This mostly affects billing modules. If you use the official WHMCS module, update it before you upgrade the Panel. The updated module works with both 1.x and 2.0. If you use another billing module, ask its developer whether it supports 2.0.

Your existing API keys keep working. The other Application API requests that billing modules make, such as creating, suspending, and deleting servers, work as before.

Medium Impact Changes

Nests Are Replaced by Tags

Likelihood Of Impact: Medium

Eggs are now grouped with tags instead of nests. An egg can have several tags, and tags can also be added to nodes. The upgrade turns your existing nests into tags. See Review Egg Tags for how each nest is converted.

The nests table stays in your database, but 2.0 no longer updates it. Eggs and servers created on 2.0 do not belong to a nest.

Database Versions

Likelihood Of Impact: Medium

The Panel is tested with MariaDB 10.11 and 11, and with MySQL 8 and 9. The old 1.x minimums of MySQL 5.7 and MariaDB 10.2 are not tested with 2.0. If you run an older database server, you should upgrade it first.

Low Impact Changes

Admin API

Likelihood Of Impact: Low

2.0 adds an Admin API at /api/admin. The new admin area uses it to manage the Panel, including eggs, tags, settings, and extensions. The Client API and the Application API keep their existing paths. See the API overview.

Building the Frontend

Likelihood Of Impact: Low

This only affects you if you build the Panel from source. The frontend is now built with npm and Vite instead of Yarn and Webpack, and needs Node.js 22.12 or newer. The --openssl-legacy-provider option is no longer needed. The release archive already contains the built frontend.

Docker Image

Likelihood Of Impact: Low

The Panel Docker image now includes the queue worker and the scheduler, so you do not need a separate worker service or cron entry. The image does not run database migrations when it starts. You run them yourself as part of each deployment. See Docker Deployment.

On this page