tag:github.com,2008:https://github.com/icereed/paperless-gpt/releasesRelease notes from paperless-gpt2026-02-22T13:44:18Ztag:github.com,2008:Repository/861746639/v0.25.12026-02-26T14:50:11Z๐ ๏ธ v0.25.1 โ Patch Release<h1>๐ ๏ธ v0.25.1 โ Patch Release</h1>
<h3>Summary</h3>
<p>This patch release fixes a regression introduced in v0.25.0 which caused the UI to enter a reload loop and fail to fetch documents from Paperless when the manual queue tag (e.g., with emoji or spaces, like <code>๐ค AI-Queue</code>) was used.</p>
<h3>Whatโs fixed</h3>
<ul>
<li>๐ข <strong>Unicode/emoji tag filtering now works:</strong> Fixes improper query encoding for tags with non-ASCII characters or spaces in <code>tags__name__iexact</code>. Paperless-ngx queries by emoji/spaced tags work as expected.</li>
<li>The UI no longer enters a reload loop when a tag like <code>๐ค AI-Queue</code> is used as <code>MANUAL_TAG</code>.</li>
<li>No changes to other functionality or settings required.</li>
</ul>
<h3>How to upgrade</h3>
<ol>
<li>Update your paperless-gpt Docker image/tag to <code>v0.25.1</code>.</li>
<li>No migration steps or config changes are needed.</li>
</ol>
<h3>Thanks</h3>
<p>Thank you to everyone reporting and helping debug this regression!</p>
<ul>
<li><a href="https://github.com/icereed/paperless-gpt/issues/898" data-hovercard-type="issue" data-hovercard-url="/icereed/paperless-gpt/issues/898/hovercard">#898</a>: โ400 from paperless-gpt when querying documents by emoji tag via tags__name__iexactโ โ <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/icereed/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/icereed">@icereed</a></li>
</ul>
<h3>What's Changed</h3>
<ul>
<li>Update README.md by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nettnikl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nettnikl">@nettnikl</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3958083039" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/895" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/895/hovercard" href="https://github.com/icereed/paperless-gpt/pull/895">#895</a></li>
<li>Fix URL encoding for tag queries with special characters by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3974380530" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/901" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/901/hovercard" href="https://github.com/icereed/paperless-gpt/pull/901">#901</a></li>
</ul>
<h3>New Contributors</h3>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nettnikl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nettnikl">@nettnikl</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3958083039" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/895" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/895/hovercard" href="https://github.com/icereed/paperless-gpt/pull/895">#895</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/icereed/paperless-gpt/compare/v0.25.0...v0.25.1"><tt>v0.25.0...v0.25.1</tt></a></p>icereedtag:github.com,2008:Repository/861746639/v0.25.02026-02-16T08:31:48Zv0.25.0 - "The Vision Expansion"<h1>๐ paperless-gpt v0.25.0 - "The Vision Expansion"</h1>
<p><em>Gemini joins the vision OCR party, polling gets smarter, and image processing becomes fully tunable!</em></p>
<h2>๐ Major New Features</h2>
<h3>๐๏ธ <strong>Google Gemini as Vision (OCR) Provider</strong></h3>
<p>Google Gemini can now be used directly as a vision LLM provider for OCR! With native PDF handling, Gemini supports <code>image</code>, <code>pdf</code>, and <code>whole_pdf</code> processing modes out of the boxโgiving you even more flexibility for document processing.</p>
<ul>
<li>Set <code>VISION_LLM_PROVIDER: "googleai"</code> and <code>VISION_LLM_MODEL: "gemini-2.5-flash"</code> to get started</li>
<li>Optional thinking budget support for reasoning models via <code>GOOGLEAI_THINKING_BUDGET</code><br>
<em>Thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/its-a-unixsystem/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/its-a-unixsystem">@its-a-unixsystem</a> for this fantastic contribution!</em></li>
</ul>
<h3>๐๏ธ <strong>Configurable Image Processing Limits</strong></h3>
<p>Image processing limits are no longer hardcoded! You can now fine-tune max pixel dimensions, total pixels, render DPI, and max file size via environment variables. This is especially useful for smaller vision models like <code>minicpm-v</code> that perform better with appropriately sized images.</p>
<ul>
<li><code>IMAGE_MAX_PIXEL_DIMENSION</code>, <code>IMAGE_MAX_TOTAL_PIXELS</code>, <code>IMAGE_MAX_RENDER_DPI</code>, <code>IMAGE_MAX_FILE_BYTES</code></li>
<li>Sensible defaults maintained for backward compatibility<br>
<em>Great addition by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cfilipov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cfilipov">@cfilipov</a>!</em></li>
</ul>
<h2>โก Performance Improvements</h2>
<h3>๐ <strong>Smarter Paperless Polling</strong></h3>
<p>Polling for new documents is now significantly faster and lighter on resources. Instead of querying the full documents API, paperless-gpt now uses tag-based document counting to short-circuit when there's nothing to processโreducing response times from 500โ1000ms down to 10โ50ms on larger instances.</p>
<ul>
<li>Fixes high CPU usage on paperless-ngx caused by aggressive polling</li>
<li>Single-tag retrieval replaces multi-tag queries</li>
<li>API calls are aborted early when no documents need processing<br>
<em>Thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/apoapoapo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/apoapoapo">@apoapoapo</a> for this performance win!</em></li>
</ul>
<h2>๐ง CI/CD Improvements</h2>
<h3>๐ก๏ธ <strong>Secure Fork PR E2E Testing</strong></h3>
<p>Fork pull requests can now run E2E tests securely via a label-based approval workflow. Maintainers add the <code>safe-to-test</code> label after code review, which triggers E2E tests with secret access using local Docker buildsโno registry credentials needed.<br>
<em>Contributed by @Copilot!</em></p>
<hr>
<h2>โ๏ธ Configuration Highlights</h2>
<h3>New Environment Variables</h3>
<div class="highlight highlight-source-yaml notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="# Gemini Vision OCR
VISION_LLM_PROVIDER: "googleai"
VISION_LLM_MODEL: "gemini-2.5-flash"
GOOGLEAI_API_KEY: "your-api-key"
GOOGLEAI_THINKING_BUDGET: "16384" # Optional
OCR_PROCESS_MODE: "whole_pdf" # image, pdf, or whole_pdf
# Image Processing Limits
IMAGE_MAX_PIXEL_DIMENSION: "10000"
IMAGE_MAX_TOTAL_PIXELS: "40000000"
IMAGE_MAX_RENDER_DPI: "300"
IMAGE_MAX_FILE_BYTES: "10485760""><pre><span class="pl-c"><span class="pl-c">#</span> Gemini Vision OCR</span>
<span class="pl-ent">VISION_LLM_PROVIDER</span>: <span class="pl-s"><span class="pl-pds">"</span>googleai<span class="pl-pds">"</span></span>
<span class="pl-ent">VISION_LLM_MODEL</span>: <span class="pl-s"><span class="pl-pds">"</span>gemini-2.5-flash<span class="pl-pds">"</span></span>
<span class="pl-ent">GOOGLEAI_API_KEY</span>: <span class="pl-s"><span class="pl-pds">"</span>your-api-key<span class="pl-pds">"</span></span>
<span class="pl-ent">GOOGLEAI_THINKING_BUDGET</span>: <span class="pl-s"><span class="pl-pds">"</span>16384<span class="pl-pds">"</span></span> <span class="pl-c"><span class="pl-c">#</span> Optional</span>
<span class="pl-ent">OCR_PROCESS_MODE</span>: <span class="pl-s"><span class="pl-pds">"</span>whole_pdf<span class="pl-pds">"</span></span> <span class="pl-c"><span class="pl-c">#</span> image, pdf, or whole_pdf</span>
<span class="pl-c"><span class="pl-c">#</span> Image Processing Limits</span>
<span class="pl-ent">IMAGE_MAX_PIXEL_DIMENSION</span>: <span class="pl-s"><span class="pl-pds">"</span>10000<span class="pl-pds">"</span></span>
<span class="pl-ent">IMAGE_MAX_TOTAL_PIXELS</span>: <span class="pl-s"><span class="pl-pds">"</span>40000000<span class="pl-pds">"</span></span>
<span class="pl-ent">IMAGE_MAX_RENDER_DPI</span>: <span class="pl-s"><span class="pl-pds">"</span>300<span class="pl-pds">"</span></span>
<span class="pl-ent">IMAGE_MAX_FILE_BYTES</span>: <span class="pl-s"><span class="pl-pds">"</span>10485760<span class="pl-pds">"</span></span></pre></div>
<h3>No Breaking Changes</h3>
<p>Existing configurations continue to work as expected. All new features are opt-in!</p>
<hr>
<h2>๐ What's Changed</h2>
<ul>
<li>Add secure fork PR E2E testing with label-based approval by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3814894347" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/857" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/857/hovercard" href="https://github.com/icereed/paperless-gpt/pull/857">#857</a></li>
<li>Improve paperless polling for new documents by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/apoapoapo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/apoapoapo">@apoapoapo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3943796343" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/889" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/889/hovercard" href="https://github.com/icereed/paperless-gpt/pull/889">#889</a></li>
<li>feat: make image processing limits configurable by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cfilipov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cfilipov">@cfilipov</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3909036593" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/883" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/883/hovercard" href="https://github.com/icereed/paperless-gpt/pull/883">#883</a></li>
<li>add Gemini as Vision (OCR) provider by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/its-a-unixsystem/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/its-a-unixsystem">@its-a-unixsystem</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3907450215" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/881" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/881/hovercard" href="https://github.com/icereed/paperless-gpt/pull/881">#881</a></li>
</ul>
<h2>๐ New Contributors</h2>
<p>A huge welcome to our new contributors! ๐</p>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/apoapoapo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/apoapoapo">@apoapoapo</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3943796343" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/889" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/889/hovercard" href="https://github.com/icereed/paperless-gpt/pull/889">#889</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cfilipov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cfilipov">@cfilipov</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3909036593" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/883" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/883/hovercard" href="https://github.com/icereed/paperless-gpt/pull/883">#883</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/its-a-unixsystem/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/its-a-unixsystem">@its-a-unixsystem</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3907450215" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/881" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/881/hovercard" href="https://github.com/icereed/paperless-gpt/pull/881">#881</a></li>
</ul>
<hr>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/icereed/paperless-gpt/compare/v0.24.0...v0.25.0"><tt>v0.24.0...v0.25.0</tt></a></p>
<hr>
<p><strong>Ready to upgrade?</strong></p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="docker pull icereed/paperless-gpt:latest"><pre>docker pull icereed/paperless-gpt:latest</pre></div>
<blockquote>
<p>๐ Check out the <a href="https://github.com/icereed/paperless-gpt#readme">README</a> for full documentation on all features!</p>
</blockquote>icereedtag:github.com,2008:Repository/861746639/v0.24.02026-01-14T21:28:09Zv0.24.0- "The Intelligence Expansion"<h1>๐ paperless-gpt v0.24.0 - "The Intelligence Expansion"</h1>
<p><em>Your AI-powered document processing just got smarter with Claude support, automatic document types, and a whole lot more!</em></p>
<h2>๐ Major New Features</h2>
<h3>๐ง <strong>Anthropic Claude API Support</strong></h3>
<p>Claude joins the party! You can now use Anthropic's powerful Claude models as your LLM provider. Perfect for users who prefer Claude's reasoning capabilities or want an alternative to OpenAI/Ollama.</p>
<ul>
<li>Set <code>LLM_PROVIDER: "anthropic"</code> and configure your <code>ANTHROPIC_API_KEY</code> to get started<br>
*Thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kamcnally/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kamcnally">@kamcnally</a> for this excellent addition! *</li>
</ul>
<h3>๐ <strong>Automatic Document Type Assignment</strong></h3>
<p>Paperless-gpt now intelligently suggests and assigns document types to your documents! Let the AI categorize your invoices, contracts, receipts, and more without lifting a finger.</p>
<ul>
<li><strong>UI toggle</strong> to enable/disable document type generation</li>
<li><strong>View and edit</strong> suggested document types per document</li>
<li>Set <code>AUTO_GENERATE_DOCUMENT_TYPE: "true"</code> to get started<br>
<em>Brilliant contribution from <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/niklasfink/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/niklasfink">@niklasfink</a>!</em></li>
</ul>
<h3>๐จ <strong>Enhanced OCR UI & LLM Options</strong></h3>
<p>The OCR interface got a major facelift with more options for fine-tuning your LLM interactionsโgiving you greater control over how documents are processed.<br>
<em>Improved by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dawidkulpa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dawidkulpa">@dawidkulpa</a>!</em></p>
<h2>๐ง Improvements & Fixes</h2>
<h3>๐ <strong>Sub-Path Hosting Support</strong></h3>
<p>Hosting paperless-gpt behind a reverse proxy under a sub-path (e.g., <code>/ai/</code>) now works seamlessly! All frontend API calls are now sub-path aware, ensuring the Settings menu and other UI features load correctly.<br>
*Thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tldev-de/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tldev-de">@tldev-de</a>! *</p>
<h3>๐ <strong>OCR Tag Loop Fix</strong></h3>
<p>Fixed a critical bug where the auto OCR tag would never be cleared when it was the last remaining tag, causing an endless processing loop.<br>
*Fixed by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/haigcd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/haigcd">@haigcd</a> โ closes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3708120171" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/817" data-hovercard-type="issue" data-hovercard-url="/icereed/paperless-gpt/issues/817/hovercard" href="https://github.com/icereed/paperless-gpt/issues/817">#817</a>! *</p>
<h3>๐ท๏ธ <strong>Tag Removal Fix</strong></h3>
<p>Fixed handling of auto/manual tag removal to prevent sending empty arrays, which could cause issues with paperless-ngx.<br>
<em>Fixed by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/itkevin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/itkevin">@itkevin</a> โ closes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3460663706" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/659" data-hovercard-type="issue" data-hovercard-url="/icereed/paperless-gpt/issues/659/hovercard" href="https://github.com/icereed/paperless-gpt/issues/659">#659</a>!</em></p>
<h3>๐ค <strong>Reasoning Model Cleanup</strong></h3>
<p>OCR output now automatically strips <code><think></code> reasoning tags from models like DeepSeek-R1, giving you cleaner extracted text.<br>
*Contributed by @Copilot! *</p>
<h3>๐ <strong>Docling Provider Enhancements</strong></h3>
<ul>
<li>Updated Docling server API to v1</li>
<li>Added support for PDF processing modes (<code>pdf</code> and <code>whole_pdf</code>)</li>
<li>New environment variables for additional configuration<br>
<em>Thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/T-Eberle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/T-Eberle">@T-Eberle</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Schweinhitti/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Schweinhitti">@Schweinhitti</a>!</em></li>
</ul>
<h2>๐ฆ What's Under the Hood</h2>
<p>This release includes <strong>100+ dependency updates</strong> across both Go backend and TypeScript frontend, keeping everything secure and up-to-date:</p>
<table>
<thead>
<tr>
<th>Component</th>
<th>Version</th>
</tr>
</thead>
<tbody>
<tr>
<td>React</td>
<td>19.2.3</td>
</tr>
<tr>
<td>Go</td>
<td>1.25.5</td>
</tr>
<tr>
<td>Vite</td>
<td>7.3.0</td>
</tr>
<tr>
<td>Node.js</td>
<td>24</td>
</tr>
<tr>
<td>PostgreSQL</td>
<td>18</td>
</tr>
<tr>
<td>Alpine</td>
<td>3.23.0</td>
</tr>
<tr>
<td>Gin</td>
<td>1.11.0</td>
</tr>
<tr>
<td>GORM</td>
<td>1.31.1</td>
</tr>
<tr>
<td>LangChainGo</td>
<td>0.1.14</td>
</tr>
<tr>
<td>Google GenAI</td>
<td>1.39.0</td>
</tr>
</tbody>
</table>
<h3>CI/CD Improvements</h3>
<ul>
<li>Updated to actions/checkout v6, actions/setup-node v6, actions/setup-go v6</li>
<li>GitHub artifact actions updated to latest major versions</li>
<li>actions/cache updated to v5</li>
</ul>
<hr>
<h2>๐ What's Changed</h2>
<h3>โจ Features</h3>
<ul>
<li>๐ฌ Ad-hoc Analysis to get answers from multiple documents by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/icereed/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/icereed">@icereed</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3462383720" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/663" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/663/hovercard" href="https://github.com/icereed/paperless-gpt/pull/663">#663</a></li>
<li>๐ค Add Anthropic/Claude API as LLM provider by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kamcnally/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kamcnally">@kamcnally</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3662961074" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/795" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/795/hovercard" href="https://github.com/icereed/paperless-gpt/pull/795">#795</a></li>
<li>๐ Document Type Assignment for Documents by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/niklasfink/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/niklasfink">@niklasfink</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3775938480" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/848" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/848/hovercard" href="https://github.com/icereed/paperless-gpt/pull/848">#848</a></li>
<li>๐จ Improves OCR UI and adds more options for LLMs by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dawidkulpa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dawidkulpa">@dawidkulpa</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3318991003" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/573" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/573/hovercard" href="https://github.com/icereed/paperless-gpt/pull/573">#573</a></li>
</ul>
<h3>๐ Bug Fixes</h3>
<ul>
<li>Fix frontend API/base paths when hosting under sub-path (e.g. /ai/) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tldev-de/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tldev-de">@tldev-de</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3756734991" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/844" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/844/hovercard" href="https://github.com/icereed/paperless-gpt/pull/844">#844</a></li>
<li>Handle situation when auto OCR tag is the last remaining tag by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/haigcd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/haigcd">@haigcd</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3779201580" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/852" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/852/hovercard" href="https://github.com/icereed/paperless-gpt/pull/852">#852</a></li>
<li>Handle removal of auto/manual tags without sending empty array by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/itkevin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/itkevin">@itkevin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3554220718" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/738" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/738/hovercard" href="https://github.com/icereed/paperless-gpt/pull/738">#738</a></li>
<li>Strip <code><think></code> reasoning tags from OCR output by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3518417138" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/709" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/709/hovercard" href="https://github.com/icereed/paperless-gpt/pull/709">#709</a></li>
</ul>
<h3>๐ง Improvements</h3>
<ul>
<li>Fixed Docling serve API version to v1 & added environment variables by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/T-Eberle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/T-Eberle">@T-Eberle</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3377568884" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/614" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/614/hovercard" href="https://github.com/icereed/paperless-gpt/pull/614">#614</a></li>
<li>Update Docling provider to support PDF processing modes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Schweinhitti/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Schweinhitti">@Schweinhitti</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3594294650" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/758" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/758/hovercard" href="https://github.com/icereed/paperless-gpt/pull/758">#758</a></li>
</ul>
<hr>
<h2>๐ New Contributors</h2>
<p>A huge welcome to our new contributors! ๐</p>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dawidkulpa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dawidkulpa">@dawidkulpa</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3318991003" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/573" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/573/hovercard" href="https://github.com/icereed/paperless-gpt/pull/573">#573</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/T-Eberle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/T-Eberle">@T-Eberle</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3377568884" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/614" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/614/hovercard" href="https://github.com/icereed/paperless-gpt/pull/614">#614</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Schweinhitti/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Schweinhitti">@Schweinhitti</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3594294650" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/758" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/758/hovercard" href="https://github.com/icereed/paperless-gpt/pull/758">#758</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/itkevin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/itkevin">@itkevin</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3554220718" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/738" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/738/hovercard" href="https://github.com/icereed/paperless-gpt/pull/738">#738</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tldev-de/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tldev-de">@tldev-de</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3756734991" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/844" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/844/hovercard" href="https://github.com/icereed/paperless-gpt/pull/844">#844</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kamcnally/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kamcnally">@kamcnally</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3662961074" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/795" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/795/hovercard" href="https://github.com/icereed/paperless-gpt/pull/795">#795</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/haigcd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/haigcd">@haigcd</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3779201580" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/852" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/852/hovercard" href="https://github.com/icereed/paperless-gpt/pull/852">#852</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/niklasfink/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/niklasfink">@niklasfink</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3775938480" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/848" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/848/hovercard" href="https://github.com/icereed/paperless-gpt/pull/848">#848</a></li>
</ul>
<hr>
<h2>โ๏ธ Configuration Highlights</h2>
<h3>New Environment Variables</h3>
<div class="highlight highlight-source-yaml notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="# Anthropic Claude Support
LLM_PROVIDER: "anthropic"
ANTHROPIC_API_KEY: "your-api-key"
# Document Type Generation
AUTO_GENERATE_DOCUMENT_TYPE: "true""><pre><span class="pl-c"><span class="pl-c">#</span> Anthropic Claude Support</span>
<span class="pl-ent">LLM_PROVIDER</span>: <span class="pl-s"><span class="pl-pds">"</span>anthropic<span class="pl-pds">"</span></span>
<span class="pl-ent">ANTHROPIC_API_KEY</span>: <span class="pl-s"><span class="pl-pds">"</span>your-api-key<span class="pl-pds">"</span></span>
<span class="pl-c"><span class="pl-c">#</span> Document Type Generation</span>
<span class="pl-ent">AUTO_GENERATE_DOCUMENT_TYPE</span>: <span class="pl-s"><span class="pl-pds">"</span>true<span class="pl-pds">"</span></span></pre></div>
<h3>No Breaking Changes</h3>
<p>Existing configurations continue to work as expected. All new features are opt-in!</p>
<hr>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/icereed/paperless-gpt/compare/v0.23.0...v0.24.0"><tt>v0.23.0...v0.24.0</tt></a></p>
<hr>
<p><strong>Ready to upgrade?</strong></p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="docker pull icereed/paperless-gpt:latest"><pre>docker pull icereed/paperless-gpt:latest</pre></div>
<blockquote>
<p>๐ Check out the <a href="https://github.com/icereed/paperless-gpt#readme">README</a> for full documentation on all features!</p>
</blockquote>icereedtag:github.com,2008:Repository/861746639/v0.23.02025-09-17T10:15:51Z"The Power User Edition"<h1>๐ paperless-gpt v0.23.0 - "The Power User Edition"</h1>
<p><em>Bringing AI-powered document processing to the next level with custom fields, external prompts, and enhanced developer experience!</em></p>
<h2>๐ Major New Features</h2>
<h3>๐ <strong>External Prompts & UI Editor</strong></h3>
<p>Transform how you customize AI behavior! You can now manage your prompts externally and edit them through a beautiful web interface. No more diving into config files - craft your perfect document processing prompts with ease.<br>
<em>Thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hensing/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hensing">@hensing</a> for this game-changing feature!</em></p>
<h3>๐ฏ <strong>Automatic Custom Field Detection</strong></h3>
<p>paperless-gpt now intelligently detects and extracts custom fields from your documents automatically. Let AI discover the data patterns in your paperwork and suggest custom fields you never knew you needed.<br>
<em>Another brilliant contribution from <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hensing/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hensing">@hensing</a>!</em></p>
<h3>โฑ๏ธ <strong>Document Processing Runtime Logging</strong></h3>
<p>Ever wondered how long each document takes to process? Now you'll know! Every document processing operation is timed and logged, giving you insights into performance and helping you optimize your AI workflows.<br>
<em>Big thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/matgoebl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/matgoebl">@matgoebl</a> for this useful addition!</em></p>
<h3>๐ ๏ธ <strong>Enhanced Developer Experience</strong></h3>
<p>We've added comprehensive GitHub Copilot instructions to make contributing to paperless-gpt a breeze. Whether you're fixing bugs or adding features, the development workflow is now smoother than ever.<br>
<em>Powered by @Copilot's first contribution to the project!</em></p>
<h2>๐ง Infrastructure Improvements</h2>
<ul>
<li><strong>Optional Docker Hub Pushes</strong>: More flexible CI/CD pipeline management</li>
<li><strong>Date Validation</strong>: Better handling of invalid document dates</li>
<li><strong>Dependency Fortress</strong>: Massive dependency update sweep keeping everything secure and up-to-date</li>
</ul>
<h2>๐ฆ What's Under the Hood</h2>
<p>This release includes <strong>50+ dependency updates</strong> across both Go backend and TypeScript frontend, ensuring you're running on the latest and greatest packages. From React 19.1.1 to Go 1.25.0, we've got you covered.</p>
<h2>๐ New Contributors Welcome!</h2>
<p>Special shoutout to @Copilot for joining our contributor family! ๐ค</p>
<hr>
<p><strong>Ready to supercharge your document processing?</strong></p>
<p>๐ฅ <strong>Download</strong>: <a href="https://github.com/icereed/paperless-gpt/releases/tag/v0.23.0">Release v0.23.0</a><br>
๐ <strong>Documentation</strong>: Check out our updated docs for the new features<br>
๐ <strong>Issues</strong>: Found something? We love feedback!</p>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/icereed/paperless-gpt/compare/v0.22.0...v0.23.0"><tt>v0.22.0...v0.23.0</tt></a></p>icereedtag:github.com,2008:Repository/861746639/v0.22.02025-07-17T08:50:21ZSupport relative URLs for reverse-proxies<h1>Support relative URLs for reverse-proxies</h1>
<p>Use relative URLs, so forwarding a sub-path from a reverse proxy works. Thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/matgoebl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/matgoebl">@matgoebl</a>.</p>
<h2>What's Changed</h2>
<ul>
<li>doc: clarify LLM_LANGUAGE by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/thiswillbeyourgithub/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/thiswillbeyourgithub">@thiswillbeyourgithub</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3164939209" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/472" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/472/hovercard" href="https://github.com/icereed/paperless-gpt/pull/472">#472</a></li>
<li>chore(deps): update dependency go to v1.24.4 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3159182225" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/465" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/465/hovercard" href="https://github.com/icereed/paperless-gpt/pull/465">#465</a></li>
<li>chore(deps): update dependency @types/react to v19.1.8 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3139171141" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/462" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/462/hovercard" href="https://github.com/icereed/paperless-gpt/pull/462">#462</a></li>
<li>fix(deps): update module google.golang.org/api to v0.239.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3103420737" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/444" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/444/hovercard" href="https://github.com/icereed/paperless-gpt/pull/444">#444</a></li>
<li>chore(deps): update dependency postcss to v8.5.6 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3103419116" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/443" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/443/hovercard" href="https://github.com/icereed/paperless-gpt/pull/443">#443</a></li>
<li>chore(deps): update docker.io/golang docker tag to v1.24.4 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3186119788" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/481" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/481/hovercard" href="https://github.com/icereed/paperless-gpt/pull/481">#481</a></li>
<li>fix(deps): update dependency react-router-dom to v7.6.3 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3186119867" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/482" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/482/hovercard" href="https://github.com/icereed/paperless-gpt/pull/482">#482</a></li>
<li>fix(deps): update module github.com/gen2brain/go-fitz to v1.24.15 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3186168087" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/483" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/483/hovercard" href="https://github.com/icereed/paperless-gpt/pull/483">#483</a></li>
<li>chore(deps): update dependency @types/node to v22.15.34 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3095407324" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/430" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/430/hovercard" href="https://github.com/icereed/paperless-gpt/pull/430">#430</a></li>
<li>chore(deps): update dependency typescript-eslint to v8.35.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3095407881" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/431" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/431/hovercard" href="https://github.com/icereed/paperless-gpt/pull/431">#431</a></li>
<li>chore(deps): update docker.io/alpine docker tag to v3.22.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3104294900" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/447" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/447/hovercard" href="https://github.com/icereed/paperless-gpt/pull/447">#447</a></li>
<li>fix(deps): update module github.com/hashicorp/go-retryablehttp to v0.7.8 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3186168186" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/484" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/484/hovercard" href="https://github.com/icereed/paperless-gpt/pull/484">#484</a></li>
<li>fix(deps): update module gorm.io/gorm to v1.30.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3089197404" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/426" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/426/hovercard" href="https://github.com/icereed/paperless-gpt/pull/426">#426</a></li>
<li>chore(deps): update dependency @playwright/test to v1.53.1 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3186200871" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/485" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/485/hovercard" href="https://github.com/icereed/paperless-gpt/pull/485">#485</a></li>
<li>chore(deps): update dependency dotenv to v16.6.1 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3186200966" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/486" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/486/hovercard" href="https://github.com/icereed/paperless-gpt/pull/486">#486</a></li>
<li>chore(config): migrate renovate config by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3186201431" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/487" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/487/hovercard" href="https://github.com/icereed/paperless-gpt/pull/487">#487</a></li>
<li>fix(deps): update dependency axios to v1.10.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3186439167" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/489" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/489/hovercard" href="https://github.com/icereed/paperless-gpt/pull/489">#489</a></li>
<li>chore(deps): update eslint monorepo to v9.30.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3186439092" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/488" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/488/hovercard" href="https://github.com/icereed/paperless-gpt/pull/488">#488</a></li>
<li>chore(deps): update dependency dotenv to v17 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3187007179" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/494" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/494/hovercard" href="https://github.com/icereed/paperless-gpt/pull/494">#494</a></li>
<li>fix(deps): update module google.golang.org/genai to v1.13.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3187006691" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/492" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/492/hovercard" href="https://github.com/icereed/paperless-gpt/pull/492">#492</a></li>
<li>fix(deps): update dependency react-tooltip to v5.29.1 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3187005323" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/490" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/490/hovercard" href="https://github.com/icereed/paperless-gpt/pull/490">#490</a></li>
<li>chore(deps): update dependency vite to v7 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3187008404" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/495" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/495/hovercard" href="https://github.com/icereed/paperless-gpt/pull/495">#495</a></li>
<li>fix(deps): update module gorm.io/driver/sqlite to v1.6.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3187006817" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/493" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/493/hovercard" href="https://github.com/icereed/paperless-gpt/pull/493">#493</a></li>
<li>chore(deps): update dependency dotenv to v17.0.1 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3207741273" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/499" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/499/hovercard" href="https://github.com/icereed/paperless-gpt/pull/499">#499</a></li>
<li>chore(deps): update dependency @playwright/test to v1.53.2 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3207741017" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/498" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/498/hovercard" href="https://github.com/icereed/paperless-gpt/pull/498">#498</a></li>
<li>fix(deps): update module google.golang.org/api to v0.240.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3187006433" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/491" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/491/hovercard" href="https://github.com/icereed/paperless-gpt/pull/491">#491</a></li>
<li>chore(deps): update dependency typescript-eslint to v8.35.1 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3208366194" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/500" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/500/hovercard" href="https://github.com/icereed/paperless-gpt/pull/500">#500</a></li>
<li>chore(deps): update dependency vite to v7.0.2 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3208367079" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/501" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/501/hovercard" href="https://github.com/icereed/paperless-gpt/pull/501">#501</a></li>
<li>chore(deps): update dependency vite to v7.0.4 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3222715702" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/504" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/504/hovercard" href="https://github.com/icereed/paperless-gpt/pull/504">#504</a></li>
<li>chore(deps): update dependency go to v1.24.5 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3222714626" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/503" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/503/hovercard" href="https://github.com/icereed/paperless-gpt/pull/503">#503</a></li>
<li>chore(deps): update eslint monorepo to v9.30.1 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3223384540" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/506" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/506/hovercard" href="https://github.com/icereed/paperless-gpt/pull/506">#506</a></li>
<li>chore(deps): update docker.io/golang docker tag to v1.24.5 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3223383085" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/505" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/505/hovercard" href="https://github.com/icereed/paperless-gpt/pull/505">#505</a></li>
<li>chore(deps): update dependency @playwright/test to v1.54.1 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3223833308" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/507" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/507/hovercard" href="https://github.com/icereed/paperless-gpt/pull/507">#507</a></li>
<li>chore(deps): update dependency @types/node to v22.16.3 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3223833546" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/508" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/508/hovercard" href="https://github.com/icereed/paperless-gpt/pull/508">#508</a></li>
<li>chore(deps): update dependency dotenv to v17.2.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3224385377" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/509" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/509/hovercard" href="https://github.com/icereed/paperless-gpt/pull/509">#509</a></li>
<li>chore(deps): update dependency globals to v16.3.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3224385498" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/510" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/510/hovercard" href="https://github.com/icereed/paperless-gpt/pull/510">#510</a></li>
<li>chore(deps): update dependency typescript-eslint to v8.36.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3224579555" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/511" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/511/hovercard" href="https://github.com/icereed/paperless-gpt/pull/511">#511</a></li>
<li>chore(deps): update eslint monorepo to v9.31.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3224579628" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/512" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/512/hovercard" href="https://github.com/icereed/paperless-gpt/pull/512">#512</a></li>
<li>fix(deps): update module golang.org/x/sync to v0.16.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3224823019" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/513" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/513/hovercard" href="https://github.com/icereed/paperless-gpt/pull/513">#513</a></li>
<li>fix(deps): update module google.golang.org/api to v0.241.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3224823093" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/514" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/514/hovercard" href="https://github.com/icereed/paperless-gpt/pull/514">#514</a></li>
<li>fix(deps): update module google.golang.org/genai to v1.15.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3225182233" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/515" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/515/hovercard" href="https://github.com/icereed/paperless-gpt/pull/515">#515</a></li>
<li>chore(deps): update dependency @types/node to v22.16.4 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3234644820" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/517" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/517/hovercard" href="https://github.com/icereed/paperless-gpt/pull/517">#517</a></li>
<li>chore(deps): update docker.io/alpine docker tag to v3.22.1 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3234644963" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/518" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/518/hovercard" href="https://github.com/icereed/paperless-gpt/pull/518">#518</a></li>
<li>Use relative URLs, so forwarding a sub-path from a reverse proxy works. by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/matgoebl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/matgoebl">@matgoebl</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3230049873" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/516" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/516/hovercard" href="https://github.com/icereed/paperless-gpt/pull/516">#516</a></li>
<li>chore(deps): update dependency typescript-eslint to v8.37.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3235546690" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/519" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/519/hovercard" href="https://github.com/icereed/paperless-gpt/pull/519">#519</a></li>
<li>fix(deps): update dependency react-router-dom to v7.7.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3237705662" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/521" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/521/hovercard" href="https://github.com/icereed/paperless-gpt/pull/521">#521</a></li>
<li>fix(deps): update module google.golang.org/api to v0.242.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3237706460" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/522" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/522/hovercard" href="https://github.com/icereed/paperless-gpt/pull/522">#522</a></li>
<li>chore(deps): update dependency vite to v7.0.5 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3238186541" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/523" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/523/hovercard" href="https://github.com/icereed/paperless-gpt/pull/523">#523</a></li>
<li>fix(deps): update module google.golang.org/genai to v1.16.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3238188369" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/524" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/524/hovercard" href="https://github.com/icereed/paperless-gpt/pull/524">#524</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/matgoebl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/matgoebl">@matgoebl</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3230049873" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/516" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/516/hovercard" href="https://github.com/icereed/paperless-gpt/pull/516">#516</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/icereed/paperless-gpt/compare/v0.21.0...v0.22.0"><tt>v0.21.0...v0.22.0</tt></a></p>icereedtag:github.com,2008:Repository/861746639/v0.21.02025-06-19T14:24:07Zv0.21.0<h2>Release Highlights ๐</h2>
<h3>New Features</h3>
<h4>๐ฎ Mistral OCR Integration with Advanced PDF Processing</h4>
<ul>
<li><strong>Extended PDF processing support</strong> - Mistral OCR now joins Google Document AI in supporting all processing modes: <code>image</code>, <code>pdf</code>, and <code>whole_pdf</code></li>
<li><strong>Cost-effective OCR</strong> - Purpose-built OCR endpoint optimized for document processing with competitive pricing</li>
<li><strong>Markdown-formatted output</strong> - Returns well-structured markdown text that preserves document formatting and layout</li>
<li><strong>Large document support</strong> - Handles files up to 50MB and 1,000 pages efficiently</li>
<li>Set <code>OCR_PROVIDER: "mistral_ocr"</code> and configure your Mistral API key to get started</li>
</ul>
<h4>๐ท๏ธ Enhanced Title Generation with Context</h4>
<ul>
<li><strong>Original title context</strong> - Title generation now includes the existing document title as contextual information</li>
<li><strong>Improved relevance</strong> - Language models can use the original title to generate more accurate and contextually appropriate suggestions</li>
<li><strong>Better continuity</strong> - Maintains document naming consistency while enhancing title quality</li>
<li><strong>Smart fallbacks</strong> - Handles cases where original titles are missing or incomplete</li>
</ul>
<h3>Improvements & Refinements</h3>
<h4>๐ก๏ธ Configuration Validation</h4>
<ul>
<li><strong>OCR provider compatibility checks</strong> - Prevents invalid combinations of OCR providers and processing modes</li>
<li><strong>Clear error messages</strong> - Detailed feedback when unsupported mode combinations are detected</li>
<li><strong>Startup validation</strong> - Early detection of configuration issues before processing begins</li>
<li><strong>Provider-specific guidance</strong> - Helpful error messages explain which modes are supported by each provider</li>
</ul>
<h4>๐ Enhanced PDF Processing Architecture</h4>
<ul>
<li><strong>Hybrid file naming</strong> - Improved PDF splitting with standardized naming conventions that maintain backward compatibility</li>
<li><strong>More provider choice</strong> - Users can now choose between Google Document AI and Mistral OCR for advanced PDF processing</li>
<li><strong>Consistent behavior</strong> - Both advanced providers support <code>pdf</code> and <code>whole_pdf</code> modes with similar performance characteristics</li>
</ul>
<h4>๐งช Comprehensive E2E Testing</h4>
<ul>
<li><strong>Mistral OCR test suite</strong> - Full end-to-end testing of Mistral OCR integration with real PDF documents</li>
<li><strong>Processing mode validation</strong> - Tests verify <code>whole_pdf</code> mode works correctly with multi-page documents</li>
<li><strong>Performance metrics</strong> - Test output includes detailed comparison of original vs. enhanced OCR content</li>
<li><strong>Cross-provider compatibility</strong> - Tests ensure consistent behavior across different OCR providers</li>
</ul>
<h3>Documentation Updates</h3>
<h4>๐ OCR Provider Comparison</h4>
<ul>
<li><strong>Updated provider documentation</strong> - Clear explanation of which providers support which processing modes</li>
<li><strong>Mode compatibility matrix</strong> - Easy reference for choosing the right provider and mode combination</li>
<li><strong>Mistral-specific guidance</strong> - Detailed setup instructions and best practices for Mistral OCR</li>
<li><strong>Configuration examples</strong> - Complete docker-compose examples for all supported configurations</li>
</ul>
<h2>Technical Details</h2>
<h3>Provider Mode Support Matrix</h3>
<table>
<thead>
<tr>
<th>Provider</th>
<th>image</th>
<th>pdf</th>
<th>whole_pdf</th>
</tr>
</thead>
<tbody>
<tr>
<td>LLM (OpenAI/Ollama)</td>
<td>โ </td>
<td>โ</td>
<td>โ</td>
</tr>
<tr>
<td>Azure Document Intelligence</td>
<td>โ </td>
<td>โ</td>
<td>โ</td>
</tr>
<tr>
<td>Google Document AI</td>
<td>โ </td>
<td>โ </td>
<td>โ </td>
</tr>
<tr>
<td><strong>Mistral OCR</strong> (New!)</td>
<td>โ </td>
<td>โ </td>
<td>โ </td>
</tr>
<tr>
<td>Docling</td>
<td>โ </td>
<td>โ</td>
<td>โ</td>
</tr>
</tbody>
</table>
<h3>What's Changed</h3>
<ul>
<li><strong>feat: Add Mistral OCR provider with advanced PDF processing support</strong> - Extends <code>pdf</code> and <code>whole_pdf</code> mode support to a second provider</li>
<li><strong>feat: Add OCR provider and processing mode validation</strong> - Prevents misconfigurations and provides helpful error messages</li>
<li><strong>feat: Pass original document title to title generation prompt</strong> - Improves context and relevance of AI-generated titles <a href="https://github.com/icereed/paperless-gpt/issues/453" data-hovercard-type="issue" data-hovercard-url="/icereed/paperless-gpt/issues/453/hovercard">#453</a></li>
<li><strong>feat: Implement hybrid PDF naming strategy</strong> - Improved file naming with backward compatibility</li>
<li><strong>test: Add comprehensive Mistral OCR E2E tests</strong> - Full test coverage including diff comparison utilities</li>
<li><strong>docs: Update OCR processing modes documentation</strong> - Clear provider compatibility information</li>
</ul>
<h3>Configuration Example</h3>
<div class="highlight highlight-source-yaml notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="environment:
# Mistral OCR (new advanced PDF support)
OCR_PROVIDER: "mistral_ocr"
MISTRAL_API_KEY: "your_mistral_api_key"
MISTRAL_MODEL: "mistral-ocr-latest" # Optional
OCR_PROCESS_MODE: "whole_pdf" # Now supported!"><pre><span class="pl-ent">environment</span>:
<span class="pl-c"><span class="pl-c">#</span> Mistral OCR (new advanced PDF support)</span>
<span class="pl-ent">OCR_PROVIDER</span>: <span class="pl-s"><span class="pl-pds">"</span>mistral_ocr<span class="pl-pds">"</span></span>
<span class="pl-ent">MISTRAL_API_KEY</span>: <span class="pl-s"><span class="pl-pds">"</span>your_mistral_api_key<span class="pl-pds">"</span></span>
<span class="pl-ent">MISTRAL_MODEL</span>: <span class="pl-s"><span class="pl-pds">"</span>mistral-ocr-latest<span class="pl-pds">"</span></span> <span class="pl-c"><span class="pl-c">#</span> Optional</span>
<span class="pl-ent">OCR_PROCESS_MODE</span>: <span class="pl-s"><span class="pl-pds">"</span>whole_pdf<span class="pl-pds">"</span></span> <span class="pl-c"><span class="pl-c">#</span> Now supported!</span></pre></div>
<h3>Migration Notes</h3>
<ul>
<li><strong>No breaking changes</strong> - Existing configurations continue to work as expected</li>
<li><strong>More provider choice</strong> - Users now have two options for advanced PDF processing (<code>pdf</code> and <code>whole_pdf</code> modes)</li>
</ul>
<h3>Performance Benefits</h3>
<ul>
<li><strong>Provider flexibility</strong> - Choose between Google Document AI and Mistral OCR based on your needs and pricing preferences</li>
<li><strong>Reduced API calls</strong> - <code>whole_pdf</code> mode processes entire documents in one request (now available with both advanced providers)</li>
<li><strong>Better accuracy</strong> - Direct PDF processing maintains document structure and formatting</li>
<li><strong>Smarter title generation</strong> - Original title context leads to more relevant AI suggestions</li>
</ul>
<h2>PRs</h2>
<ul>
<li>fix(deps): update module github.com/pdfcpu/pdfcpu to v0.11.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3097987991" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/434" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/434/hovercard" href="https://github.com/icereed/paperless-gpt/pull/434">#434</a></li>
<li>fix: mislabeled data types in azure types by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/moarsmokes/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/moarsmokes">@moarsmokes</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3107944714" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/455" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/455/hovercard" href="https://github.com/icereed/paperless-gpt/pull/455">#455</a></li>
<li>chore(deps): update react monorepo to v19.1.7 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3093712191" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/429" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/429/hovercard" href="https://github.com/icereed/paperless-gpt/pull/429">#429</a></li>
<li>chore(deps): update dependency @vitejs/plugin-react-swc to v3.10.2 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3084936409" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/424" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/424/hovercard" href="https://github.com/icereed/paperless-gpt/pull/424">#424</a></li>
<li>Enhance title suggestions with original title by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/icereed/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/icereed">@icereed</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3159191882" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/466" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/466/hovercard" href="https://github.com/icereed/paperless-gpt/pull/466">#466</a></li>
<li>[mistral-ocr] Add MIME type detection, structured logging, and improvโฆ by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/icereed/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/icereed">@icereed</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3159234442" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/468" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/468/hovercard" href="https://github.com/icereed/paperless-gpt/pull/468">#468</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/icereed/paperless-gpt/compare/v0.20.0...v0.21.0"><tt>v0.20.0...v0.21.0</tt></a></p>icereedtag:github.com,2008:Repository/861746639/v0.20.02025-05-30T14:39:51Zv0.20.0<h2>Release Highlights ๐</h2>
<h3>New Features</h3>
<h4>๐ง Google Gemini AI Integration</h4>
<ul>
<li><strong>Added Google Gemini AI support</strong> - Paperless-GPT now supports Google's Gemini AI models as a new LLM provider option</li>
<li><strong>Thinking budget support</strong> - Leverages Gemini's new thinking capabilities for enhanced document processing</li>
<li><strong>Enhanced error handling</strong> - Improved API response validation and error management for Google AI services</li>
<li>Set <code>LLM_PROVIDER: "googleai"</code> and configure your Google AI API credentials to get started</li>
</ul>
<h3>Improvements & Refinements</h3>
<h4>๐ง LLM Prompt Optimization</h4>
<ul>
<li><strong>Enhanced prompt structure</strong> - Added XML-like separators to LLM prompts for improved parsing accuracy and consistency</li>
<li><strong>Better data organization</strong> - Input data is now enclosed in structured tags for clearer LLM interpretation</li>
<li><strong>Improved reliability</strong> - More consistent results across different document types and LLM providers</li>
</ul>
<h4>๐ PDF Processing Fixes</h4>
<ul>
<li><strong>Fixed split PDF logic</strong> - Updated file naming pattern to match <code>pdfcpu</code> output format (removes zero-padding)</li>
<li><strong>Consistent naming</strong> - Split files now use simplified naming: <code>original_1.pdf</code>, <code>original_2.pdf</code>, etc.</li>
<li><strong>Better workflow integration</strong> - Improved compatibility with existing PDF processing pipelines</li>
</ul>
<h3>Documentation Updates</h3>
<h4>๐ Model Recommendations</h4>
<ul>
<li><strong>Updated model suggestions</strong> - Documentation now recommends <code>qwen3:8b</code> instead of <code>deepseek-r1:8b</code> for Ollama users</li>
<li><strong>Better performance</strong> - <code>qwen3:8b</code> offers more recent and powerful reasoning capabilities</li>
<li><strong>Improved examples</strong> - Updated configuration examples throughout the documentation</li>
</ul>
<h3>Dependencies & Maintenance</h3>
<h4>๐ Dependency Updates</h4>
<ul>
<li><strong>testcontainers</strong> updated to v10.28.0 - Latest testing framework improvements</li>
<li><strong>globals</strong> updated to v16.2.0 - Enhanced JavaScript globals definitions</li>
<li><strong>Automated maintenance</strong> - Renovate bot ensures dependencies stay current and secure</li>
</ul>
<h2>Technical Details</h2>
<h3>What's Changed</h3>
<ul>
<li><strong>adds support for new gemini models with thinking budget</strong> <a href="https://github.com/icereed/paperless-gpt/pull/441" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/441/hovercard">#441</a></li>
<li><strong>refactor: Add XML-like separators to LLM prompts for improved parsing</strong> <a href="https://github.com/icereed/paperless-gpt/pull/442" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/442/hovercard">#442</a></li>
<li><strong>fix: the split pdf logic to be consistent with the output from pdfcpu</strong> <a href="https://github.com/icereed/paperless-gpt/pull/435" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/435/hovercard">#435</a></li>
<li><strong>doc: mention qwen3:8b instead of deepseek-r1:8b</strong> <a href="https://github.com/icereed/paperless-gpt/pull/439" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/439/hovercard">#439</a></li>
<li><strong>chore(deps): update dependency testcontainers to v10.28.0</strong> <a href="https://github.com/icereed/paperless-gpt/pull/425" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/425/hovercard">#425</a></li>
<li><strong>chore(deps): update dependency globals to v16.2.0</strong> <a href="https://github.com/icereed/paperless-gpt/pull/428" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/428/hovercard">#428</a></li>
</ul>
<h3>Contributors</h3>
<p>Special thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/thiswillbeyourgithub/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/thiswillbeyourgithub">@thiswillbeyourgithub</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dawidkulpa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dawidkulpa">@dawidkulpa</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/moarsmokes/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/moarsmokes">@moarsmokes</a> for their contributions to this release!</p>
<h3>Configuration Notes</h3>
<ul>
<li>For Google Gemini AI: Set environment variables for <code>GOOGLE_AI_API_KEY</code> and configure <code>LLM_PROVIDER: "googleai"</code></li>
<li>No breaking changes - existing configurations continue to work as expected</li>
<li>Consider updating to <code>qwen3:8b</code> model if using Ollama for better performance</li>
</ul>
<hr>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/thiswillbeyourgithub/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/thiswillbeyourgithub">@thiswillbeyourgithub</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3101222034" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/439" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/439/hovercard" href="https://github.com/icereed/paperless-gpt/pull/439">#439</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/moarsmokes/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/moarsmokes">@moarsmokes</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3098547092" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/435" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/435/hovercard" href="https://github.com/icereed/paperless-gpt/pull/435">#435</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/icereed/paperless-gpt/compare/v0.19.0...v0.20.0"><tt>v0.19.0...v0.20.0</tt></a></p>icereedtag:github.com,2008:Repository/861746639/v0.19.02025-05-21T03:46:14ZFlexible OCR Processing Modes<h2>Release Highlights โ v0.19.0</h2>
<h3>New: Flexible OCR Processing Modes</h3>
<p><code>paperless-gpt</code> now offers three distinct OCR processing modes, allowing you to optimize document processing based on your OCR provider and performance needs:</p>
<ul>
<li>
<p><strong>Image Mode</strong> <em>(default)</em><br>
Converts each PDF page into an image before OCR.<br>
<em>Best for</em>: Maximum compatibility with all OCR providers.<br>
<em>Configure via</em>: <code>OCR_PROCESS_MODE: "image"</code></p>
</li>
<li>
<p><strong>PDF Mode</strong><br>
Processes individual PDF pages directly, without image conversion.<br>
<em>Best for</em>: Preserving PDF structure and improving speed or accuracy with native PDF-compatible providers.<br>
<em>Configure via</em>: <code>OCR_PROCESS_MODE: "pdf"</code></p>
</li>
<li>
<p><strong>Whole PDF Mode</strong><br>
Sends the entire PDF as a single document for OCR.<br>
<em>Best for</em>: Providers optimized for multi-page processing and reduced API calls.<br>
<em>Configure via</em>: <code>OCR_PROCESS_MODE: "whole_pdf"</code><br>
<em>Note</em>: Large PDFs may exceed your provider's API limitsโswitch to <code>pdf</code> mode if issues occur.</p>
</li>
</ul>
<h3>Enhancements & Fixes</h3>
<ul>
<li><strong>New Feature</strong>: Native PDF processing support for OCR <a href="https://github.com/icereed/paperless-gpt/pull/406" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/406/hovercard">#406</a></li>
<li><strong>Fix</strong>: Azure OpenAI LLM integration <a href="https://github.com/icereed/paperless-gpt/pull/398" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/398/hovercard">#398</a></li>
<li><strong>Dependency Updates</strong>:
<ul>
<li>Core libraries: React, TypeScript, Node.js types, ESLint</li>
<li>Backend: Gin, GORM, Google API modules, <code>ocrchestra</code> digest updates</li>
<li>Build & test tools: Go 1.24.3, Docker images, Testcontainers</li>
</ul>
</li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/icereed/paperless-gpt/compare/v0.18.0...v0.19.0">v0.18.0...v0.19.0</a></p>icereedtag:github.com,2008:Repository/861746639/v0.18.02025-05-05T15:34:40Z"Workflow Greatness" - Automated Document Processing Pipeline ๐<h2>"Workflow Greatness" - Automated Document Processing Pipeline ๐</h2>
<h3>New Features ๐</h3>
<ol>
<li>OCR Completion Tags
<ul>
<li>Automatically tag documents after OCR processing is complete using <code>PDF_OCR_COMPLETE_TAG</code></li>
<li>Enable workflow automations based on OCR completion status</li>
<li>Works seamlessly with all OCR providers</li>
</ul>
</li>
</ol>
<h3>Quick Setup Guide ๐ ๏ธ</h3>
<div class="highlight highlight-source-yaml notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="environment:
# For automatic OCR processing
AUTO_OCR_TAG: "paperless-gpt-ocr-auto" # Tag documents to trigger automatic OCR
# Enable OCR completion tagging
PDF_OCR_TAGGING: "true"
PDF_OCR_COMPLETE_TAG: "paperless-gpt-ocr-complete" # Tag added after OCR completion"><pre><span class="pl-ent">environment</span>:
<span class="pl-c"><span class="pl-c">#</span> For automatic OCR processing</span>
<span class="pl-ent">AUTO_OCR_TAG</span>: <span class="pl-s"><span class="pl-pds">"</span>paperless-gpt-ocr-auto<span class="pl-pds">"</span></span> <span class="pl-c"><span class="pl-c">#</span> Tag documents to trigger automatic OCR</span>
<span class="pl-c"><span class="pl-c">#</span> Enable OCR completion tagging</span>
<span class="pl-ent">PDF_OCR_TAGGING</span>: <span class="pl-s"><span class="pl-pds">"</span>true<span class="pl-pds">"</span></span>
<span class="pl-ent">PDF_OCR_COMPLETE_TAG</span>: <span class="pl-s"><span class="pl-pds">"</span>paperless-gpt-ocr-complete<span class="pl-pds">"</span></span> <span class="pl-c"><span class="pl-c">#</span> Tag added after OCR completion</span></pre></div>
<h3>How It Works ๐</h3>
<ol>
<li>Tag a document with <code>paperless-gpt-ocr-auto</code> to queue it for OCR processing</li>
<li>Document is processed using your configured OCR provider</li>
<li>Upon completion, the document is automatically tagged with <code>paperless-gpt-ocr-complete</code></li>
<li>Use these tags to trigger further automations or workflows</li>
</ol>
<h3>Technical Improvements โ๏ธ</h3>
<ul>
<li>Enhanced test coverage for OCR workflow automation</li>
<li>Improved document processor architecture</li>
<li>Optimized test execution with parallel workers</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>Fix OCR completion tag and adds OCR document processing E2E test by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/icereed/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/icereed">@icereed</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3039035121" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/379" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/379/hovercard" href="https://github.com/icereed/paperless-gpt/pull/379">#379</a></li>
<li>fix(deps): update module gorm.io/gorm to v1.26.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3038933210" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/377" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/377/hovercard" href="https://github.com/icereed/paperless-gpt/pull/377">#377</a></li>
<li>chore(deps): update dependency vite to v6.3.5 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3039604690" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/381" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/381/hovercard" href="https://github.com/icereed/paperless-gpt/pull/381">#381</a></li>
<li>chore(deps): update dependency @types/react-dom to v19.1.3 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3037596604" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/365" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/365/hovercard" href="https://github.com/icereed/paperless-gpt/pull/365">#365</a></li>
<li>chore(deps): update dependency typescript-eslint to v8.31.1 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2983031409" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/337" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/337/hovercard" href="https://github.com/icereed/paperless-gpt/pull/337">#337</a></li>
<li>fix(deps): update module cloud.google.com/go/documentai to v1.37.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3037877001" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/373" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/373/hovercard" href="https://github.com/icereed/paperless-gpt/pull/373">#373</a></li>
<li>chore(deps): update eslint monorepo to v9.26.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2973174136" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/332" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/332/hovercard" href="https://github.com/icereed/paperless-gpt/pull/332">#332</a></li>
<li>chore(deps): update dependency eslint-plugin-react-refresh to v0.4.20 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3010509210" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/349" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/349/hovercard" href="https://github.com/icereed/paperless-gpt/pull/349">#349</a></li>
<li>fix(deps): update github.com/gardar/ocrchestra digest to 5fe7a0d by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3038929444" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/376" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/376/hovercard" href="https://github.com/icereed/paperless-gpt/pull/376">#376</a></li>
<li>fix(deps): update module golang.org/x/sync to v0.14.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3039649462" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/382" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/382/hovercard" href="https://github.com/icereed/paperless-gpt/pull/382">#382</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/icereed/paperless-gpt/compare/v0.17.0...v0.17.1"><tt>v0.17.0...v0.17.1</tt></a></p>icereedtag:github.com,2008:Repository/861746639/v0.17.02025-05-05T08:27:55Z"Mistral Magic" - Smarter OCR, Sharper PDFs ๐<h2>Major Features</h2>
<h3>๐ค Mistral AI Integration</h3>
<ul>
<li>Added Mistral AI as a new provider for both OCR and LLM capabilities</li>
<li>Integrated Vision models for adaptable document processing</li>
<li>Added dedicated OCR service optimized for document processing</li>
<li>Included configuration options for OCR methods</li>
<li>Enhanced rate limiting with retry mechanisms for stable API interaction</li>
</ul>
<h3>๐ PDF Processing Improvements</h3>
<ul>
<li>Implemented intelligent PDF page extraction with size optimization</li>
<li>Added smart dimension limits (10K pixels max per side, 40MP total)</li>
<li>Introduced adaptive JPEG quality adjustment (85-60 range)</li>
<li>Added intelligent resizing based on target file size</li>
<li>Fixed issues with oversized PDF page extractions</li>
</ul>
<h2>Technical Improvements</h2>
<h3>โก Performance</h3>
<ul>
<li>Implemented rate limiting and retry controls for LLM requests</li>
<li>Added configurable rate limits via environment variables</li>
<li>Optimized image processing for better resource utilization</li>
</ul>
<h3>๐งช Testing & Documentation</h3>
<ul>
<li>Added comprehensive tests for Mistral OCR provider</li>
<li>Added tests for rate-limited LLM client behavior</li>
<li>Expanded test coverage for image processing and error scenarios</li>
<li>Added documentation for Mistral integration and configuration</li>
</ul>
<h2>PRs</h2>
<ul>
<li>fix: oversized PDF page extractions by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gardar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gardar">@gardar</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3034972832" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/362" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/362/hovercard" href="https://github.com/icereed/paperless-gpt/pull/362">#362</a></li>
<li>fix(deps): update module github.com/gabriel-vasile/mimetype to v1.4.9 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3010808529" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/351" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/351/hovercard" href="https://github.com/icereed/paperless-gpt/pull/351">#351</a></li>
<li>chore(deps): update dependency dotenv to v16.5.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2990535523" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/343" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/343/hovercard" href="https://github.com/icereed/paperless-gpt/pull/343">#343</a></li>
<li>fix(deps): update dependency @headlessui/react to v2.2.2 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3010807229" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/350" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/350/hovercard" href="https://github.com/icereed/paperless-gpt/pull/350">#350</a></li>
<li>chore(deps): update dependency @types/node to v22.15.3 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2990535368" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/342" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/342/hovercard" href="https://github.com/icereed/paperless-gpt/pull/342">#342</a></li>
<li>fix(deps): update github.com/gardar/ocrchestra digest to 2d28866 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3037596232" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/364" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/364/hovercard" href="https://github.com/icereed/paperless-gpt/pull/364">#364</a></li>
<li>chore(deps): update dependency testcontainers to v10.25.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3037674666" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/369" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/369/hovercard" href="https://github.com/icereed/paperless-gpt/pull/369">#369</a></li>
<li>chore(deps): update dependency @playwright/test to v1.52.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3037648139" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/367" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/367/hovercard" href="https://github.com/icereed/paperless-gpt/pull/367">#367</a></li>
<li>chore(deps): update dependency @vitejs/plugin-react-swc to v3.9.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3037648204" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/368" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/368/hovercard" href="https://github.com/icereed/paperless-gpt/pull/368">#368</a></li>
<li>fix(deps): update dependency axios to v1.9.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3037871413" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/372" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/372/hovercard" href="https://github.com/icereed/paperless-gpt/pull/372">#372</a></li>
<li>Adds Mistral AI integration for OCR and LLM by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/icereed/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/icereed">@icereed</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3037647968" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/366" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/366/hovercard" href="https://github.com/icereed/paperless-gpt/pull/366">#366</a></li>
<li>chore(deps): update dependency vite to v6.3.4 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3037871021" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/371" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/371/hovercard" href="https://github.com/icereed/paperless-gpt/pull/371">#371</a></li>
<li>fix(deps): update module google.golang.org/api to v0.231.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3037877091" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/374" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/374/hovercard" href="https://github.com/icereed/paperless-gpt/pull/374">#374</a></li>
<li>fix(deps): update dependency react-router-dom to v7.5.3 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2973528452" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/334" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/334/hovercard" href="https://github.com/icereed/paperless-gpt/pull/334">#334</a></li>
<li>fix(deps): update dependency react-tooltip to v5.28.1 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2983031850" data-permission-text="Title is private" data-url="https://github.com/icereed/paperless-gpt/issues/338" data-hovercard-type="pull_request" data-hovercard-url="/icereed/paperless-gpt/pull/338/hovercard" href="https://github.com/icereed/paperless-gpt/pull/338">#338</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/icereed/paperless-gpt/compare/v0.16.0...v0.17.0"><tt>v0.16.0...v0.17.0</tt></a></p>icereed