documentation-hub 5.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. package/.eslintrc.json +43 -0
  2. package/.github/workflows/build.yml +64 -0
  3. package/.github/workflows/ci.yml +39 -0
  4. package/.vscode/extensions.json +3 -0
  5. package/Current.md +97 -0
  6. package/DocHub_Image.png +0 -0
  7. package/README.md +666 -0
  8. package/USER_GUIDE.md +1173 -0
  9. package/Updater.md +311 -0
  10. package/build/256x256.png +0 -0
  11. package/build/512x512.png +0 -0
  12. package/build/app-update.yml +4 -0
  13. package/build/create-icon.js +208 -0
  14. package/build/icon.ico +0 -0
  15. package/build/icon.png +0 -0
  16. package/build/icon_1024x1024.png +0 -0
  17. package/dist/assets/Analytics-BpsG9895.js +1 -0
  18. package/dist/assets/Card-IAZin8kp.js +1 -0
  19. package/dist/assets/CurrentSession-B-rFkHvf.js +12 -0
  20. package/dist/assets/Dashboard-C_5gMb0q.js +1 -0
  21. package/dist/assets/Documents-CqZ25axS.js +1 -0
  22. package/dist/assets/Input-l89xwXBi.js +1 -0
  23. package/dist/assets/Reporting-DqdHJY_a.js +1 -0
  24. package/dist/assets/Search-XNbu5z_3.js +1 -0
  25. package/dist/assets/SessionManager-lH9hZfzH.js +1 -0
  26. package/dist/assets/Sessions-ClZOPYNc.js +1 -0
  27. package/dist/assets/Settings-DUEHGURa.js +11 -0
  28. package/dist/assets/index-8xUe8ptc.js +24 -0
  29. package/dist/assets/index-RYyJqF7O.css +1 -0
  30. package/dist/assets/path-BkOl0AGO.js +1 -0
  31. package/dist/assets/promises-ID_B9S-h.js +1 -0
  32. package/dist/assets/urlHelpers-TvgahX0r.js +1 -0
  33. package/dist/assets/useToast-yRSO1dkm.js +1 -0
  34. package/dist/assets/vendor-charts-RkGK5ROP.js +36 -0
  35. package/dist/assets/vendor-db-l0sNRNKZ.js +1 -0
  36. package/dist/assets/vendor-react-BVZ_anCF.js +4 -0
  37. package/dist/assets/vendor-search-Dw8P0qyA.js +1 -0
  38. package/dist/assets/vendor-ui-BU7NfluV.js +53 -0
  39. package/dist/electron/PowerAutomateApiService-LfW09ZGr.js +147 -0
  40. package/dist/electron/main-CXkNtyv-.js +19789 -0
  41. package/dist/electron/main.js +5 -0
  42. package/dist/electron/preload.js +1 -0
  43. package/dist/icon.png +0 -0
  44. package/dist/index.html +27 -0
  45. package/docs/CODEBASE_ANALYSIS_REPORT.md +309 -0
  46. package/docs/DEBUG_LOGGING_GUIDE.md +244 -0
  47. package/docs/README.md +115 -0
  48. package/docs/TOC_WIRING_GUIDE.md +344 -0
  49. package/docs/analysis/Bullet_Symbol_Bug_Analysis.md +136 -0
  50. package/docs/analysis/DOCXMLATER_ANALYSIS_SUMMARY.txt +169 -0
  51. package/docs/analysis/Document_Processing_Issues_Analysis.md +704 -0
  52. package/docs/analysis/FIELD_PRESERVATION_ANALYSIS.md +1200 -0
  53. package/docs/analysis/INDENTATION_PRESERVE_ANALYSIS.md +181 -0
  54. package/docs/analysis/INDENTATION_PRESERVE_IMPLEMENTATION.md +207 -0
  55. package/docs/analysis/List_Implementation.md +206 -0
  56. package/docs/analysis/List_Implementation_Accuracy_Report.md +366 -0
  57. package/docs/analysis/PROCESSING_OPTIONS_UI_UPDATES.md +220 -0
  58. package/docs/analysis/RefactorStyles.md +852 -0
  59. package/docs/analysis/STYLE_PARAMETER_ENHANCEMENT.md +143 -0
  60. package/docs/analysis/docxmlater-comparison-todo-2025-11-13.md +636 -0
  61. package/docs/analysis/docxmlater-implementation-analysis-2025-11-13.md +340 -0
  62. package/docs/analysis/docxmlater-template_ui-integration-analysis.md +263 -0
  63. package/docs/analysis/github-issues-to-create.md +237 -0
  64. package/docs/api/API_README.md +538 -0
  65. package/docs/api/API_REFERENCE.md +751 -0
  66. package/docs/api/TYPE_DEFINITIONS.md +869 -0
  67. package/docs/architecture/FONT_EMBEDDING_GUIDE.md +318 -0
  68. package/docs/architecture/docxmlater-functions-and-structure.md +726 -0
  69. package/docs/docxmlater-readme.md +1341 -0
  70. package/docs/fixes/EXECUTION_LOG_TEST_BASE.md +573 -0
  71. package/docs/fixes/HYPERLINK_TEXT_SANITIZATION.md +253 -0
  72. package/docs/fixes/README.md +37 -0
  73. package/docs/github-issues/issue-1-body.md +125 -0
  74. package/docs/github-issues/issue-10-body.md +850 -0
  75. package/docs/github-issues/issue-2-body.md +200 -0
  76. package/docs/github-issues/issue-3-body.md +270 -0
  77. package/docs/github-issues/issue-4-body.md +169 -0
  78. package/docs/github-issues/issue-5-body.md +173 -0
  79. package/docs/github-issues/issue-6-body.md +158 -0
  80. package/docs/github-issues/issue-7-body.md +171 -0
  81. package/docs/github-issues/issue-8-body.md +407 -0
  82. package/docs/github-issues/issue-9-body.md +515 -0
  83. package/docs/github-issues/issue-tracker.md +274 -0
  84. package/docs/github-issues/predictive-analysis-2025-10-18.md +2131 -0
  85. package/docs/implementation/List_Framework_Refactor_Plan.md +336 -0
  86. package/docs/implementation/PRIMARY_TEXT_COLOR_FEATURE.md +217 -0
  87. package/docs/implementation/RELEASE_PLAN_v2.1.0.md +362 -0
  88. package/docs/implementation/RefactorStyles.md +588 -0
  89. package/docs/implementation/implement-plan.md +489 -0
  90. package/docs/implementation/missing-helpers-implementation.md +391 -0
  91. package/docs/implementation/refactor-plan.md +520 -0
  92. package/docs/implementation/session-implementation-complete.md +233 -0
  93. package/docs/implementation/session-management-plan.md +250 -0
  94. package/docs/setup-checklist.md +77 -0
  95. package/docs/versions/changelog.md +345 -0
  96. package/electron/customUpdater.ts +656 -0
  97. package/electron/main.ts +2441 -0
  98. package/electron/memoryConfig.ts +187 -0
  99. package/electron/preload.ts +394 -0
  100. package/electron/proxyConfig.ts +340 -0
  101. package/electron/services/BackupService.ts +452 -0
  102. package/electron/services/DictionaryService.ts +402 -0
  103. package/electron/services/LocalDictionaryLookupService.ts +147 -0
  104. package/electron/services/PowerAutomateApiService.ts +231 -0
  105. package/electron/services/SharePointSyncService.ts +474 -0
  106. package/electron/windowsCertStore.ts +427 -0
  107. package/electron/zscalerConfig.ts +381 -0
  108. package/eslint.config.js +92 -0
  109. package/jest.config.js +52 -0
  110. package/package.json +214 -0
  111. package/postcss.config.mjs +6 -0
  112. package/public/icon.png +0 -0
  113. package/publish-release.ps1 +5 -0
  114. package/renovate.json +30 -0
  115. package/src/App.tsx +216 -0
  116. package/src/__mocks__/p-limit.js +12 -0
  117. package/src/__mocks__/styleMock.js +1 -0
  118. package/src/components/common/BugReportButton.tsx +44 -0
  119. package/src/components/common/BugReportDialog.tsx +193 -0
  120. package/src/components/common/Button.tsx +153 -0
  121. package/src/components/common/Card.tsx +86 -0
  122. package/src/components/common/ColorPickerDialog.tsx +177 -0
  123. package/src/components/common/ConfirmDialog.tsx +96 -0
  124. package/src/components/common/DebugConsole.tsx +275 -0
  125. package/src/components/common/EmptyState.tsx +183 -0
  126. package/src/components/common/ErrorBoundary.tsx +98 -0
  127. package/src/components/common/ErrorDetailsDialog.tsx +153 -0
  128. package/src/components/common/ErrorFallback.tsx +218 -0
  129. package/src/components/common/Input.tsx +109 -0
  130. package/src/components/common/Skeleton.tsx +184 -0
  131. package/src/components/common/SplashScreen.tsx +81 -0
  132. package/src/components/common/Toast.tsx +155 -0
  133. package/src/components/common/Tooltip.tsx +79 -0
  134. package/src/components/common/UpdateNotification.tsx +320 -0
  135. package/src/components/comparison/ComparisonWindow.tsx +374 -0
  136. package/src/components/comparison/SideBySideDiff.tsx +486 -0
  137. package/src/components/comparison/index.ts +8 -0
  138. package/src/components/document/DocumentUploader.tsx +288 -0
  139. package/src/components/document/HyperlinkPreview.tsx +430 -0
  140. package/src/components/document/HyperlinkService.md +1484 -0
  141. package/src/components/document/Hyperlink_Technical_Documentation.md +496 -0
  142. package/src/components/document/InlineChangesView.tsx +707 -0
  143. package/src/components/document/ProcessingProgress.tsx +303 -0
  144. package/src/components/document/ProcessingResults.tsx +256 -0
  145. package/src/components/document/TrackedChangesDetail.tsx +530 -0
  146. package/src/components/document/TrackedChangesPanel.tsx +546 -0
  147. package/src/components/document/VirtualDocumentList.tsx +240 -0
  148. package/src/components/editor/DocumentEditor.tsx +723 -0
  149. package/src/components/editor/DocumentEditorModal.tsx +640 -0
  150. package/src/components/editor/EditorQuickActions.tsx +502 -0
  151. package/src/components/editor/EditorToolbar.tsx +312 -0
  152. package/src/components/editor/TableEditor.tsx +926 -0
  153. package/src/components/editor/index.ts +18 -0
  154. package/src/components/layout/Header.tsx +190 -0
  155. package/src/components/layout/Sidebar.tsx +313 -0
  156. package/src/components/layout/TitleBar.tsx +190 -0
  157. package/src/components/navigation/CommandPalette.tsx +233 -0
  158. package/src/components/navigation/KeyboardShortcutsModal.tsx +173 -0
  159. package/src/components/sessions/ChangeItem.tsx +408 -0
  160. package/src/components/sessions/ChangeViewer.tsx +1155 -0
  161. package/src/components/sessions/DocumentComparisonModal.tsx +314 -0
  162. package/src/components/sessions/ProcessingOptions.tsx +297 -0
  163. package/src/components/sessions/ReplacementsTab.tsx +438 -0
  164. package/src/components/sessions/RevisionHandlingOptions.tsx +87 -0
  165. package/src/components/sessions/SessionManager.tsx +188 -0
  166. package/src/components/sessions/StylesEditor.tsx +1335 -0
  167. package/src/components/sessions/TabContainer.tsx +151 -0
  168. package/src/components/sessions/VirtualSessionList.tsx +157 -0
  169. package/src/components/sessions/sessionToProcessorManager.tsx +420 -0
  170. package/src/components/settings/CertificateManager.tsx +410 -0
  171. package/src/components/settings/SegmentedControl.tsx +88 -0
  172. package/src/components/settings/SettingRow.tsx +52 -0
  173. package/src/contexts/GlobalStatsContext.tsx +396 -0
  174. package/src/contexts/SessionContext.tsx +2129 -0
  175. package/src/contexts/ThemeContext.tsx +428 -0
  176. package/src/contexts/UserSettingsContext.tsx +290 -0
  177. package/src/contexts/__tests__/GlobalStatsContext.test.tsx +390 -0
  178. package/src/global.d.ts +273 -0
  179. package/src/hooks/useDocumentQueue.tsx +210 -0
  180. package/src/hooks/useToast.tsx +55 -0
  181. package/src/main.tsx +10 -0
  182. package/src/pages/Analytics.tsx +386 -0
  183. package/src/pages/CurrentSession.tsx +1174 -0
  184. package/src/pages/Dashboard.tsx +319 -0
  185. package/src/pages/Documents.tsx +317 -0
  186. package/src/pages/Projects.tsx +250 -0
  187. package/src/pages/Reporting.tsx +386 -0
  188. package/src/pages/Search.tsx +349 -0
  189. package/src/pages/Sessions.tsx +285 -0
  190. package/src/pages/Settings.tsx +2662 -0
  191. package/src/services/HyperlinkService.ts +1085 -0
  192. package/src/services/document/DocXMLaterProcessor.ts +617 -0
  193. package/src/services/document/DocumentProcessingComparison.ts +856 -0
  194. package/src/services/document/DocumentSnapshotService.ts +575 -0
  195. package/src/services/document/WordDocumentProcessor.ts +10509 -0
  196. package/src/services/document/__tests__/DocXMLaterProcessor.hyperlinks.test.md +311 -0
  197. package/src/services/document/__tests__/WordDocumentProcessor.integration.test.ts +515 -0
  198. package/src/services/document/__tests__/WordDocumentProcessor.test.ts +812 -0
  199. package/src/services/document/blanklines/BlankLineManager.ts +658 -0
  200. package/src/services/document/blanklines/__tests__/paragraphChecks.test.ts +281 -0
  201. package/src/services/document/blanklines/helpers/blankLineInsertion.ts +87 -0
  202. package/src/services/document/blanklines/helpers/blankLineSnapshot.ts +251 -0
  203. package/src/services/document/blanklines/helpers/clearCustom.ts +121 -0
  204. package/src/services/document/blanklines/helpers/contextChecks.ts +117 -0
  205. package/src/services/document/blanklines/helpers/imageChecks.ts +51 -0
  206. package/src/services/document/blanklines/helpers/paragraphChecks.ts +236 -0
  207. package/src/services/document/blanklines/helpers/removeBlanksBetweenListItems.ts +91 -0
  208. package/src/services/document/blanklines/helpers/removeTrailingBlanks.ts +35 -0
  209. package/src/services/document/blanklines/helpers/tableGuards.ts +21 -0
  210. package/src/services/document/blanklines/index.ts +67 -0
  211. package/src/services/document/blanklines/rules/additionRules.ts +337 -0
  212. package/src/services/document/blanklines/rules/indentationRules.ts +317 -0
  213. package/src/services/document/blanklines/rules/removalRules.ts +362 -0
  214. package/src/services/document/blanklines/rules/ruleTypes.ts +92 -0
  215. package/src/services/document/blanklines/types.ts +29 -0
  216. package/src/services/document/helpers/ImageBorderCropper.ts +377 -0
  217. package/src/services/document/helpers/__tests__/whitespace.test.ts +272 -0
  218. package/src/services/document/helpers/whitespace.ts +117 -0
  219. package/src/services/document/list/ListNormalizer.ts +947 -0
  220. package/src/services/document/list/index.ts +45 -0
  221. package/src/services/document/list/list-detection.ts +275 -0
  222. package/src/services/document/list/list-types.ts +162 -0
  223. package/src/services/document/processors/HyperlinkProcessor.ts +370 -0
  224. package/src/services/document/processors/ListProcessor.ts +257 -0
  225. package/src/services/document/processors/StructureProcessor.ts +176 -0
  226. package/src/services/document/processors/StyleProcessor.ts +389 -0
  227. package/src/services/document/processors/TableProcessor.ts +2238 -0
  228. package/src/services/document/processors/__tests__/HyperlinkProcessor.test.ts +314 -0
  229. package/src/services/document/processors/__tests__/ListProcessor.test.ts +291 -0
  230. package/src/services/document/processors/__tests__/StructureProcessor.test.ts +257 -0
  231. package/src/services/document/processors/__tests__/TableProcessor.hlp-tips-bullets.test.ts +459 -0
  232. package/src/services/document/processors/__tests__/TableProcessor.test.ts +1604 -0
  233. package/src/services/document/processors/index.ts +28 -0
  234. package/src/services/document/types/docx-processing.ts +310 -0
  235. package/src/services/editor/EditorActionHandlers.ts +901 -0
  236. package/src/services/editor/index.ts +13 -0
  237. package/src/setupTests.ts +47 -0
  238. package/src/styles/global.css +782 -0
  239. package/src/types/backup.ts +132 -0
  240. package/src/types/dictionary.ts +125 -0
  241. package/src/types/document-processing.ts +331 -0
  242. package/src/types/docxmlater-augments.d.ts +142 -0
  243. package/src/types/editor.ts +280 -0
  244. package/src/types/electron.ts +340 -0
  245. package/src/types/globalStats.ts +155 -0
  246. package/src/types/hyperlink.ts +471 -0
  247. package/src/types/operations.ts +354 -0
  248. package/src/types/session.ts +427 -0
  249. package/src/types/settings.ts +112 -0
  250. package/src/utils/MemoryMonitor.ts +248 -0
  251. package/src/utils/cn.ts +6 -0
  252. package/src/utils/colorConvert.ts +306 -0
  253. package/src/utils/diffUtils.ts +347 -0
  254. package/src/utils/documentUtils.ts +202 -0
  255. package/src/utils/electronGuard.ts +62 -0
  256. package/src/utils/indexedDB.ts +915 -0
  257. package/src/utils/logger.ts +717 -0
  258. package/src/utils/pathSecurity.ts +232 -0
  259. package/src/utils/pathValidator.ts +236 -0
  260. package/src/utils/processingTimeEstimator.ts +153 -0
  261. package/src/utils/safeJsonParse.ts +62 -0
  262. package/src/utils/textSanitizer.ts +162 -0
  263. package/src/utils/urlHelpers.ts +304 -0
  264. package/src/utils/urlPatterns.ts +198 -0
  265. package/src/utils/urlSanitizer.ts +152 -0
  266. package/src/vite-env.d.ts +11 -0
  267. package/tsconfig.electron.json +19 -0
  268. package/tsconfig.json +36 -0
  269. package/tsconfig.node.json +12 -0
  270. package/typedoc.json +45 -0
  271. package/vite.config.ts +152 -0
@@ -0,0 +1,345 @@
1
+ # Documentation Hub - Version History
2
+
3
+ All notable changes to the Documentation Hub application are documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ **Current App Version:** 5.5.3
9
+ **docxmlater Framework Version:** 10.0.2
10
+ **Status:** Production Ready
11
+
12
+ ---
13
+
14
+ ## [5.5.3] - 2026-02-20
15
+
16
+ ### Added
17
+
18
+ - **HLP Table Detection & Protection**: High Level Process tables identified by dual-gate check (FFC000 shading + "High Level Process" header text); completely skipped in table uniformity, bullet/numbered uniformity, and list normalization; numbering preserved via pre-processing snapshot and restored afterward
19
+ - **Image Border Cropping**: Detects and removes dark border + white gap from screen captures using canvas pixel analysis; confidence-based edge detection (65% consensus) prevents false crops; replaces image data in-place
20
+ - **Image Compression**: Always-on optimization pass compresses embedded images via canvas
21
+ - **Correct Misapplied Styles Option**: New processing option to fix paragraphs incorrectly styled as TOC or Hyperlink (converts to Normal/ListParagraph)
22
+ - **Email Client Fallback**: Phase 1 tries Outlook COM automation; Phase 2 falls back to mailto: + Explorer folder reveal when Outlook is unavailable
23
+ - **Per-Monitor DPI Awareness**: Upgraded to Per-Monitor DPI Aware V2 (Windows 10 1703+); dynamically detects monitor DPI via Win32 API and scales window sizing
24
+ - **Return-to Hyperlinks Standardization**: Removes indentation and right-aligns "Return to" hyperlinks after style processing
25
+ - **WebSettings Sanitization**: Removes bloated `w:divs` from web paste operations that cause Word to freeze during layout
26
+
27
+ ### Fixed
28
+
29
+ - **NormalWeb/TableGrid Style Normalization**: Converts NormalWeb → Normal and TableGrid → Normal/Heading2 early in pipeline before style application
30
+ - **HLP Header Formatting**: Explicit run formatting applied to HLP table header rows ensures correct appearance regardless of Heading2 style definition
31
+ - **Cell Shading False Positives**: Table uniformity now only checks direct cell shading, ignoring table style inheritance patterns (pct12 banded rows, etc.)
32
+ - **HLP Tips Column Detection**: Skips single-cell rows and multi-column-spanning cells to avoid false tips column matches
33
+ - **Canvas Module Missing in MSI**: Moved canvas from devDependencies to dependencies; added to asarUnpack for native binary access
34
+ - **Style Application Tracked Changes**: Disabled track changes during style application to avoid cluttering change history with redundant direct formatting removals
35
+
36
+ ### Improved
37
+
38
+ - **Blank Line Options**: Now respects user-configured Normal style spacing (spaceAfter, spaceBefore, lineSpacing, fontSize, fontFamily)
39
+ - **Whitespace Normalization**: Extracted to dedicated helper module with special handling for small inline images
40
+ - **List Prefix Standardization**: Moved to after all list processing to catch ALL abstractNum definitions including those created by ListNormalizer
41
+ - **Numbered List Defaults**: Level 3 format changed from '1)' to 'A.'; Level 4 from 'a)' to 'I.' for more professional hierarchy
42
+ - **Normal Style Indentation**: Removed style-level indentation to prevent conflicts with numbering.xml level indentation
43
+ - **Dependency Updates**:
44
+ - docxmlater: 9.5.34 → 10.0.2
45
+
46
+ ---
47
+
48
+ ## [5.2.39] - 2026-01-29
49
+
50
+ ### Fixed
51
+
52
+ - **List Blank Lines in Table Cells**: `ensureBlankLinesAfterListsInScope` was inserting blank paragraphs into the document body instead of the table cell; now uses `cell.addParagraphAt()` for table-cell scopes
53
+ - **Heading Detection False Positives**: Removed `detectHeadingLevel()` for unstyled paragraphs — it produced false positives for table cell paragraphs with `outlineLevel` set without being actual headings
54
+ - **Processing Options Backfill**: Updated default-enabled option IDs to match renamed options (e.g., `apply-doc-styles` → `validate-document-styles`, `standardize-cell-borders` → `standardize-table-borders`)
55
+
56
+ ### Added
57
+
58
+ - **Word Compatibility Mode Detection**: Documents created in Word 2003/2007/2010 compatibility mode are now detected and rejected with a user-friendly conversion guide (purple badge, step-by-step instructions, retry button)
59
+ - **NormalWeb Style Handling**: `NormalWeb` style is now treated identically to Normal — paragraphs with this style receive Normal formatting and are reassigned to Normal
60
+ - **Color Utility Functions**: Added `adjustLightness`, `parseHex`, `toHex` helpers in `colorConvert.ts`
61
+ - **Landscape Margins Option**: `set-landscape-margins` added to default-enabled processing options
62
+ - **Blank Lines After List Sequences**: New `ensureBlankLinesAfterLists` pass adds structural blank lines after list items that are followed by non-list content (table-cell and body scopes)
63
+
64
+ ### Improved
65
+
66
+ - **Analytics Page**: Sticky header section for better scroll experience
67
+ - **List Indentation Defaults**: Updated to 0.5" base with 0.5" increments per level (was 0.25" base)
68
+ - **Theme & Styling**: Theme context and global CSS refinements
69
+ - **Dependency Updates**:
70
+ - docxmlater: 9.5.33 → 9.5.34
71
+
72
+ ---
73
+
74
+ ## [5.2.35] - 2026-01-28
75
+
76
+ ### Improved
77
+
78
+ - **Documentation Cleanup**: Updated version references and removed development artifacts
79
+ - **Dependency Updates**:
80
+ - docxmlater: 9.5.31 → 9.5.33
81
+
82
+ ---
83
+
84
+ ## [5.2.32] - 2026-01-28
85
+
86
+ ### Improved
87
+
88
+ - **Dependency Updates**:
89
+ - docxmlater: 9.5.30 → 9.5.31
90
+
91
+ ---
92
+
93
+ ## [5.2.16] - 2026-01-26
94
+
95
+ ### Improved
96
+
97
+ - **Table Shading Logic**: Enhanced shading rules for better document handling
98
+ - 1x1 tables containing large images (≥100x100 pixels) no longer receive shading
99
+ - Cells with #FFC000 (orange) shading color are now preserved in ALL table cells, not just header rows
100
+ - Light yellow (#FFF2CC) shading also preserved in data rows
101
+
102
+ - **Dependency Updates**:
103
+ - docxmlater: 9.5.14 → 9.5.19
104
+
105
+ ---
106
+
107
+ ## [5.2.7] - 2026-01-26
108
+
109
+ ### Improved
110
+
111
+ - **Normalize Dashes to Hyphens**: Now also replaces em-dashes (—) in addition to en-dashes (–)
112
+ - Both U+2013 (en-dash) and U+2014 (em-dash) are converted to standard hyphens
113
+
114
+ - **Preserve Red Font Option**: Extended to also apply to List Paragraph style
115
+ - Previously only applied to Normal style paragraphs
116
+ - Now preserves #FF0000 red font in bulleted/numbered lists as well
117
+
118
+ ---
119
+
120
+ ## [5.2.6] - 2026-01-26
121
+
122
+ ### Added
123
+
124
+ - **Preserve Red Font Option**: New processing option to preserve exact #FF0000 red font color
125
+ - Located in Processing Options tab → Text Formatting Fixes group
126
+ - Only applies to Normal style paragraphs (Headers not affected)
127
+ - Default: disabled
128
+
129
+ - **Power Automate Timeout Retry**: Enhanced error handling for API timeouts
130
+ - Displays "Power Automate Timeout" status instead of generic "Error"
131
+ - Shows Retry button (similar to file locked errors)
132
+ - Orange badge in error details dialog with helpful tip
133
+
134
+ ### Fixed
135
+
136
+ - **List Continuation Indentation**: Multiple consecutive indented paragraphs after a list item now all receive the same indentation
137
+ - Previously only the first indented paragraph was processed
138
+ - Now checks if previous paragraph is indented text and matches that indent
139
+
140
+ ### Improved
141
+
142
+ - **Dependency Updates**:
143
+ - docxmlater: 9.5.13 → 9.5.14
144
+
145
+ ---
146
+
147
+ ## [5.2.5] - 2026-01-26
148
+
149
+ ### Improved
150
+
151
+ - **Dependency Updates**:
152
+ - docxmlater: 9.5.9 → 9.5.13
153
+
154
+ ---
155
+
156
+ ## [5.2.4] - 2026-01-25
157
+
158
+ ### Improved
159
+
160
+ - **Dependency Updates**:
161
+ - docxmlater: 9.5.7 → 9.5.9
162
+
163
+ ---
164
+
165
+ ## [5.2.3] - 2026-01-25
166
+
167
+ ### Improved
168
+
169
+ - **Dependency Updates**:
170
+ - docxmlater: 9.5.6 → 9.5.7
171
+
172
+ ---
173
+
174
+ ## [5.2.2] - 2026-01-25
175
+
176
+ ### Changed
177
+
178
+ - Version bump for release
179
+
180
+ ---
181
+
182
+ ## [5.2.0] - 2026-01-25
183
+
184
+ ### Reverted
185
+
186
+ - **Rolled back to v5.0.18 codebase**: Reverted all changes from v5.0.19 through v5.1.11
187
+ - v5.0.19 - v5.1.11: Various changes that introduced regressions
188
+ - Returning to stable v5.0.18 baseline for maximum reliability
189
+
190
+ ### Improved
191
+
192
+ - **Dependency Updates**:
193
+ - docxmlater: 9.4.0 → 9.5.6
194
+
195
+ ---
196
+
197
+ ## [5.0.18] - 2026-01-24
198
+
199
+ ### Improved
200
+
201
+ - **Dependency Updates**:
202
+ - docxmlater: 9.3.1 → 9.4.0
203
+
204
+ ---
205
+
206
+ ## [3.3.0] - 2025-11-17
207
+
208
+ ### Added
209
+
210
+ - **Complete Bullet Property Control**: Implemented Example 4's complete property setting pattern
211
+ - All 5 bullet formatting properties explicitly set (setText, setFont, setFontSize, setBold, setColor)
212
+ - Full control over bullet formatting without framework defaults
213
+ - Enhanced Unicode bullet rendering with proper Calibri font handling
214
+
215
+ ### Changed
216
+
217
+ - **Upgraded docxmlater**: Major framework update from v2.5.0 to v3.0.0
218
+ - Enhanced list formatting capabilities
219
+ - Improved document processing performance
220
+ - Updated API compatibility
221
+ - **Refactored WordDocumentProcessor**: Code optimization with net -11 lines
222
+ - Cleaner bullet uniformity implementation
223
+ - Eliminated redundant framework method calls
224
+ - Better property setting pattern
225
+
226
+ ### Improved
227
+
228
+ - **Dependency Updates**:
229
+ - electron: 39.1.2 → 39.2.1
230
+ - electron-builder: 26.1.0 → 26.2.0
231
+ - @types/react: 19.2.4 → 19.2.5
232
+ - electron-updater: 6.7.0 → 6.7.1
233
+ - react-router-dom: 7.9.5 → 7.9.6
234
+
235
+ ### Fixed
236
+
237
+ - **Unicode Bullet Rendering**: Proper Calibri font ensures U+2022 renders as bullet (not square)
238
+ - **Framework Conflicts**: Eliminated property override issues through explicit setting
239
+
240
+ ### Documentation
241
+
242
+ - **List Implementation Guide**: Comprehensive documentation in List_Implementation.md
243
+ - Example 4 pattern implementation details
244
+ - Complete property setting rationale
245
+ - Framework method usage guidelines
246
+
247
+ ---
248
+
249
+ ## [3.2.0] - 2025-11-16
250
+
251
+ ### Fixed
252
+
253
+ - **1x1 Table Blank Line Preservation**: Fixed issue where blank lines after 1x1 tables were not reliably preserved
254
+ - Root cause: `markAsPreserved` flag was conditional on `removeParagraphLines` setting
255
+ - Now always marks blank lines as preserved when `preserveBlankLinesAfterHeader2Tables` is enabled
256
+ - Prevents downstream cleanup operations from removing intentional spacing
257
+ - Location: `WordDocumentProcessor.ts` lines 705-724
258
+
259
+ ### Changed
260
+
261
+ - **Blank Line Preservation Logic**: Simplified preservation behavior for better user experience
262
+ - Previous: Blank lines only preserved when BOTH `preserveBlankLinesAfterHeader2Tables=true` AND `removeParagraphLines=true`
263
+ - Current: Blank lines ALWAYS preserved when `preserveBlankLinesAfterHeader2Tables=true` (regardless of other settings)
264
+ - Rationale: User intent when enabling "preserve blank lines" is to ALWAYS preserve them
265
+
266
+ ### Documentation
267
+
268
+ - **TOC Wiring Guide**: Added comprehensive documentation for Table of Contents feature integration
269
+ - Created `docs/TOC_WIRING_GUIDE.md` with UI integration instructions
270
+ - Explains existing TOC generation capability in framework (`doc.replaceTableOfContents()`)
271
+ - Provides 3 UI integration options with example code
272
+ - Includes troubleshooting guide and testing strategy
273
+
274
+ ---
275
+
276
+ ## [3.1.0] - 2025-11-14
277
+
278
+ ### Added
279
+
280
+ - **Hyperlink Change Tracking**: Enhanced tracked changes display for hyperlinks
281
+ - Added Content ID display in tracked changes UI
282
+ - Added hyperlink status indicators (updated, not_found, expired)
283
+ - Improved hyperlink change descriptions
284
+
285
+ ### Fixed
286
+
287
+ - **Hyperlink Fragmentation from Google Docs**: Fixed issue where hyperlinks would duplicate
288
+ - Uses framework's `defragmentHyperlinks()` API
289
+ - Properly merges fragmented hyperlinks with same URL
290
+ - Handles formatting reset for corrupted fonts
291
+
292
+ ### Changed
293
+
294
+ - **TrackedChangesPanel**: Enhanced UI with Before/After comparison view
295
+ - Added inline changes view with Word-like formatting
296
+ - Added list view with categorized changes
297
+ - Added side-by-side diff comparison using document snapshots
298
+
299
+ ---
300
+
301
+ ## [3.0.0] - 2025-11-12
302
+
303
+ ### Added
304
+
305
+ - **Tracked Changes Feature**: Complete integration with docxmlater's revision tracking
306
+ - Extract and display Word tracked changes (original document revisions)
307
+ - Track DocHub processing changes (hyperlinks, styles, formatting)
308
+ - Unified change viewer with filtering by source and category
309
+ - Export changes as markdown
310
+
311
+ ### Changed
312
+
313
+ - **Document Processing**: Major refactor of WordDocumentProcessor
314
+ - Integrated ChangelogGenerator for extracting tracked changes
315
+ - Added revision handling modes (accept_all, preserve, preserve_and_wrap)
316
+ - Auto-accept revisions for clean document output while preserving change history
317
+
318
+ ### Added
319
+
320
+ - **Document Snapshots**: Pre-processing snapshots for comparison
321
+ - IndexedDB storage via DocumentSnapshotService
322
+ - Before/After comparison in TrackedChangesPanel
323
+ - 7-day retention with 100MB storage limit
324
+
325
+ ---
326
+
327
+ ## Earlier Versions
328
+
329
+ See git history for changes prior to v3.0.0.
330
+
331
+ ---
332
+
333
+ ## docxmlater Framework Reference
334
+
335
+ Documentation Hub uses the [docxmlater](https://www.npmjs.com/package/docxmlater) framework for Word document processing.
336
+
337
+ The framework provides:
338
+ - Document loading and saving
339
+ - Paragraph and run manipulation
340
+ - Hyperlink processing
341
+ - List and numbering support
342
+ - Table operations
343
+ - Revision tracking and changelog generation
344
+
345
+ For framework-specific API changes, refer to the docxmlater package documentation.