diff --git a/docs/RELEASE_NOTES_v0.1.5.md b/docs/RELEASE_NOTES_v0.1.5.md
new file mode 100644
index 0000000..cedf2ac
--- /dev/null
+++ b/docs/RELEASE_NOTES_v0.1.5.md
@@ -0,0 +1,34 @@
+# Liney Electron Preview 0.1.5
+
+Liney 0.1.5 wires AppImage auto-update to GitHub Releases and cleans up the
+About page so an up-to-date install simply says so and stops.
+
+## Highlights
+
+- **GitHub update feed:** packaged AppImage builds resolve the update feed
+ from `Cytech-Team/Liney` releases out of the box (`latest-linux.yml` +
+ `.blockmap` with SHA-512/signature metadata). No manual feed URL needed;
+ `LINEY_UPDATE_FEED_URL` remains as a self-hosted generic-feed override.
+ Preview and Stable stay separate via stable releases vs prereleases.
+- **Up-to-date UX:** when no update is available, About reports the latest
+ version and ends — no stale "new version" subtitle, no leftover
+ release-notes or error blocks.
+- **English UI coverage:** full English localization alongside Thai, with
+ automatic selection from the system locale and a manual switch in Settings.
+- **Native editing shortcuts:** Ctrl+A/C/V/X (including Thai input) verified
+ in packaged builds.
+- **Portable package verification:** Linux package checks no longer depend on
+ a host RPM database, and Talk sync waits for readiness before disabling
+ polling fallback.
+
+## Linux downloads
+
+The release pipeline publishes x86_64 AppImage, DEB, RPM, and Flatpak
+packages, now including the `latest-linux.yml` update metadata and blockmap
+for AppImage auto-update. Native GUI and packaged-worker smoke checks run in
+CI; Flatpak build output is verified before publication.
+
+## Notes
+
+Liney is an independent, unofficial desktop client for LINE and is not
+affiliated with or endorsed by LINE Corporation.
diff --git a/package-lock.json b/package-lock.json
index e0c279c..96a2128 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "liney",
- "version": "0.1.4",
+ "version": "0.1.5",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "liney",
- "version": "0.1.4",
+ "version": "0.1.5",
"license": "LicenseRef-TLL-1.0",
"dependencies": {
"@evex/linejs": "npm:@jsr/evex__linejs@3.5.0",
diff --git a/package.json b/package.json
index 620fbbb..fb15d7f 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "liney",
"private": true,
- "version": "0.1.4",
+ "version": "0.1.5",
"license": "LicenseRef-TLL-1.0",
"type": "module",
"scripts": {
diff --git a/packaging/flatpak/com.cyoriasmp.liney.metainfo.xml b/packaging/flatpak/com.cyoriasmp.liney.metainfo.xml
index fb1f26f..7ae9f30 100644
--- a/packaging/flatpak/com.cyoriasmp.liney.metainfo.xml
+++ b/packaging/flatpak/com.cyoriasmp.liney.metainfo.xml
@@ -16,6 +16,7 @@
https://github.com/Cytech-Team/Liney/issues
+
diff --git a/src/App.tsx b/src/App.tsx
index 1715ad7..8fc2476 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -6309,7 +6309,7 @@ function DeveloperSettings({ settings, onSetting }: { settings: AppSettings; onS
function AboutSettings() {
const { t } = useAppTranslation();
- const [update, setUpdate] = useState<{status:string;channel:string;version:string;availableVersion?:string|null;releaseNotes?:string;percent?:number;error?:string|null}>({status:"idle",channel:"preview",version:"0.1.4"});
+ const [update, setUpdate] = useState<{status:string;channel:string;version:string;availableVersion?:string|null;releaseNotes?:string;percent?:number;error?:string|null}>({status:"idle",channel:"preview",version:"0.1.5"});
const [busy, setBusy] = useState(false);
const [deferredVersion, setDeferredVersion] = useState(null);
useEffect(() => {