-
-
Notifications
You must be signed in to change notification settings - Fork 11k
Closed
Labels
core team[triage] Being looked at by the core Ghost team[triage] Being looked at by the core Ghost team
Description
We're working towards releasing Ghost 6.0. As with all major version bumps, there will be some breaking changes, especially around the API.
This issue is a placeholder where we'll keep track of all the breaking changes we are making. The intention is to have one place to point to - but also make this transparent for the community.
Breaking changes
This list isn't final until 6.0 is shipped.
- Dropping support for Node.js v18
v18 is EOL now, and no longer supported upstream, we're updating to reflect this - Dropping support for Node.js v20
Node.js v22 includes some important new features that we want to use to make building Ghost easier - including TypeScript and ESM support. Maintaining backwards compatibility with v20 in this case doesn't feel super valuable given the advantages of being v22 only and the timing of the 6.0 release means we get to call it out loud as a breaking change. - Return max 100 results from Ghost's APIs (deprecating
?limit=all
)
Having the ability to return all results made sense when Ghost was a small blogging tool. Now it has significant performance issues.?limit=all
will be deprecated, and if used will only return max 100 results. Setting limit to a number higher than 100 will also result in a max of 100 results. - Removing AMP
Our AMP feature has been deprecated for quite some time. It will be removed in 6.0 - Removing
GET /ghost/api/admin/session/
endpoint - this is an unused endpoint. UseGET /ghost/api/admin/users/me/
instead. - Removing
created_by
&updated_by
from everywhere
These fields were deprecated a while ago and are not used in any meaningful way in the codebase. Audit logging is done via theactions
system which replaced usage of these fields - Ensuring that all users have an
ObjectID
for their ID. This means migrating any existing users who had an ID of1
to anObjectID
, and changing the system so that the first user created no longer has a hardcoded ID of1
. This allows us to remove codepaths that had to check whether the ID was1
or anObjectID
(and allow us to properly type this field) as well as remove any assumptions that the owner ID is always1
. It is no longer safe to assume the user with an ID of1
is the default/owner user - Stopped serving files without extensions from the theme root folder & correctly 404 for missing theme assets.
cathysarisky, betschki, Kerumen and omnibus2211
Metadata
Metadata
Assignees
Labels
core team[triage] Being looked at by the core Ghost team[triage] Being looked at by the core Ghost team