diff --git a/.changeset/great-teachers-camp.md b/.changeset/great-teachers-camp.md
new file mode 100644
index 00000000000..fc854afe2d5
--- /dev/null
+++ b/.changeset/great-teachers-camp.md
@@ -0,0 +1,5 @@
+---
+"app-builder-lib": minor
+---
+
+feat(snap): Use core20 as default base
diff --git a/docs/configuration/snap.md b/docs/configuration/snap.md
index 91270551600..75f77b45d50 100644
--- a/docs/configuration/snap.md
+++ b/docs/configuration/snap.md
@@ -3,7 +3,7 @@ The top-level [snap](configuration.md#Configuration-snap) key contains set of op
-
-
base
String | “undefined” - A snap of type base to be used as the execution environment for this snap. Examples: core
, core18
, core20
, core22
. Defaults to core18
+base
String | “undefined” - A snap of type base to be used as the execution environment for this snap. Examples: core
, core18
, core20
, core22
. Defaults to core20
-
confinement
= strict
“devmode” | “strict” | “classic” | “undefined” - The type of confinement supported by the snap.
diff --git a/packages/app-builder-lib/scheme.json b/packages/app-builder-lib/scheme.json
index 57e68a518f6..fc7cd69be72 100644
--- a/packages/app-builder-lib/scheme.json
+++ b/packages/app-builder-lib/scheme.json
@@ -5687,7 +5687,7 @@
"type": "boolean"
},
"base": {
- "description": "A snap of type base to be used as the execution environment for this snap. Examples: `core`, `core18`, `core20`, `core22`. Defaults to `core18`",
+ "description": "A snap of type base to be used as the execution environment for this snap. Examples: `core`, `core18`, `core20`, `core22`. Defaults to `core20`",
"type": [
"null",
"string"
diff --git a/packages/app-builder-lib/src/options/SnapOptions.ts b/packages/app-builder-lib/src/options/SnapOptions.ts
index 5938d32ac8e..764e312d774 100644
--- a/packages/app-builder-lib/src/options/SnapOptions.ts
+++ b/packages/app-builder-lib/src/options/SnapOptions.ts
@@ -3,7 +3,7 @@ import { CommonLinuxOptions } from "./linuxOptions"
export interface SnapOptions extends CommonLinuxOptions, TargetSpecificOptions {
/**
- * A snap of type base to be used as the execution environment for this snap. Examples: `core`, `core18`, `core20`, `core22`. Defaults to `core18`
+ * A snap of type base to be used as the execution environment for this snap. Examples: `core`, `core18`, `core20`, `core22`. Defaults to `core20`
*/
readonly base?: string | null
diff --git a/packages/app-builder-lib/templates/snap/snapcraft.yaml b/packages/app-builder-lib/templates/snap/snapcraft.yaml
index 08ed9604b8e..f0d706d3c0b 100644
--- a/packages/app-builder-lib/templates/snap/snapcraft.yaml
+++ b/packages/app-builder-lib/templates/snap/snapcraft.yaml
@@ -1,4 +1,4 @@
-base: core18
+base: core20
grade: stable
confinement: strict
parts:
diff --git a/test/snapshots/linux/snapTest.js.snap b/test/snapshots/linux/snapTest.js.snap
index 0987fb04a59..bce199a4b73 100644
--- a/test/snapshots/linux/snapTest.js.snap
+++ b/test/snapshots/linux/snapTest.js.snap
@@ -42,7 +42,7 @@ Object {
"architectures": Array [
"amd64",
],
- "base": "core18",
+ "base": "core20",
"confinement": "strict",
"description": "Test Application (test quite “ #378)",
"grade": "stable",
@@ -181,7 +181,7 @@ Object {
"architectures": Array [
"amd64",
],
- "base": "core18",
+ "base": "core20",
"confinement": "strict",
"description": "Test Application (test quite “ #378)",
"grade": "stable",
@@ -404,7 +404,7 @@ Object {
"architectures": Array [
"amd64",
],
- "base": "core18",
+ "base": "core20",
"compression": "xz",
"confinement": "strict",
"description": "Test Application (test quite “ #378)",
@@ -611,7 +611,7 @@ Object {
"architectures": Array [
"amd64",
],
- "base": "core18",
+ "base": "core20",
"confinement": "strict",
"description": "Test Application (test quite “ #378)",
"grade": "stable",
@@ -681,7 +681,7 @@ Object {
"architectures": Array [
"amd64",
],
- "base": "core18",
+ "base": "core20",
"confinement": "strict",
"description": "Test Application (test quite “ #378)",
"grade": "stable",
@@ -750,7 +750,7 @@ Object {
"architectures": Array [
"amd64",
],
- "base": "core18",
+ "base": "core20",
"confinement": "strict",
"description": "Test Application (test quite “ #378)",
"grade": "stable",
@@ -819,7 +819,7 @@ Object {
"architectures": Array [
"amd64",
],
- "base": "core18",
+ "base": "core20",
"confinement": "strict",
"description": "Test Application (test quite “ #378)",
"grade": "stable",
@@ -869,7 +869,7 @@ Object {
"architectures": Array [
"amd64",
],
- "base": "core18",
+ "base": "core20",
"confinement": "classic",
"description": "Test Application (test quite “ #378)",
"grade": "stable",
@@ -1034,7 +1034,7 @@ Object {
"architectures": Array [
"amd64",
],
- "base": "core18",
+ "base": "core20",
"confinement": "classic",
"description": "Test Application (test quite “ #378)",
"grade": "stable",
@@ -1200,7 +1200,7 @@ Object {
"architectures": Array [
"amd64",
],
- "base": "core18",
+ "base": "core20",
"confinement": "classic",
"description": "Test Application (test quite “ #378)",
"grade": "stable",
@@ -1366,7 +1366,7 @@ Object {
"architectures": Array [
"amd64",
],
- "base": "core18",
+ "base": "core20",
"confinement": "classic",
"description": "Test Application (test quite “ #378)",
"grade": "stable",
@@ -1542,7 +1542,7 @@ Object {
"architectures": Array [
"amd64",
],
- "base": "core18",
+ "base": "core20",
"confinement": "strict",
"description": "Test Application (test quite “ #378)",
"grade": "stable",
@@ -1602,7 +1602,7 @@ Object {
"architectures": Array [
"amd64",
],
- "base": "core18",
+ "base": "core20",
"confinement": "strict",
"description": "Test Application (test quite “ #378)",
"grade": "stable",
@@ -1803,7 +1803,7 @@ Object {
"architectures": Array [
"amd64",
],
- "base": "core18",
+ "base": "core20",
"confinement": "strict",
"description": "Test Application (test quite “ #378)",
"grade": "stable",
@@ -2017,7 +2017,7 @@ Object {
"architectures": Array [
"amd64",
],
- "base": "core18",
+ "base": "core20",
"confinement": "strict",
"description": "Test Application (test quite “ #378)",
"grade": "stable",
@@ -2090,7 +2090,7 @@ Object {
"architectures": Array [
"amd64",
],
- "base": "core18",
+ "base": "core20",
"confinement": "strict",
"description": "Test Application (test quite “ #378)",
"grade": "stable",
@@ -2176,7 +2176,7 @@ Object {
"architectures": Array [
"amd64",
],
- "base": "core18",
+ "base": "core20",
"confinement": "strict",
"description": "Test Application (test quite “ #378)",
"grade": "stable",
diff --git a/test/src/linux/snapTest.ts b/test/src/linux/snapTest.ts
index 8403c66371f..e8919824e2f 100644
--- a/test/src/linux/snapTest.ts
+++ b/test/src/linux/snapTest.ts
@@ -305,7 +305,7 @@ test.ifDevOrLinuxCi(
},
effectiveOptionComputed: async ({ snap }) => {
expect(snap).toMatchSnapshot()
- expect(snap.base).toBe("core18")
+ expect(snap.base).toBe("core20")
return true
},
})