diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 05a155e91de..4fd782ca232 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -66,6 +66,7 @@ jobs:
--threads 1C
-DforkCount=1
-Dnative=${{ matrix.config.native }}
+ -Papi-check
-Dcompare-version-with-baselines.skip=true
-Dtycho.baseline.replace=none
--fail-at-end
diff --git a/Jenkinsfile b/Jenkinsfile
index df84e631027..82fe57b231c 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -300,6 +300,7 @@ pipeline {
sh '''
mvn clean verify \
--batch-mode --threads 1C -DforkCount=0 \
+ -Papi-check \
-Dcompare-version-with-baselines.skip=false \
-Dorg.eclipse.swt.tests.junit.disable.test_isLocal=true \
-Dmaven.test.failure.ignore=true -Dmaven.test.error.ignore=true
diff --git a/binaries/.settings/.api_filters b/binaries/.settings/.api_filters
new file mode 100644
index 00000000000..04e597af722
--- /dev/null
+++ b/binaries/.settings/.api_filters
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/binaries/org.eclipse.swt.cocoa.macosx.aarch64/build.properties b/binaries/org.eclipse.swt.cocoa.macosx.aarch64/build.properties
index 447a154b876..75280ae21d4 100644
--- a/binaries/org.eclipse.swt.cocoa.macosx.aarch64/build.properties
+++ b/binaries/org.eclipse.swt.cocoa.macosx.aarch64/build.properties
@@ -14,6 +14,7 @@ custom = true
bin.includes = .,*.jnilib,about_files/,about.html,fragment.properties
bin.excludes = library/
source.. = src/
+output.. = bin/
src.includes = about.html,about_files/
pom.model.property.os=macosx
diff --git a/binaries/org.eclipse.swt.cocoa.macosx.x86_64/build.properties b/binaries/org.eclipse.swt.cocoa.macosx.x86_64/build.properties
index cced1f1ceb9..f9f68f4afac 100644
--- a/binaries/org.eclipse.swt.cocoa.macosx.x86_64/build.properties
+++ b/binaries/org.eclipse.swt.cocoa.macosx.x86_64/build.properties
@@ -14,6 +14,7 @@ custom = true
bin.includes = .,*.jnilib,about_files/,about.html,fragment.properties
bin.excludes = library/
source.. = src/
+output.. = bin/
src.includes = about.html,about_files/
pom.model.property.os=macosx
diff --git a/binaries/org.eclipse.swt.gtk.linux.aarch64/build.properties b/binaries/org.eclipse.swt.gtk.linux.aarch64/build.properties
index f64dc6ffd7d..80d4e359fa9 100644
--- a/binaries/org.eclipse.swt.gtk.linux.aarch64/build.properties
+++ b/binaries/org.eclipse.swt.gtk.linux.aarch64/build.properties
@@ -13,6 +13,7 @@ custom = true
bin.includes = .,*.so,about_files/,about.html,fragment.properties
bin.excludes = library/
source.. = src/
+output.. = bin/
src.includes = about.html,about_files/
pom.model.property.os=linux
diff --git a/binaries/org.eclipse.swt.gtk.linux.loongarch64/build.properties b/binaries/org.eclipse.swt.gtk.linux.loongarch64/build.properties
index 87f3d64a14e..afbb3490bf5 100644
--- a/binaries/org.eclipse.swt.gtk.linux.loongarch64/build.properties
+++ b/binaries/org.eclipse.swt.gtk.linux.loongarch64/build.properties
@@ -13,6 +13,7 @@ custom = true
bin.includes = .,*.so,about_files/,about.html,fragment.properties
bin.excludes = library/
source.. = src/
+output.. = bin/
src.includes = about.html,about_files/
pom.model.property.os=linux
diff --git a/binaries/org.eclipse.swt.gtk.linux.ppc64le/build.properties b/binaries/org.eclipse.swt.gtk.linux.ppc64le/build.properties
index 4507c57cad2..e83c613c6e7 100644
--- a/binaries/org.eclipse.swt.gtk.linux.ppc64le/build.properties
+++ b/binaries/org.eclipse.swt.gtk.linux.ppc64le/build.properties
@@ -13,6 +13,7 @@ custom = true
bin.includes = .,*.so,about_files/,about.html,fragment.properties
bin.excludes = library/
source.. = src/
+output.. = bin/
src.includes = about.html,about_files/
pom.model.property.os=linux
diff --git a/binaries/org.eclipse.swt.gtk.linux.x86_64/build.properties b/binaries/org.eclipse.swt.gtk.linux.x86_64/build.properties
index 528d181ca38..c6de728783b 100644
--- a/binaries/org.eclipse.swt.gtk.linux.x86_64/build.properties
+++ b/binaries/org.eclipse.swt.gtk.linux.x86_64/build.properties
@@ -14,6 +14,7 @@ custom = true
bin.includes = .,*.so,about_files/,about.html,fragment.properties
bin.excludes = library/
source.. = src/
+output.. = bin/
src.includes = about.html,about_files/
pom.model.property.os=linux
diff --git a/binaries/org.eclipse.swt.win32.win32.x86_64/build.properties b/binaries/org.eclipse.swt.win32.win32.x86_64/build.properties
index 3a85ba122e0..01f56a29588 100644
--- a/binaries/org.eclipse.swt.win32.win32.x86_64/build.properties
+++ b/binaries/org.eclipse.swt.win32.win32.x86_64/build.properties
@@ -14,6 +14,7 @@ custom = true
bin.includes = .,*.dll,about_files/,about.html,fragment.properties
bin.excludes = library/
source.. = src/
+output.. = bin/
src.includes = about.html,about_files/
pom.model.property.os=win32
diff --git a/binaries/pom.xml b/binaries/pom.xml
index 4f665a75d76..c7f6499f241 100644
--- a/binaries/pom.xml
+++ b/binaries/pom.xml
@@ -78,6 +78,13 @@
true
+
+
+ ${os}
+ ${ws}
+ ${arch}
+
+
diff --git a/pom.xml b/pom.xml
index 0f4ebeacd00..2d6d86fe516 100644
--- a/pom.xml
+++ b/pom.xml
@@ -41,7 +41,6 @@
-
-
-
- true