فهرست منبع

chore(release): 升级版本至 3.2.10

Mochocyang 2 هفته پیش
والد
کامیت
7a337e8c9f
7فایلهای تغییر یافته به همراه28 افزوده شده و 7 حذف شده
  1. 2 2
      package-lock.json
  2. 1 1
      package.json
  3. 1 1
      src-tauri/Cargo.lock
  4. 1 1
      src-tauri/Cargo.toml
  5. 1 1
      src-tauri/tauri.conf.json
  6. 6 1
      src/lib/changelog.spec.ts
  7. 16 0
      src/lib/changelog.ts

+ 2 - 2
package-lock.json

@@ -1,12 +1,12 @@
 {
   "name": "qmai",
-  "version": "3.2.9",
+  "version": "3.2.10",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "qmai",
-      "version": "3.2.9",
+      "version": "3.2.10",
       "license": "GPL-3.0-or-later",
       "dependencies": {
         "@base-ui/react": "^1.7.0",

+ 1 - 1
package.json

@@ -1,7 +1,7 @@
 {
   "name": "qmai",
   "private": true,
-  "version": "3.2.9",
+  "version": "3.2.10",
   "license": "GPL-3.0-or-later",
   "type": "module",
   "scripts": {

+ 1 - 1
src-tauri/Cargo.lock

@@ -5793,7 +5793,7 @@ checksum = "d55d956fa96f5ec02be2e13af0e20391a5aa83d6a074e3ad368959d0fab299ea"
 
 [[package]]
 name = "qmai"
-version = "3.2.9"
+version = "3.2.10"
 dependencies = [
  "arrow-array",
  "arrow-schema",

+ 1 - 1
src-tauri/Cargo.toml

@@ -1,6 +1,6 @@
 [package]
 name = "qmai"
-version = "3.2.9"
+version = "3.2.10"
 description = "QMAI - AI writing system for long-form novels"
 authors = ["Mochocyang"]
 edition = "2021"

+ 1 - 1
src-tauri/tauri.conf.json

@@ -1,7 +1,7 @@
 {
   "$schema": "https://schema.tauri.app/config/2",
   "productName": "QMaiWrite",
-  "version": "3.2.9",
+  "version": "3.2.10",
   "identifier": "com.qingmuai.writer",
   "build": {
     "beforeDevCommand": "npm run dev",

+ 6 - 1
src/lib/changelog.spec.ts

@@ -6,7 +6,7 @@ describe("changelog", () => {
     const entries = allChangelog()
     const versions = entries.map((entry) => entry.version)
 
-    expect(versions.slice(0, 3)).toEqual(["3.2.9", "3.2.8", "3.2.7"])
+    expect(versions.slice(0, 3)).toEqual(["3.2.10", "3.2.9", "3.2.8"])
     expect(versions).toContain("3.0.9")
     expect(versions).toContain("2.2.37")
     expect(versions).toContain("2.1.0")
@@ -48,6 +48,11 @@ describe("changelog", () => {
     expect(release329.highlights.zh.join("\n")).toContain("生成内容可删除可恢复")
     expect(release329.highlights.en.join("\n")).toContain("Chapter Extraction Fix")
 
+    const release3210 = currentVersionChangelog("3.2.10")[0]
+    expect(release3210.version).toBe("3.2.10")
+    expect(release3210.highlights.zh.join("\n")).toContain("导入修复")
+    expect(release3210.highlights.en.join("\n")).toContain("Import Fix")
+
     const release = currentVersionChangelog("2.0.0")[0]
     expect(release.highlights.en.join("\n")).toContain("Major release")
     expect(release.highlights.en.join("\n")).toContain("Review Center")

+ 16 - 0
src/lib/changelog.ts

@@ -7,6 +7,19 @@ interface ChangelogEntry {
   };
 }
 
+const THREE_POINT_TWO_TEN_CHANGELOG: ChangelogEntry = {
+  version: "3.2.10",
+  date: "2026-08-28",
+  highlights: {
+    en: [
+      "[Book Library Import Fix] Fixed imported novels not showing in the library: chapter detection now allows leading whitespace (half/full-width spaces, tabs) before chapter headings, so such TXT files no longer fail with 'no chapter markers found' and silently drop out of the library; line-start anchoring and ghost-chapter prevention are preserved.",
+    ],
+    zh: [
+      "【拆书库:导入修复】修复「导入小说」后作品不显示:章节识别允许章节标题前带缩进(半角/全角空格、制表符),此前这类 TXT 会被判定为「未能识别到章节标记」而导入静默失败;保留行首锚定与防幻影章节能力",
+    ],
+  },
+};
+
 const THREE_POINT_TWO_NINE_CHANGELOG: ChangelogEntry = {
   version: "3.2.9",
   date: "2026-08-26",
@@ -1409,6 +1422,8 @@ const CHANGELOG: ChangelogEntry[] = [
 ];
 
 export function currentVersionChangelog(version: string): ChangelogEntry[] {
+  if (version === THREE_POINT_TWO_TEN_CHANGELOG.version)
+    return [THREE_POINT_TWO_TEN_CHANGELOG];
   if (version === THREE_POINT_TWO_NINE_CHANGELOG.version)
     return [THREE_POINT_TWO_NINE_CHANGELOG];
   if (version === THREE_POINT_TWO_EIGHT_CHANGELOG.version)
@@ -1532,6 +1547,7 @@ export function currentVersionChangelog(version: string): ChangelogEntry[] {
 
 export function allChangelog(): ChangelogEntry[] {
   return [
+    THREE_POINT_TWO_TEN_CHANGELOG,
     THREE_POINT_TWO_NINE_CHANGELOG,
     THREE_POINT_TWO_EIGHT_CHANGELOG,
     THREE_POINT_TWO_SEVEN_CHANGELOG,