[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-paperless-ngx--paperless-ngx":3,"tool-paperless-ngx--paperless-ngx":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",143909,2,"2026-04-07T11:33:18",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107888,"2026-04-06T11:32:50",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":10,"last_commit_at":59,"category_tags":60,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[35,15,13,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":64,"owner_name":64,"owner_avatar_url":72,"owner_bio":73,"owner_company":74,"owner_location":74,"owner_email":75,"owner_twitter":74,"owner_website":74,"owner_url":76,"languages":77,"stars":109,"forks":110,"last_commit_at":111,"license":112,"difficulty_score":10,"env_os":113,"env_gpu":114,"env_ram":115,"env_deps":116,"category_tags":130,"github_topics":131,"view_count":32,"oss_zip_url":74,"oss_zip_packed_at":74,"status":17,"created_at":143,"updated_at":144,"faqs":145,"releases":166},5017,"paperless-ngx\u002Fpaperless-ngx","paperless-ngx","A community-supported supercharged document management system: scan, index and archive all your documents","paperless-ngx 是一款由社区驱动的强大文档管理系统，旨在帮助用户将堆积如山的纸质文件转化为可搜索的数字化档案。它的核心功能是扫描、索引并归档各类文档，通过光学字符识别（OCR）技术提取内容，让你能轻松通过关键词检索找到任何文件，从而真正实现“无纸化”办公。\n\n对于深受发票、合同、信件等纸质资料杂乱无章困扰的家庭用户、小型团队或自由职业者而言，paperless-ngx 是理想的解决方案。它不仅能自动分类和标记文档，还支持多语言界面，有效解决了传统文件存储难查找、易丢失且占用物理空间的痛点。\n\n作为原版 Paperless 项目的官方继承者，paperless-ngx 采用了更现代化的架构，强调社区协作与持续维护。其独特的技术亮点在于部署极其简便，只需通过 Docker Compose 即可快速搭建私有云服务，确保数据完全掌握在自己手中。无论是希望整理家庭档案的普通用户，还是倾向于自建服务的科技爱好者，都能从中获得高效、安全的文档管理体验。","[![ci](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fworkflows\u002Fci\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Factions)\n[![Crowdin](https:\u002F\u002Fbadges.crowdin.net\u002Fpaperless-ngx\u002Flocalized.svg)](https:\u002F\u002Fcrowdin.com\u002Fproject\u002Fpaperless-ngx)\n[![Documentation Status](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fdeployments\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fgithub-pages?label=docs)](https:\u002F\u002Fdocs.paperless-ngx.com)\n[![codecov](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fbranch\u002Fmain\u002Fgraph\u002Fbadge.svg?token=VK6OUPJ3TY)](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fpaperless-ngx\u002Fpaperless-ngx)\n[![Chat on Matrix](https:\u002F\u002Fmatrix.to\u002Fimg\u002Fmatrix-badge.svg)](https:\u002F\u002Fmatrix.to\u002F#\u002F%23paperlessngx%3Amatrix.org)\n[![demo](https:\u002F\u002Fcronitor.io\u002Fbadges\u002Fve7ItY\u002Fproduction\u002FW5E_B9jkelG9ZbDiNHUPQEVH3MY.svg)](https:\u002F\u002Fdemo.paperless-ngx.com)\n\n\u003Cp align=\"center\">\n  \u003Cpicture>\n    \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fblob\u002Fmain\u002Fresources\u002Flogo\u002Fweb\u002Fpng\u002FWhite%20logo%20-%20no%20background.png\" width=\"50%\">\n    \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpaperless-ngx_paperless-ngx_readme_6dbd39af2501.png\" width=\"50%\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpaperless-ngx_paperless-ngx_readme_6dbd39af2501.png\" width=\"50%\">\n  \u003C\u002Fpicture>\n\u003C\u002Fp>\n\n\u003C!-- omit in toc -->\n\n# Paperless-ngx\n\nPaperless-ngx is a document management system that transforms your physical documents into a searchable online archive so you can keep, well, _less paper_.\n\nPaperless-ngx is the official successor to the original [Paperless](https:\u002F\u002Fgithub.com\u002Fthe-paperless-project\u002Fpaperless) & [Paperless-ng](https:\u002F\u002Fgithub.com\u002Fjonaswinkler\u002Fpaperless-ng) projects and is designed to distribute the responsibility of advancing and supporting the project among a team of people. [Consider joining us!](#community-support)\n\nThanks to the generous folks at [DigitalOcean](https:\u002F\u002Fm.do.co\u002Fc\u002F8d70b916d462), a demo is available at [demo.paperless-ngx.com](https:\u002F\u002Fdemo.paperless-ngx.com) using login `demo` \u002F `demo`. _Note: demo content is reset frequently and confidential information should not be uploaded._\n\n- [Features](#features)\n- [Getting started](#getting-started)\n- [Contributing](#contributing)\n  - [Community Support](#community-support)\n  - [Translation](#translation)\n  - [Feature Requests](#feature-requests)\n  - [Bugs](#bugs)\n- [Related Projects](#related-projects)\n- [Important Note](#important-note)\n\n\u003Cp align=\"right\">This project is supported by:\u003Cbr\u002F>\n  \u003Ca href=\"https:\u002F\u002Fm.do.co\u002Fc\u002F8d70b916d462\" style=\"padding-top: 4px; display: block;\">\n    \u003Cpicture>\n      \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fopensource.nyc3.cdn.digitaloceanspaces.com\u002Fattribution\u002Fassets\u002FSVG\u002FDO_Logo_horizontal_white.svg\" width=\"140px\">\n      \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Fopensource.nyc3.cdn.digitaloceanspaces.com\u002Fattribution\u002Fassets\u002FSVG\u002FDO_Logo_horizontal_blue.svg\" width=\"140px\">\n      \u003Cimg src=\"https:\u002F\u002Fopensource.nyc3.cdn.digitaloceanspaces.com\u002Fattribution\u002Fassets\u002FSVG\u002FDO_Logo_horizontal_black_.svg\" width=\"140px\">\n    \u003C\u002Fpicture>\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n# Features\n\n\u003Cpicture>\n  \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fmain\u002Fdocs\u002Fassets\u002Fscreenshots\u002Fdocuments-smallcards-dark.png\">\n  \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpaperless-ngx_paperless-ngx_readme_9eae2b6d1135.png\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpaperless-ngx_paperless-ngx_readme_9eae2b6d1135.png\">\n\u003C\u002Fpicture>\n\nA full list of [features](https:\u002F\u002Fdocs.paperless-ngx.com\u002F#features) and [screenshots](https:\u002F\u002Fdocs.paperless-ngx.com\u002F#screenshots) are available in the [documentation](https:\u002F\u002Fdocs.paperless-ngx.com\u002F).\n\n# Getting started\n\nThe easiest way to deploy paperless is `docker compose`. The files in the [`\u002Fdocker\u002Fcompose` directory](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Ftree\u002Fmain\u002Fdocker\u002Fcompose) are configured to pull the image from the GitHub container registry.\n\nIf you'd like to jump right in, you can configure a `docker compose` environment with our install script:\n\n```bash\nbash -c \"$(curl -L https:\u002F\u002Fraw.githubusercontent.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fmain\u002Finstall-paperless-ngx.sh)\"\n```\n\nMore details and step-by-step guides for alternative installation methods can be found in [the documentation](https:\u002F\u002Fdocs.paperless-ngx.com\u002Fsetup\u002F#installation).\n\nMigrating from Paperless-ng is easy, just drop in the new docker image! See the [documentation on migrating](https:\u002F\u002Fdocs.paperless-ngx.com\u002Fsetup\u002F#migrating-to-paperless-ngx) for more details.\n\n\u003C!-- omit in toc -->\n\n### Documentation\n\nThe documentation for Paperless-ngx is available at [https:\u002F\u002Fdocs.paperless-ngx.com](https:\u002F\u002Fdocs.paperless-ngx.com\u002F).\n\n# Contributing\n\nIf you feel like contributing to the project, please do! Bug fixes, enhancements, visual fixes etc. are always welcome. If you want to implement something big: Please start a discussion about that! The [documentation](https:\u002F\u002Fdocs.paperless-ngx.com\u002Fdevelopment\u002F) has some basic information on how to get started.\n\n## Community Support\n\nPeople interested in continuing the work on paperless-ngx are encouraged to reach out here on github and in the [Matrix Room](https:\u002F\u002Fmatrix.to\u002F#\u002F#paperless:matrix.org). If you would like to contribute to the project on an ongoing basis there are multiple [teams](https:\u002F\u002Fgithub.com\u002Forgs\u002Fpaperless-ngx\u002Fpeople) (frontend, ci\u002Fcd, etc) that could use your help so please reach out!\n\n## Translation\n\nPaperless-ngx is available in many languages that are coordinated on Crowdin. If you want to help out by translating paperless-ngx into your language, please head over to https:\u002F\u002Fcrowdin.com\u002Fproject\u002Fpaperless-ngx, and thank you! More details can be found in [CONTRIBUTING.md](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fblob\u002Fmain\u002FCONTRIBUTING.md#translating-paperless-ngx).\n\n## Feature Requests\n\nFeature requests can be submitted via [GitHub Discussions](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fdiscussions\u002Fcategories\u002Ffeature-requests), you can search for existing ideas, add your own and vote for the ones you care about.\n\n## Bugs\n\nFor bugs please [open an issue](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fissues) or [start a discussion](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fdiscussions) if you have questions.\n\n# Related Projects\n\nPlease see [the wiki](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fwiki\u002FRelated-Projects) for a user-maintained list of related projects and software that is compatible with Paperless-ngx.\n\n# Important Note\n\n> Document scanners are typically used to scan sensitive documents like your social insurance number, tax records, invoices, etc. **Paperless-ngx should never be run on an untrusted host** because information is stored in clear text without encryption. No guarantees are made regarding security (but we do try!) and you use the app at your own risk.\n> **The safest way to run Paperless-ngx is on a local server in your own home with backups in place**.\n","[![ci](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fworkflows\u002Fci\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Factions)\n[![Crowdin](https:\u002F\u002Fbadges.crowdin.net\u002Fpaperless-ngx\u002Flocalized.svg)](https:\u002F\u002Fcrowdin.com\u002Fproject\u002Fpaperless-ngx)\n[![Documentation Status](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fdeployments\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fgithub-pages?label=docs)](https:\u002F\u002Fdocs.paperless-ngx.com)\n[![codecov](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fbranch\u002Fmain\u002Fgraph\u002Fbadge.svg?token=VK6OUPJ3TY)](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fpaperless-ngx\u002Fpaperless-ngx)\n[![Chat on Matrix](https:\u002F\u002Fmatrix.to\u002Fimg\u002Fmatrix-badge.svg)](https:\u002F\u002Fmatrix.to\u002F#\u002F%23paperlessngx%3Amatrix.org)\n[![demo](https:\u002F\u002Fcronitor.io\u002Fbadges\u002Fve7ItY\u002Fproduction\u002FW5E_B9jkelG9ZbDiNHUPQEVH3MY.svg)](https:\u002F\u002Fdemo.paperless-ngx.com)\n\n\u003Cp align=\"center\">\n  \u003Cpicture>\n    \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fblob\u002Fmain\u002Fresources\u002Flogo\u002Fweb\u002Fpng\u002FWhite%20logo%20-%20no%20background.png\" width=\"50%\">\n    \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpaperless-ngx_paperless-ngx_readme_6dbd39af2501.png\" width=\"50%\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpaperless-ngx_paperless-ngx_readme_6dbd39af2501.png\" width=\"50%\">\n  \u003C\u002Fpicture>\n\u003C\u002Fp>\n\n\u003C!-- omit in toc -->\n\n# Paperless-ngx\n\nPaperless-ngx 是一个文档管理系统，可将您的纸质文档转换为可搜索的在线档案，从而帮助您减少纸张使用。\n\nPaperless-ngx 是原 [Paperless](https:\u002F\u002Fgithub.com\u002Fthe-paperless-project\u002Fpaperless) 和 [Paperless-ng](https:\u002F\u002Fgithub.com\u002Fjonaswinkler\u002Fpaperless-ng) 项目的官方继任者，旨在将推动和维护该项目的责任分散到一个团队中。[欢迎加入我们！](#community-support)\n\n感谢 [DigitalOcean](https:\u002F\u002Fm.do.co\u002Fc\u002F8d70b916d462) 的慷慨支持，现提供演示环境：[demo.paperless-ngx.com](https:\u002F\u002Fdemo.paperless-ngx.com)，登录名与密码均为 `demo`。_请注意：演示内容会定期重置，切勿上传机密信息。_\n\n- [功能](#features)\n- [快速入门](#getting-started)\n- [贡献](#contributing)\n  - [社区支持](#community-support)\n  - [翻译](#translation)\n  - [功能请求](#feature-requests)\n  - [Bug 报告](#bugs)\n- [相关项目](#related-projects)\n- [重要提示](#important-note)\n\n\u003Cp align=\"right\">本项目由以下机构支持：\u003Cbr\u002F>\n  \u003Ca href=\"https:\u002F\u002Fm.do.co\u002Fc\u002F8d70b916d462\" style=\"padding-top: 4px; display: block;\">\n    \u003Cpicture>\n      \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fopensource.nyc3.cdn.digitaloceanspaces.com\u002Fattribution\u002Fassets\u002FSVG\u002FDO_Logo_horizontal_white.svg\" width=\"140px\">\n      \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Fopensource.nyc3.cdn.digitaloceanspaces.com\u002Fattribution\u002Fassets\u002FSVG\u002FDO_Logo_horizontal_blue.svg\" width=\"140px\">\n      \u003Cimg src=\"https:\u002F\u002Fopensource.nyc3.cdn.digitaloceanspaces.com\u002Fattribution\u002Fassets\u002FSVG\u002FDO_Logo_horizontal_black_.svg\" width=\"140px\">\n    \u003C\u002Fpicture>\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n# 功能\n\n\u003Cpicture>\n  \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fmain\u002Fdocs\u002Fassets\u002Fscreenshots\u002Fdocuments-smallcards-dark.png\">\n  \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpaperless-ngx_paperless-ngx_readme_9eae2b6d1135.png\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpaperless-ngx_paperless-ngx_readme_9eae2b6d1135.png\">\n\u003C\u002Fpicture>\n\n完整的[功能列表](https:\u002F\u002Fdocs.paperless-ngx.com\u002F#features)和[截图](https:\u002F\u002Fdocs.paperless-ngx.com\u002F#screenshots)可在[文档](https:\u002F\u002Fdocs.paperless-ngx.com\u002F)中找到。\n\n# 快速入门\n\n部署 Paperless 的最简单方式是使用 `docker compose`。位于[`\u002Fdocker\u002Fcompose` 目录](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Ftree\u002Fmain\u002Fdocker\u002Fcompose)中的文件已配置为从 GitHub 容器注册表拉取镜像。\n\n如果您想立即开始，可以使用我们的安装脚本配置 `docker compose` 环境：\n\n```bash\nbash -c \"$(curl -L https:\u002F\u002Fraw.githubusercontent.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fmain\u002Finstall-paperless-ngx.sh)\"\n```\n\n更多详细信息以及替代安装方法的分步指南，请参阅[文档](https:\u002F\u002Fdocs.paperless-ngx.com\u002Fsetup\u002F#installation)。\n\n从 Paperless-ng 迁移非常容易，只需替换为新的 Docker 镜像即可！有关迁移的更多信息，请参阅[迁移至 Paperless-ngx 的文档](https:\u002F\u002Fdocs.paperless-ngx.com\u002Fsetup\u002F#migrating-to-paperless-ngx)。\n\n\u003C!-- omit in toc -->\n\n### 文档\n\nPaperless-ngx 的文档可在 [https:\u002F\u002Fdocs.paperless-ngx.com](https:\u002F\u002Fdocs.paperless-ngx.com\u002F) 查阅。\n\n# 贡献\n\n如果您愿意为本项目贡献力量，请随时参与！修复 Bug、功能增强、界面优化等都备受欢迎。如果您计划实现较大规模的功能，请先发起讨论！[开发文档](https:\u002F\u002Fdocs.paperless-ngx.com\u002Fdevelopment\u002F) 提供了一些入门信息。\n\n## 社区支持\n\n希望继续参与 Paperless-ngx 工作的人员，欢迎在 GitHub 上以及 [Matrix 论坛](https:\u002F\u002Fmatrix.to\u002F#\u002F#paperless:matrix.org) 中联系我们。如果您希望长期参与本项目，我们有多个[团队](https:\u002F\u002Fgithub.com\u002Forgs\u002Fpaperless-ngx\u002Fpeople)（前端、CI\u002FCD 等）正在寻找志愿者，请随时与我们联系！\n\n## 翻译\n\nPaperless-ngx 支持多种语言，翻译工作由 Crowdin 协调管理。如果您希望将 Paperless-ngx 翻译成您的语言，请访问 https:\u002F\u002Fcrowdin.com\u002Fproject\u002Fpaperless-ngx，非常感谢！更多详情请参阅 [CONTRIBUTING.md](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fblob\u002Fmain\u002FCONTRIBUTING.md#translating-paperless-ngx)。\n\n## 功能请求\n\n功能请求可通过 [GitHub Discussions](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fdiscussions\u002Fcategories\u002Ffeature-requests) 提交。您可以搜索现有想法、添加自己的建议，并为感兴趣的功能投票。\n\n## Bug 报告\n\n如发现 Bug，请[提交 Issue](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fissues)；如有疑问，也可[发起讨论](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fdiscussions)。\n\n# 相关项目\n\n请参阅 [维基页面](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fwiki\u002FRelated-Projects)，其中列出了用户维护的相关项目及与 Paperless-ngx 兼容的软件。\n\n# 重要提示\n\n> 文档扫描仪通常用于扫描敏感文件，例如您的社会保险号码、税务记录、发票等。**请勿在不可信的主机上运行 Paperless-ngx**，因为信息以明文形式存储，未进行加密。我们不对安全性提供任何保证（尽管我们一直在努力！），使用该应用的风险由您自行承担。\n> **运行 Paperless-ngx 的最安全方式是在您自己家中的本地服务器上，并做好备份**。","# Paperless-ngx 快速上手指南\n\nPaperless-ngx 是一个文档管理系统，能将您的纸质文件转换为可搜索的在线档案，助您实现无纸化办公。它是原 Paperless 和 Paperless-ng 项目的官方继任者。\n\n## 环境准备\n\n在开始之前，请确保您的服务器满足以下基本要求：\n\n*   **操作系统**：支持 Docker 的 Linux 发行版（如 Ubuntu, Debian, CentOS 等）。\n*   **核心依赖**：\n    *   [Docker](https:\u002F\u002Fdocs.docker.com\u002Fget-docker\u002F)\n    *   [Docker Compose](https:\u002F\u002Fdocs.docker.com\u002Fcompose\u002Finstall\u002F) (建议 v2.0+)\n*   **硬件建议**：至少 2GB 内存（运行 OCR 识别时可能需要更多），充足的磁盘空间用于存储文档。\n*   **网络**：服务器需能访问外网以拉取镜像（若国内拉取缓慢，建议配置 Docker 国内镜像加速器）。\n\n> **安全提示**：Paperless-ngx 默认以明文存储数据且不含加密。**切勿**在不受信任的主机上运行。最安全的部署方式是在您本地的家庭服务器或受控的内网环境中，并务必做好数据备份。\n\n## 安装步骤\n\n推荐使用官方提供的自动化安装脚本，它会自动配置 `docker compose` 环境并从 GitHub Container Registry 拉取最新镜像。\n\n在终端中执行以下命令：\n\n```bash\nbash -c \"$(curl -L https:\u002F\u002Fraw.githubusercontent.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fmain\u002Finstall-paperless-ngx.sh)\"\n```\n\n**安装过程中请注意：**\n1.  脚本会引导您设置管理员账号、密码以及数据存储路径。\n2.  如果您在中国大陆地区且下载镜像超时，请在执行脚本前配置好 Docker 守护进程的 `registry-mirrors`，或手动修改生成的 `docker-compose.yml` 文件中的镜像地址为国内源。\n\n安装完成后，服务将自动启动。如需查看详细的手动安装步骤或迁移旧版数据，请参阅[官方文档](https:\u002F\u002Fdocs.paperless-ngx.com\u002Fsetup\u002F#installation)。\n\n## 基本使用\n\n安装成功后，您可以通过浏览器访问系统。\n\n1.  **访问界面**：\n    打开浏览器，输入服务器地址及端口（默认为 `http:\u002F\u002F\u003C您的服务器 IP>:8000`）。\n\n2.  **登录系统**：\n    使用安装脚本中设置的管理员账号和密码登录。\n    *   如果是体验官方演示环境，可使用账号：`demo` \u002F 密码：`demo`（注意：演示环境数据会频繁重置，请勿上传敏感信息）。\n\n3.  **上传文档**：\n    *   点击界面上的 **\"Upload\" (上传)** 按钮，直接拖拽或选择本地 PDF、图片等文件。\n    *   系统将自动进行 OCR 文字识别、索引建立和元数据提取。\n\n4.  **搜索与管理**：\n    *   在顶部搜索框输入文档中的任意文字，即可快速定位文件。\n    *   您可以为文档添加标签 (Tags)、对应项 (Correspondents) 和文档类型 (Document types) 以便分类管理。\n\n更多高级功能（如邮件自动抓取、权限管理等）请参考 [完整功能列表](https:\u002F\u002Fdocs.paperless-ngx.com\u002F#features)。","某小型建筑设计公司的行政专员每天需要处理大量纸质合同、发票和工程图纸，传统的人工归档方式让团队在查找历史文件时苦不堪言。\n\n### 没有 paperless-ngx 时\n- **检索效率极低**：寻找一份三年前的特定项目合同，需要在堆积如山的档案柜中手动翻找，耗时数小时甚至一无所获。\n- **空间占用严重**：随着业务增长，专门的文件储藏室已被塞满，物理存储成本不断攀升，且存在火灾或受潮损坏风险。\n- **协作壁垒高筑**：外勤工程师无法远程访问现场所需的图纸扫描件，必须电话请求同事拍照发送，沟通成本高昂。\n- **信息孤岛现象**：文档内容未被索引，无法通过关键词（如“客户名称”或“日期”）快速定位，完全依赖记忆文件名。\n- **备份困难**：缺乏统一的数字化备份机制，一旦纸质原件丢失，关键业务数据将永久灭失。\n\n### 使用 paperless-ngx 后\n- **秒级全文检索**：系统自动对上传的文档进行 OCR 识别和索引，输入关键词即可在毫秒内定位到包含该内容的具体页面。\n- **实现无纸化归档**：所有纸质文档扫描后即销毁或封存，释放了宝贵的办公空间，转而使用低成本的高可用数字存储。\n- **随时随地协作**：团队成员可通过网页端或移动端随时调阅高清档案，支持权限管理，外勤人员能即时获取最新图纸。\n- **智能分类标签**：利用机器学习自动匹配文档类型、日期和相关方并打上标签，将杂乱的文件整理为井井有条的知识库。\n- **自动化备份安全**：基于 Docker 部署的系统可轻松接入现有云存储备份策略，确保每一份数字档案都有多重容灾保护。\n\npaperless-ngx 将混乱的物理纸张转化为可搜索、易协作的智能数字资产，彻底重塑了企业的文档管理流程。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpaperless-ngx_paperless-ngx_9eae2b6d.png","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fpaperless-ngx_fba468d0.jpg","",null,"hello@paperless-ngx.com","https:\u002F\u002Fgithub.com\u002Fpaperless-ngx",[78,82,86,90,94,98,102,105],{"name":79,"color":80,"percentage":81},"Python","#3572A5",57.2,{"name":83,"color":84,"percentage":85},"TypeScript","#3178c6",33,{"name":87,"color":88,"percentage":89},"HTML","#e34c26",8,{"name":91,"color":92,"percentage":93},"SCSS","#c6538c",1,{"name":95,"color":96,"percentage":97},"Shell","#89e051",0.3,{"name":99,"color":100,"percentage":101},"Dockerfile","#384d54",0.2,{"name":103,"color":104,"percentage":101},"CSS","#663399",{"name":106,"color":107,"percentage":108},"JavaScript","#f1e05a",0.1,37902,2410,"2026-04-07T03:23:40","GPL-3.0","Linux, macOS, Windows (通过 Docker)","未说明 (通常不需要专用 GPU，依赖 CPU 进行 OCR 和索引)","最低 2GB，推荐 4GB+ (取决于文档处理并发量)",{"notes":117,"python":118,"dependencies":119},"官方强烈建议使用 Docker Compose 进行部署。由于系统存储敏感文档且默认不加密，严禁在不信任的主机上运行，最安全的方式是在本地家庭服务器运行并配置备份。从 Paperless-ng 迁移只需更换 Docker 镜像即可。","未说明 (官方推荐使用 Docker 部署，镜像内已包含所需环境)",[120,121,122,123,124,125,126,127,128,129],"Docker","Docker Compose","PostgreSQL","Redis","Tesseract OCR","Ghostscript","OptiPNG","JBIG2","Unpaper","ImageMagick",[15,14],[132,133,134,135,136,137,138,139,140,141,142],"angular","archiving","django","dms","document-management","document-management-system","machine-learning","ocr","optical-character-recognition","pdf","hacktoberfest","2026-03-27T02:49:30.150509","2026-04-07T22:59:45.703172",[146,151,156,161],{"id":147,"question_zh":148,"answer_zh":149,"source_url":150},22808,"登录时出现 CSRF 验证失败错误（Origin checking failed - null does not match any trusted origins）怎么办？","这通常是因为反向代理配置或环境变量设置不当导致的。请确保在 docker-compose 的环境变量中正确设置了 PAPERLESS_URL 或 PAPERLESS_CSRF_TRUSTED_ORIGINS。\n\n解决方案：\n1. 在环境变量中添加：PAPERLESS_URL=https:\u002F\u002Fyour-domain.com\n2. 或者显式设置：PAPERLESS_CSRF_TRUSTED_ORIGINS=https:\u002F\u002Fyour-domain.com\n\n例如在 unRAID 或 Docker Compose 中：\nPAPERLESS_URL=https:\u002F\u002Fpaperless.domain.com\n\n设置后重启容器即可生效。更多反向代理配置细节可参考官方 Wiki。","https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fissues\u002F817",{"id":152,"question_zh":153,"answer_zh":154,"source_url":155},22809,"邮件处理任务 (process_mail_accounts) 始终显示 REVOKED 状态且无法执行，如何解决？","该问题通常由条形码识别功能消耗过多内存导致 Celery 进程崩溃引起，或者是调度文件损坏。\n\n尝试以下解决步骤：\n1. **禁用条形码识别**：检查文档分离设置，如果启用了基于条形码的页面分离，尝试暂时禁用它。有用户反馈某文档包含过多条形码导致引擎崩溃。\n2. **重置调度文件**：停止所有 Paperless 服务，删除 celerybeat-schedule.db.db 文件，然后重启服务。\n   \n命令示例（需根据实际路径调整）：\nrm \u002Fpath\u002Fto\u002Fdata\u002Fcelerybeat-schedule.db.db\n\n重启后观察任务是否正常执行。","https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fissues\u002F3739",{"id":157,"question_zh":158,"answer_zh":159,"source_url":160},22810,"升级到 1.8.0 版本后，在 aarch64 架构上分类器训练导致 CPU 占用率超过 100% 且系统无响应，如何处理？","这是一个已知的高资源占用问题，特别是在 aarch64 架构上运行 1.8.0 版本时。\n\n临时解决方案：\n1. **降级 numpy 库**：有用户通过降级 numpy 版本缓解了该问题。\n2. **限制工作线程**：在环境变量中减少 Web 服务器和任务工作线程的数量，例如设置：\n   PAPERLESS_WEBSERVER_WORKERS=1\n   PAPERLESS_TASK_WORKERS=1\n3. **增加内存**：确保系统有足够的可用内存（建议至少 2GB 以上供 Paperless 使用）。\n\n如果问题持续，建议暂时回退到 1.7.1 版本直到官方发布修复补丁。","https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fissues\u002F1364",{"id":162,"question_zh":163,"answer_zh":164,"source_url":165},22811,"1.7.0rc1 版本在消费文档时内存占用过高（相比 1.6.0），有什么解决办法？","该版本在 OCRMyPDF 阶段（特别是 unpaper 或 tesseract 处理时）存在内存泄漏或高占用问题。\n\n建议措施：\n1. **回退版本**：最直接的解决方法是降级回 1.6.0 稳定版。\n2. **增加容器内存限制**：如果必须使用新版本，请为容器分配更多内存（例如从 4GB 增加到 8GB）以缓解交换分区（swapping）压力。\n3. **调整线程数**：尝试减少 worker 数量和线程数，虽然这可能降低处理速度。\n\n注意：设置 PAPERLESS_CONVERT_MEMORY_LIMIT 环境变量在此特定问题上可能无效。","https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fissues\u002F768",[167,172,177,182,187,192,197,202,207,212,217,222,227,232,237,242,247,252,257,262],{"id":168,"version":169,"summary_zh":170,"released_at":171},136497,"v2.20.13","## 无纸化-ngx 2.20.13\n\n### 错误修复\n\n- 修复：仅在有可见结果时才建议更正\n- 修复：将“类似搜索”的视图权限要求提升\n- 修复：验证文档链接目标\n- 修复：在将账户关联到邮件规则时强制执行权限检查","2026-03-21T09:25:45",{"id":173,"version":174,"summary_zh":175,"released_at":176},136498,"v2.20.12","## paperless-ngx 2.20.12\r\n\r\n> [!NOTE]\r\n> 此版本修复了一个安全漏洞（GHSA-96jx-fj7m-qh6x），建议所有用户升级。我们衷心感谢报告此问题的社区成员们。\n\n### 错误修复\r\n\r\n- 修复：限制工作流保存范围，防止覆盖文件名\u002F归档文件名 @stumpylog ([#12390](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F12390))\r\n- 修复：非 root 用户时不再尝试执行 usermod\u002Fgroupmod 操作，并更新文档 (#\u003C!---->12365) @stumpylog ([#12391](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F12391))\r\n- 修复：如果文件已移动，则避免再次移动 @shamoon ([#12389](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F12389))\r\n- 修复：从文档备注 API 规范中移除分页功能 @shamoon ([#12388](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F12388))\r\n- 修复：修正暗色模式下文件按钮的悬停颜色 @shamoon ([#12367](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F12367))\r\n- 修复与增强：仅对适当请求提供基本身份验证 @shamoon ([#12362](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F12362))\r\n\r\n### 应用程序整体变更\r\n\r\n\u003Cdetails>\r\n\u003Csummary>共 5 处变更\u003C\u002Fsummary>\r\n\r\n- 修复：限制工作流保存范围，防止覆盖文件名\u002F归档文件名 @stumpylog ([#12390](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F12390))\r\n- 修复：如果文件已移动，则避免再次移动 @shamoon ([#12389](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F12389))\r\n- 修复：从文档备注 API 规范中移除分页功能 @shamoon ([#12388](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F12388))\r\n- 修复：修正暗色模式下文件按钮的悬停颜色 @shamoon ([#12367](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F12367))\r\n- 修复与增强：仅对适当请求提供基本身份验证 @shamoon ([#12362](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F12362))\r\n\u003C\u002Fdetails>\r\n","2026-03-20T23:30:46",{"id":178,"version":179,"summary_zh":180,"released_at":181},136499,"v2.20.11","## paperless-ngx 2.20.11\r\n\r\n> [!NOTE]\r\n> 此版本修复了一个安全漏洞（GHSA-59xh-5vwx-4c4q），建议所有用户升级。我们衷心感谢报告此问题的社区成员们。\n\n### 错误修复\r\n\r\n- 修复：在深色模式下修正下拉列表的选中颜色 @shamoon ([#12328](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F12328))\r\n- 修复兼改进：当父级选项切换时，清空下拉列表中的子级选项 @shamoon ([#12326](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F12326))\r\n- 修复：防止在小卡片上标签过多时出现换行现象，并将 moreTags 设置重置为正确数量 @shamoon ([#12302](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F12302))\r\n- 修复：防止工作流操作期间数据库文件名过时 @shamoon ([#12289](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F12289))\r\n\r\n### 应用程序全部变更\r\n\r\n\u003Cdetails>\r\n\u003Csummary>共4处变更\u003C\u002Fsummary>\r\n\r\n- 修复：在深色模式下修正下拉列表的选中颜色 @shamoon ([#12328](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F12328))\r\n- 修复兼改进：当父级选项切换时，清空下拉列表中的子级选项 @shamoon ([#12326](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F12326))\r\n- 修复：防止在小卡片上标签过多时出现换行现象，并将 moreTags 设置重置为正确数量 @shamoon ([#12302](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F12302))\r\n- 修复：防止工作流操作期间数据库文件名过时 @shamoon ([#12289](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F12289))\r\n\u003C\u002Fdetails>\r\n","2026-03-16T01:02:28",{"id":183,"version":184,"summary_zh":185,"released_at":186},136500,"v2.20.10","## paperless-ngx 2.20.10\r\n\r\n> [!NOTE]\r\n> 此版本修复了 v2.20.7 中影响部分现有存储路径模板的 bug。受影响的用户在更新后可以运行 [`document_renamer`](https:\u002F\u002Fdocs.paperless-ngx.com\u002Fadministration\u002F#renamer) 命令来纠正此问题。\n\n### Bug 修复\r\n\r\n- 修复：在文件路径 Jinja 模板中支持字符串强制转换 @shamoon ([#12244](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F12244))\r\n- 修复：在标注标签文档数量后应用排序 @shamoon ([#12238](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F12238))\r\n- 修复：对数据库文件名字段强制限制路径长度 @shamoon ([#12235](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F12235))\r\n\r\n### 应用程序所有变更\r\n\r\n\u003Cdetails>\r\n\u003Csummary>3 处变更\u003C\u002Fsummary>\r\n\r\n- 修复：在文件路径 Jinja 模板中支持字符串强制转换 @shamoon ([#12244](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F12244))\r\n- 修复：在标注标签文档数量后应用排序 @shamoon ([#12238](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F12238))\r\n- 修复：对数据库文件名字段强制限制路径长度 @shamoon ([#12235](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F12235))\r\n\u003C\u002Fdetails>\r\n","2026-03-04T19:20:57",{"id":188,"version":189,"summary_zh":190,"released_at":191},136501,"v2.20.9","## paperless-ngx 2.20.9\r\n\r\n> [!NOTE]\r\n> 此版本修复了一个安全漏洞（GHSA-386h-chg4-cfw9），建议所有用户升级。我们衷心感谢报告此问题的社区成员。\r\n\r\n### 错误修复\r\n\r\n- 改进：配置选项重置 @shamoon ([#12176](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F12176))\r\n- 修复：通过区分标签的显示数量与收藏数量来修正页面计数 @shamoon ([#12170](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F12170))\r\n\r\n### 应用程序全部变更\r\n\r\n\u003Cdetails>\r\n\u003Csummary>2项变更\u003C\u002Fsummary>\r\n\r\n- 改进：配置选项重置 @shamoon ([#12176](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F12176))\r\n- 修复：通过区分标签的显示数量与收藏数量来修正页面计数 @shamoon ([#12170](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F12170))\r\n\u003C\u002Fdetails>\r\n","2026-02-28T10:17:35",{"id":193,"version":194,"summary_zh":195,"released_at":196},136502,"v2.20.8","> [!注意]\r\n> 此版本修复了一个安全漏洞（GHSA-7qqc-wrcw-2fj9），建议所有用户升级。我们衷心感谢报告此问题的社区成员。\r\n\r\n## paperless-ngx 2.20.8\r\n\r\n","2026-02-22T01:40:54",{"id":198,"version":199,"summary_zh":200,"released_at":201},136503,"v2.20.7","> [!NOTE]  \n> 此版本修复了一个安全漏洞（GHSA-x395-6h48-wr8v），建议所有用户升级。我们衷心感谢报告此问题的社区成员。\n\n## paperless-ngx 2.20.7\n\n### 重大变更\n- 文件名模板渲染现在对存储路径使用受限的安全文档上下文。依赖于意外或未记录的文档模型属性的模板可能无法正常渲染，并将回退到默认的文件名格式。\n\n### 错误修复\n\n- 修复：修正用户下拉按钮图标的样式 @shamoon ([#12092](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fissues\u002F12092))\n- 修复：修复 2.20.6 版中损坏的 docker create_classifier 命令 @shamoon ([#11965](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fissues\u002F11965))\n- 性能优化：在大型部署中使用子查询来提升对象检索效率 @shamoon ([#11950](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11950))\n\n### 应用程序全部变更\n\n\u003Cdetails>\n\u003Csummary>3 处变更\u003C\u002Fsummary>\n\n- 修复：修正用户下拉按钮图标的样式 @shamoon ([#12092](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fissues\u002F12092))\n- 修复：修复 2.20.6 版中损坏的 docker create_classifier 命令 @shamoon ([#11965](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fissues\u002F11965))\n- 性能优化：在大型部署中使用子查询来提升对象检索效率 @shamoon ([#11950](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11950))\n\u003C\u002Fdetails>\n","2026-02-16T16:52:23",{"id":203,"version":204,"summary_zh":205,"released_at":206},136504,"v2.20.6","> [!NOTE]\n> 此版本修复了两个安全问题（GHSA-jqwv-hx7q-fxh3 和 GHSA-w47q-3m69-84v8），建议所有用户升级。我们衷心感谢报告这些问题的社区成员。\n\n## paperless-ngx 2.20.6\n\n### 错误修复\n\n- 修复：提取嵌套标签的所有 ID @shamoon ([#11888](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11888))\n- 修复：防止在文档外部删除笔记 @shamoon e4b861d76f2da302136cd2b10c26fcf2f213b974\n- 性能优化：改进树节点效率低下问题 @shamoon ([#11606](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fissues\u002F11606))\n- 修复并增强：将“今年”的日期计算方式更改为包含未来文档 @shamoon ([#11884](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11884))\n- 修复：在无 root 权限环境下运行管理脚本可能会失败 @stumpylog ([#11870](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11870))\n- 修复：为覆盖项使用正确的字段 ID @shamoon ([#11869](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11869))\n\n### 应用程序全部变更\n\n\u003Cdetails>\n\u003Csummary>6 处变更\u003C\u002Fsummary>\n\n- 修复：提取嵌套标签的所有 ID @shamoon ([#11888](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11888))\n- 修复：防止在文档外部删除笔记 @shamoon e4b861d76f2da302136cd2b10c26fcf2f213b974\n- 性能优化：改进树节点效率低下问题 @shamoon ([#11606](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fissues\u002F11606))\n- 修复并增强：将“今年”的日期计算方式更改为包含未来文档 @shamoon ([#11884](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11884))\n- 修复：在无 root 权限环境下运行管理脚本可能会失败 @stumpylog ([#11870](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11870))\n- 修复：为覆盖项使用正确的字段 ID @shamoon ([#11869](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11869))\n\u003C\u002Fdetails>\n","2026-01-31T07:30:27",{"id":208,"version":209,"summary_zh":210,"released_at":211},136505,"v2.20.5","## paperless-ngx 2.20.5\n\n### 错误修复\n\n- 修复：确保列表中过长的标签名可以水平滚动，并对无父级的标签进行换行处理 @shamoon ([#11811](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11811))\n- 修复：为工作流操作使用显式排序字段 @shamoon @stumpylog ([#11781](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11781))\n\n### 应用程序所有变更\n\n\u003Cdetails>\n\u003Csummary>2 处变更\u003C\u002Fsummary>\n- 修复：确保列表中过长的标签名可以水平滚动，并对无父级的标签进行换行处理 @shamoon ([#11811](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11811))\n- 修复：为工作流操作使用显式排序字段 @shamoon @stumpylog ([#11781](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11781))\n\u003C\u002Fdetails>","2026-01-21T00:12:33",{"id":213,"version":214,"summary_zh":215,"released_at":216},136506,"v2.20.4","> [!NOTE]\n> 此版本修复了一个安全问题（GHSA-28cf-xvcf-hw6m），建议所有用户升级。感谢报告此问题的社区成员。\n\n## paperless-ngx 2.20.4\n\n### Bug 修复\n\n- 修复：传播元数据覆盖的创建值 @shamoon（[#11659](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11659)）\n- 修复：支持按存储路径名称排序 @shamoon（[#11661](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11661)）\n- 修复：在 PostgreSQL 范围内验证 cf 整数值 @shamoon（[#11666](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11666)）\n- 修复与增强：在打开索引时添加错误处理和重试机制 @shamoon（[#11731](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11731)）\n- 修复：修正重复工作流以尊重最近一次运行时间 @shamoon（[#11735](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11735)）\n\n### 应用程序全部变更\n\n\u003Cdetails>\n\u003Csummary>5 处变更\u003C\u002Fsummary>\n\n- 修复：传播元数据覆盖的创建值 @shamoon（[#11659](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11659)）\n- 修复：支持按存储路径名称排序 @shamoon（[#11661](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11661)）\n- 修复：在 PostgreSQL 范围内验证 cf 整数值 @shamoon（[#11666](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11666)）\n- 修复与增强：在打开索引时添加错误处理和重试机制 @shamoon（[#11731](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11731)）\n- 修复：修正重复工作流以尊重最近一次运行时间 @shamoon（[#11735](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11735)）\n\n\u003C\u002Fdetails>","2026-01-13T18:52:08",{"id":218,"version":219,"summary_zh":220,"released_at":221},136507,"v2.20.3","> [!NOTE]\r\n> This release addresses a security issue (GHSA-7cq3-mhxq-w946) and is recommended for all users. Thank you to the community members who reported this.\r\n\r\n## paperless-ngx 2.20.3\r\n\r\n\r\n","2025-12-18T16:10:13",{"id":223,"version":224,"summary_zh":225,"released_at":226},136508,"v2.20.2","> [!NOTE]\r\n> This release addresses two security issues (GHSA-6653-vcx4-69mc and GHSA-24x5-wp64-9fcc) and is recommended for all users. Thank you to the community members who reported these.\r\n\r\n## paperless-ngx 2.20.2\r\n\r\n### Features \u002F Enhancements\r\n\r\n- Tweakhancement: dim inactive users in users-groups list @shamoon ([#11537](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11537))\r\n\r\n### Bug Fixes\r\n\r\n- Fix: Expanded SVG validation whitelist and additional checks @stumpylog ([#11590](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11590))\r\n- Fix: normalize allowed SVG tag and attribute names, add version @shamoon ([#11586](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11586))\r\n- Fix: pass additional arguments to TagSerializer for permissions @shamoon ([#11576](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11576))\r\n\r\n### Maintenance\r\n\r\n- Chore(deps): Bump actions\u002Fcheckout from 5 to 6 in the actions group @[dependabot[bot]](https:\u002F\u002Fgithub.com\u002Fapps\u002Fdependabot) ([#11515](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11515))\r\n\r\n### Dependencies\r\n\r\n\u003Cdetails>\r\n\u003Csummary>6 changes\u003C\u002Fsummary>\r\n\r\n- Chore: update Angular dependencies to 20.3.15 @shamoon ([#11568](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11568))\r\n- Chore(deps): Bump actions\u002Fcheckout from 5 to 6 in the actions group @[dependabot[bot]](https:\u002F\u002Fgithub.com\u002Fapps\u002Fdependabot) ([#11515](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11515))\r\n- Chore(deps-dev): Bump webpack from 5.102.1 to 5.103.0 in \u002Fsrc-ui @[dependabot[bot]](https:\u002F\u002Fgithub.com\u002Fapps\u002Fdependabot) ([#11513](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11513))\r\n- Chore(deps-dev): Bump @\u003C!---->playwright\u002Ftest from 1.56.1 to 1.57.0 in \u002Fsrc-ui @[dependabot[bot]](https:\u002F\u002Fgithub.com\u002Fapps\u002Fdependabot) ([#11514](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11514))\r\n- Chore(deps-dev): Bump the frontend-eslint-dependencies group in \u002Fsrc-ui with 3 updates @[dependabot[bot]](https:\u002F\u002Fgithub.com\u002Fapps\u002Fdependabot) ([#11512](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11512))\r\n- docker(deps): bump astral-sh\u002Fuv from 0.9.14-python3.12-trixie-slim to 0.9.15-python3.12-trixie-slim @[dependabot[bot]](https:\u002F\u002Fgithub.com\u002Fapps\u002Fdependabot) ([#11533](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11533))\r\n\u003C\u002Fdetails>\r\n\r\n### All App Changes\r\n\r\n\u003Cdetails>\r\n\u003Csummary>12 changes\u003C\u002Fsummary>\r\n\r\n- Fix: Expanded SVG validation whitelist and additional checks @stumpylog ([#11590](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11590))\r\n- Fixhancement: pass ordering to tag children @shamoon ([#11556](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11556))\r\n- Performance: avoid unnecessary filename operations on bulk custom field updates @shamoon ([#11558](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11558))\r\n- Fix: normalize allowed SVG tag and attribute names, add version @shamoon ([#11586](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11586))\r\n- Chore: refactor workflows code @shamoon ([#11563](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11563))\r\n- Fix: pass additional arguments to TagSerializer for permissions @shamoon ([#11576](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11576))\r\n- Chore: update Angular dependencies to 20.3.15 @shamoon ([#11568](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11568))\r\n- Chore(deps-dev): Bump webpack from 5.102.1 to 5.103.0 in \u002Fsrc-ui @[dependabot[bot]](https:\u002F\u002Fgithub.com\u002Fapps\u002Fdependabot) ([#11513](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11513))\r\n- Chore(deps-dev): Bump @\u003C!---->playwright\u002Ftest from 1.56.1 to 1.57.0 in \u002Fsrc-ui @[dependabot[bot]](https:\u002F\u002Fgithub.com\u002Fapps\u002Fdependabot) ([#11514](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11514))\r\n- Chore(deps-dev): Bump the frontend-eslint-dependencies group in \u002Fsrc-ui with 3 updates @[dependabot[bot]](https:\u002F\u002Fgithub.com\u002Fapps\u002Fdependabot) ([#11512](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11512))\r\n- Tweakhancement: dim inactive users in users-groups list @shamoon ([#11537](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11537))\r\n- Chore: add some output of social login errors @shamoon ([#11527](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11527))\r\n\u003C\u002Fdetails>\r\n","2025-12-12T23:47:48",{"id":228,"version":229,"summary_zh":230,"released_at":231},136509,"v2.20.1","## paperless-ngx 2.20.1\r\n\r\n### Bug Fixes\r\n\r\n- Fix: set search term when using advanced search from global search @shamoon ([#11503](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11503))\r\n- Fix: change async handling of select custom field updates @shamoon ([#11490](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11490))\r\n- Fix: skip SSL for MariaDB ping in init script @danielrheinbay ([#11491](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11491))\r\n- Fix: handle allauth groups location breaking change @shamoon ([#11471](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11471))\r\n\r\n### Dependencies\r\n\r\n- docker(deps): Bump astral-sh\u002Fuv from 0.9.10-python3.12-trixie-slim to 0.9.11-python3.12-trixie-slim @[dependabot[bot]](https:\u002F\u002Fgithub.com\u002Fapps\u002Fdependabot) ([#11450](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11450))\r\n- Chore(deps): Bump @\u003C!---->angular\u002Fcommon from 20.3.12 to 20.3.14 in \u002Fsrc-ui @[dependabot[bot]](https:\u002F\u002Fgithub.com\u002Fapps\u002Fdependabot) ([#11481](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11481))\r\n\r\n### All App Changes\r\n\r\n\u003Cdetails>\r\n\u003Csummary>4 changes\u003C\u002Fsummary>\r\n\r\n- Fix: set search term when using advanced search from global search @shamoon ([#11503](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11503))\r\n- Fix: change async handling of select custom field updates @shamoon ([#11490](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11490))\r\n- Chore(deps): Bump @\u003C!---->angular\u002Fcommon from 20.3.12 to 20.3.14 in \u002Fsrc-ui @[dependabot[bot]](https:\u002F\u002Fgithub.com\u002Fapps\u002Fdependabot) ([#11481](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11481))\r\n- Fix: handle allauth groups location breaking change @shamoon ([#11471](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11471))\r\n\u003C\u002Fdetails>\r\n","2025-12-01T22:45:34",{"id":233,"version":234,"summary_zh":235,"released_at":236},136510,"v2.20.0","## paperless-ngx 2.20.0\r\n\r\n### Notable Changes\r\n\r\n- Feature: Upgrade underlying Docker image to Trixie @stumpylog ([#10562](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F10562))\r\n\r\n### Features \u002F Enhancements\r\n\r\n- Feature: Upgrade underlying Docker image to Trixie @stumpylog ([#10562](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F10562))\r\n- Fixhancement: more log viewer improvements @shamoon ([#11426](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11426))\r\n- Performance: Replace duplicated static files with symlinks @stumpylog ([#11418](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11418))\r\n- Enhancement: add more relative dates, support modified @shamoon ([#11411](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11411))\r\n- Performance: make move files after select custom field change async @shamoon ([#11391](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11391))\r\n- Enhancement: Use a better check for the MariaDB server to be ready @stumpylog ([#11396](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11396))\r\n- Enhancement: speed-up docker container startup @flrgh ([#11134](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11134))\r\n\r\n### Bug Fixes\r\n\r\n- Fix: prevent focus loss from change detection in cf query dropdown @shamoon ([#11409](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11409))\r\n- Fix: sort editing filterable dropdowns sooner @shamoon ([#11404](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11404))\r\n- Fix: support for custom field ordering w advanced search @shamoon ([#11383](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11383))\r\n\r\n### Maintenance\r\n\r\n- Chore(deps): Bump the actions group with 7 updates @[dependabot[bot]](https:\u002F\u002Fgithub.com\u002Fapps\u002Fdependabot) ([#11259](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11259))\r\n\r\n### Dependencies\r\n\r\n\u003Cdetails>\r\n\u003Csummary>16 changes\u003C\u002Fsummary>\r\n\r\n- Chore: Upgrades psycopg to 3.2.12 @stumpylog ([#11420](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11420))\r\n- Chore(deps-dev): Bump glob from 10.4.1 to 10.5.0 in \u002Fsrc\u002Fpaperless\\_mail\u002Ftemplates @[dependabot[bot]](https:\u002F\u002Fgithub.com\u002Fapps\u002Fdependabot) ([#11413](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11413))\r\n- docker-compose(deps): bump gotenberg\u002Fgotenberg from 8.24 to 8.25 in \u002Fdocker\u002Fcompose @[dependabot[bot]](https:\u002F\u002Fgithub.com\u002Fapps\u002Fdependabot) ([#11393](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11393))\r\n- Chore(deps): Bump the frontend-angular-dependencies group in \u002Fsrc-ui with 21 updates @[dependabot[bot]](https:\u002F\u002Fgithub.com\u002Fapps\u002Fdependabot) ([#11260](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11260))\r\n- Chore(deps-dev): Bump @\u003C!---->playwright\u002Ftest from 1.55.1 to 1.56.1 in \u002Fsrc-ui @[dependabot[bot]](https:\u002F\u002Fgithub.com\u002Fapps\u002Fdependabot) ([#11263](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11263))\r\n- Chore(deps-dev): Bump webpack from 5.102.0 to 5.102.1 in \u002Fsrc-ui @[dependabot[bot]](https:\u002F\u002Fgithub.com\u002Fapps\u002Fdependabot) ([#11264](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11264))\r\n- Chore(deps-dev): Bump the frontend-eslint-dependencies group in \u002Fsrc-ui with 4 updates @[dependabot[bot]](https:\u002F\u002Fgithub.com\u002Fapps\u002Fdependabot) ([#11262](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11262))\r\n- Chore(deps-dev): Bump jest-preset-angular from 15.0.2 to 15.0.3 in \u002Fsrc-ui in the frontend-jest-dependencies group @[dependabot[bot]](https:\u002F\u002Fgithub.com\u002Fapps\u002Fdependabot) ([#11261](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11261))\r\n- Chore(deps-dev): Bump @\u003C!---->types\u002Fnode from 24.6.1 to 24.9.2 in \u002Fsrc-ui @[dependabot[bot]](https:\u002F\u002Fgithub.com\u002Fapps\u002Fdependabot) ([#11265](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11265))\r\n- Chore(deps): Bump the small-changes group across 1 directory with 11 updates @[dependabot[bot]](https:\u002F\u002Fgithub.com\u002Fapps\u002Fdependabot) ([#11337](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11337))\r\n- Chore(deps): Bump django-auditlog from 3.2.1 to 3.3.0 @[dependabot[bot]](https:\u002F\u002Fgithub.com\u002Fapps\u002Fdependabot) ([#11021](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11021))\r\n- Chore(deps): Bump the actions group with 7 updates @[dependabot[bot]](https:\u002F\u002Fgithub.com\u002Fapps\u002Fdependabot) ([#11259](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11259))\r\n- Chore(deps): Bump drf-spectacular-sidecar from 2025.9.1 to 2025.10.1 @[dependabot[bot]](https:\u002F\u002Fgithub.com\u002Fapps\u002Fdependabot) ([#11019](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11019))\r\n- Chore(deps): Bump django-filter from 25.1 to 25.2 @[dependabot[bot]](https:\u002F\u002Fgithub.com\u002Fapps\u002Fdependabot) ([#11020](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11020))\r\n- Chore(deps): Update django-allauth[mfa,socialaccount] requirement from ~=65.4.0 to ~=65.12.1 @[dependabot[bot]](https:\u002F\u002Fgithub.com\u002Fapps\u002Fdependabot) ([#11198](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11198))\r\n- docker(deps): bump astral-sh\u002Fuv from 0.9.9-python3.12-bookworm-slim to 0.9.10-python3.12-bookworm-slim @[dependabot[bot]](https:\u002F\u002Fgithu","2025-11-22T21:56:00",{"id":238,"version":239,"summary_zh":240,"released_at":241},136511,"v2.19.6","## paperless-ngx 2.19.6\r\n\r\n### Bug Fixes\r\n\r\n- Chore: include password validation on user edit @shamoon ([#11308](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11308))\r\n- Fix: include BASE\\_URL when constructing `doc_url` for workflows @ebardsley ([#11360](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11360))\r\n- Fixhancement: refactor email attachment logic @shamoon ([#11336](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11336))\r\n- Fixhancement: trim whitespace for some text searches @shamoon ([#11357](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11357))\r\n- Fix: update Outlook refresh token when refreshed @shamoon ([#11341](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11341))\r\n- Fix: only cache remote version data for version checking @shamoon ([#11320](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11320))\r\n- Fix: include replace none logic in storage path preview, improve jinja conditionals for empty metadata @shamoon ([#11315](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11315))\r\n\r\n### Dependencies\r\n\r\n- docker(deps): bump astral-sh\u002Fuv from 0.9.7-python3.12-bookworm-slim to 0.9.9-python3.12-bookworm-slim @[dependabot[bot]](https:\u002F\u002Fgithub.com\u002Fapps\u002Fdependabot) ([#11338](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11338))\r\n\r\n### All App Changes\r\n\r\n\u003Cdetails>\r\n\u003Csummary>7 changes\u003C\u002Fsummary>\r\n\r\n- Fix: include BASE\\_URL when constructing `doc_url` for workflows @ebardsley ([#11360](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11360))\r\n- Fixhancement: refactor email attachment logic @shamoon ([#11336](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11336))\r\n- Fixhancement: trim whitespace for some text searches @shamoon ([#11357](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11357))\r\n- Fix: update Outlook refresh token when refreshed @shamoon ([#11341](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11341))\r\n- Fix: only cache remote version data for version checking @shamoon ([#11320](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11320))\r\n- Fix: include replace none logic in storage path preview, improve jinja conditionals for empty metadata @shamoon ([#11315](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11315))\r\n- Chore: include password validation on user edit @shamoon ([#11308](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11308))\r\n\u003C\u002Fdetails>\r\n","2025-11-15T22:56:45",{"id":243,"version":244,"summary_zh":245,"released_at":246},136512,"v2.19.5","## paperless-ngx 2.19.5\n\n### Bug Fixes\n\n- Fix: ensure custom field query propagation, change detection @shamoon ([#11291](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11291))\n\n### Dependencies\n\n- docker(deps): Bump astral-sh\u002Fuv from 0.9.4-python3.12-bookworm-slim to 0.9.7-python3.12-bookworm-slim @[dependabot[bot]](https:\u002F\u002Fgithub.com\u002Fapps\u002Fdependabot) ([#11283](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11283))\n\n### All App Changes\n\n- Fix: ensure custom field query propagation, change detection @shamoon ([#11291](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11291))\n","2025-11-06T20:20:13",{"id":248,"version":249,"summary_zh":250,"released_at":251},136513,"v2.19.4","## paperless-ngx 2.19.4\r\n\r\n### Bug Fixes\r\n\r\n- Fix: use original\\_file when attaching docs to workflow emails with added trigger @shamoon ([#11266](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11266))\r\n- Fix: mark 'Select' button in doc list for translation @shamoon ([#11278](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11278))\r\n- Fix: respect fields parameter for created field @shamoon ([#11251](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11251))\r\n- Fix: improve legibility of processed mail error popover in light mode @shamoon ([#11258](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11258))\r\n- Fixhancement: truncate large logs, improve auto-scroll @shamoon ([#11239](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11239))\r\n- Chore: add max-height and overflow to processedmail error popover @shamoon ([#11252](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11252))\r\n- Fix: delay iframe DOM removal, handle onafterprint error for print in FF @shamoon ([#11237](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11237))\r\n- Fix: de-deduplicate children in tag list when filtering @shamoon ([#11229](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11229))\r\n\r\n### Performance\r\n\r\n- Performance: re-enable virtual scroll, bump ng-select @shamoon ([#11279](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11279))\r\n- Performance: use virtual scroll container and log level parsing for logs view @MickLesk ([#11233](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11233))\r\n\r\n### All App Changes\r\n\r\n\u003Cdetails>\r\n\u003Csummary>11 changes\u003C\u002Fsummary>\r\n\r\n- Performance: re-enable virtual scroll, bump ng-select @shamoon ([#11279](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11279))\r\n- Fix: use original\\_file when attaching docs to workflow emails with added trigger @shamoon ([#11266](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11266))\r\n- Fix: mark 'Select' button in doc list for translation @shamoon ([#11278](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11278))\r\n- Fix: respect fields parameter for created field @shamoon ([#11251](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11251))\r\n- Fix: improve legibility of processed mail error popover in light mode @shamoon ([#11258](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11258))\r\n- Fixhancement: truncate large logs, improve auto-scroll @shamoon ([#11239](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11239))\r\n- Chore: add max-height and overflow to processedmail error popover @shamoon ([#11252](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11252))\r\n- Fix: delay iframe DOM removal, handle onafterprint error for print in FF @shamoon ([#11237](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11237))\r\n- Performance: use virtual scroll container and log level parsing for logs view @MickLesk ([#11233](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11233))\r\n- Chore: cache Github version check for 15 minutes @shamoon ([#11235](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11235))\r\n- Fix: de-deduplicate children in tag list when filtering @shamoon ([#11229](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11229))\r\n\u003C\u002Fdetails>\r\n","2025-11-04T01:34:35",{"id":253,"version":254,"summary_zh":255,"released_at":256},136514,"v2.19.3","## paperless-ngx 2.19.3\r\n\r\n### Bug Fixes\r\n\r\n- Fix: remove unnecessary permission requirements for new email endpoint @shamoon ([#11215](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11215))\r\n- Fix: refactor nested sorting in filterable dropdowns @shamoon ([#11214](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11214))\r\n- Fix: add root tag filtering for tag list page consistency, fix toggle all @shamoon ([#11208](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11208))\r\n- Fix: support ConsumableDocument in email attachments @shamoon ([#11196](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11196))\r\n- Fix: add missing import for ConfirmButtonComponent in user-edit-dialog @shamoon ([#11167](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11167))\r\n- Fix: resolve migration warning in 2.19.2 @shamoon ([#11157](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11157))\r\n\r\n### Changes\r\n\r\n- Change: make workflow action only title draggable @shamoon ([#11209](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11209))\r\n- Change: change workflowrun to softdeletemodel @shamoon ([#11194](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11194))\r\n\r\n### Dependencies\r\n\r\n- Chore(deps): Bump django from 5.2.6 to 5.2.7 @[dependabot[bot]](https:\u002F\u002Fgithub.com\u002Fapps\u002Fdependabot) ([#11200](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11200))\r\n\r\n### All App Changes\r\n\r\n\u003Cdetails>\r\n\u003Csummary>9 changes\u003C\u002Fsummary>\r\n\r\n- Chore(deps): Bump django from 5.2.6 to 5.2.7 @[dependabot[bot]](https:\u002F\u002Fgithub.com\u002Fapps\u002Fdependabot) ([#11200](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11200))\r\n- Fix: remove unnecessary permission requirements for new email endpoint @shamoon ([#11215](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11215))\r\n- Fix: refactor nested sorting in filterable dropdowns @shamoon ([#11214](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11214))\r\n- Fix: add root tag filtering for tag list page consistency, fix toggle all @shamoon ([#11208](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11208))\r\n- Change: make workflow action only title draggable @shamoon ([#11209](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11209))\r\n- Change: change workflowrun to softdeletemodel @shamoon ([#11194](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11194))\r\n- Chore: Minor migration optimization for workflow titles @stumpylog ([#11197](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11197))\r\n- Fix: support ConsumableDocument in email attachments @shamoon ([#11196](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11196))\r\n- Fix: add missing import for ConfirmButtonComponent in user-edit-dialog @shamoon ([#11167](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11167))\r\n- Fix: resolve migration warning in 2.19.2 @shamoon ([#11157](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11157))\r\n\u003C\u002Fdetails>\r\n","2025-10-29T17:58:16",{"id":258,"version":259,"summary_zh":260,"released_at":261},136515,"v2.19.2","## paperless-ngx 2.19.2\n\n### Features \u002F Enhancements\n\n- Fixhancement: display loading status for tags instead of 'Private' @shamoon ([#11140](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11140))\n\n### Bug Fixes\n\n- Fix: Remove edit requirement for bulk email, show based on setting @shamoon ([#11149](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11149))\n- Fix: handle undefined IDs in getOriginalObject @shamoon ([#11147](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11147))\n\n### All App Changes\n\n\u003Cdetails>\n\u003Csummary>3 changes\u003C\u002Fsummary>\n\n- Fix: Remove edit requirement for bulk email, show based on setting @shamoon ([#11149](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11149))\n- Fix: handle undefined IDs in getOriginalObject @shamoon ([#11147](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11147))\n- Fixhancement: display loading status for tags instead of 'Private' @shamoon ([#11140](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11140))\n\u003C\u002Fdetails>\n","2025-10-23T17:23:27",{"id":263,"version":264,"summary_zh":265,"released_at":266},136516,"v2.19.1","## paperless-ngx 2.19.1\n\n### Bug Fixes\n\n- Fix: skip workflow title migration for empty titles @shamoon ([#11136](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11136))\n- Fix: restore workflow title migration @shamoon ([#11131](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11131))\n- Fix: retrieve document\\_count for tag children @shamoon ([#11125](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11125))\n- Fix: move hierarchical order logic in dropdown sorting @shamoon ([#11128](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11128))\n- Fix: use original object for children in tag list @shamoon ([#11127](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11127))\n- Fix: dont display or fetch users or groups with insufficient perms @shamoon ([#11111](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11111))\n\n### All App Changes\n\n\u003Cdetails>\n\u003Csummary>6 changes\u003C\u002Fsummary>\n\n- Fix: skip workflow title migration for empty titles @shamoon ([#11136](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11136))\n- Fix: restore workflow title migration @shamoon ([#11131](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11131))\n- Fix: retrieve document\\_count for tag children @shamoon ([#11125](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11125))\n- Fix: move hierarchical order logic in dropdown sorting @shamoon ([#11128](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11128))\n- Fix: use original object for children in tag list @shamoon ([#11127](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11127))\n- Fix: dont display or fetch users or groups with insufficient perms @shamoon ([#11111](https:\u002F\u002Fgithub.com\u002Fpaperless-ngx\u002Fpaperless-ngx\u002Fpull\u002F11111))\n\u003C\u002Fdetails>\n","2025-10-22T20:40:07"]