stirling-tools/stirling-pdf
#1 PDF Application on GitHub that lets you edit PDFs on any device anywhere
How stirling-pdf is put together
Stirling-PDF is an open-core, self-hosted PDF platform offering 50+ tools (edit, merge, sign, redact, OCR, convert) via a REST API and web UI. The backend is a modular Gradle multi-module Spring Boot application (app/common, app/core, app/proprietary, app/saas) whose main class is stirling.software.SPDF.SPDFApplication, serving on port 8080. A separate Python 3.13 FastAPI 'AI document engine' service (engine/) provides AI/document-intelligence features backed by Postgres/pgvector or SQLite vector stores. The frontend is a layered React/TypeScript editor SPA (core/proprietary/cloud/desktop/portal/saas layers under frontend/editor/src) built with Vite, shipped both as a browser app and a Tauri desktop client. Deployment is Docker-first with multiple image flavors (fat, ultra-lite, unified frontend/backend) plus nginx-served frontend containers, and the repo carries extensive compose-based test stacks including Keycloak SSO scenarios.
Languages
Frameworks
Datastores
Infrastructure
Major components
app/core
Core open-source Spring Boot backend implementing the PDF processing tools and REST API.
app/common
Shared library code and resources for all backend modules, including generated version.properties.
app/proprietary
Licensed (open-core) proprietary backend features such as enterprise SSO/SAML capabilities.
app/saas
SaaS-only backend module included only in SaaS builds.
engine/
Python FastAPI AI document-engine microservice with LLM providers (Anthropic/OpenAI via pydantic-ai), embeddings/vector search, and telemetry.
frontend/editor
Layered React/TypeScript editor SPA (core, proprietary, cloud, desktop, portal, saas layers) built with Vite and packaged as browser app and Tauri desktop client.
docker/
Dockerfiles and compose files for base/backend/frontend/embedded/unoserver images in multiple flavors (fat, ultra-lite, unified).
testing/
Integration/E2E harnesses: Cucumber-behave suites, compose stacks with Keycloak OAuth/SAML/MCP realms, multinode regression, and endpoint smoke scripts.
A quieter week focused on form field editing, review-flow notifications, and code-quality cleanups.
5 weeksWeek of 2026-08-24
Week of 2026-08-24latest
A quieter week focused on form field editing, review-flow notifications, and code-quality cleanups.
Week of 2026-08-17
A busy release week (v2.14.3) with mobile-friendly menus, file actions, and lots of dependency and CI automation.
Week of 2026-08-10
Big infrastructure and UX week: super search, pipeline redesigns, encryption groundwork, and a modern logo.
Week of 2026-08-03
Localization and linting overhaul: translations everywhere, Oxlint replacing ESLint, and measurement scale support.
Week of 2026-07-27
Security and pipelines took center stage: encrypted file storage, a new Auto Rotate tool, and simplified pipeline inputs.
Over the past month Stirling PDF has been pushing hard on its editor and pipeline tooling: form field editing, a new Auto Rotate tool, super search across the Editor and Processor, and a redesigned pipeline composer all landed. A recurring 'Review Flow' effort is making failures visible to the right people via notifications and shared queues. Alongside the features there was steady housekeeping — dependency bumps, faster CI caching, accessibility fixes, translation updates, and a switch to newer linting tools (Oxlint/Oxfmt).
Week by week
2026-08-24A quieter week focused on form field editing, review-flow notifications, and code-quality cleanups.latest6 changes
Feature
Form field editing
Users can now edit fillable PDF form fields directly in the app.
Feature
Failure notifications in a bell icon
Recorded failures now surface in a notification bell so users can see what went wrong (part of the Review Flow work).
Refactor
Smarter AI classification
Document classification now runs locally first and only escalates uncertain cases to the AI, saving cost and time.
Fix
Documents tab fix in Processor
Fixed a broken Documents tab in the Processor interface.
Chore
Switched to Oxfmt for formatting
Replaced the Prettier code formatter with the faster Oxfmt tool.
Chore
Docker build cleanup
Python virtual environments are excluded from Docker builds, keeping images leaner.
2026-08-17A busy release week (v2.14.3) with mobile-friendly menus, file actions, and lots of dependency and CI automation.6 changes
Feature
Mobile-friendly editor and settings
The editor and settings menus were reworked to work better on phones, including a searchable tool list.
Feature
File actions menu additions
Added download, rename, and duplicate options to the file actions menu.
Fix
Invite links fixed
Anonymous visitors can now open team invite pages without being blocked by login requirements.
Fix
Billing currency fix
Money amounts in billing are always formatted in US style to avoid confusing number formats.
Chore
Automated Gradle and Docker updates
New CI automation keeps build tools and Docker base images up to date automatically.
Chore
PDF/UA converter testing
Added testing coverage for the accessible-PDF conversion feature.
2026-08-10Big infrastructure and UX week: super search, pipeline redesigns, encryption groundwork, and a modern logo.6 changes
Feature
Super search across Editor and Processor
A unified search lets users quickly find tools and actions across both the Editor and Processor.
Refactor
Pipeline page redesigns
The New/Edit Pipeline screens got cleaner top bars and a consistent visual style, plus better filtering of what counts as a pipeline.
Feature
n8n integration preset
Added a connection preset and workflow step operations for the popular n8n automation platform.
Fix
Faster text redaction
Replaced the old redaction engine with JPDFium for more reliable text removal from PDFs.
Chore
Modern default branding
Switched the app's default look to the modern Stirling logo.
Fix
Cross-browser PDF fixes
Fixed WebKit-specific PDF rendering and storage failures, now caught automatically in CI tests.
2026-08-03Localization and linting overhaul: translations everywhere, Oxlint replacing ESLint, and measurement scale support.6 changes
Feature
Measurement scales for architectural drawings
Added support for architectural drawing measurement scales when working with plans.
Chore
Oxlint replaces ESLint
Swapped the ESLint linter (and dpdm) for the much faster Oxlint tool.
Docs
Translation push
Updated all translations, localized hardcoded UI strings, and improved German and Italian translations.
Fix
File persistence fix
Files keep saving correctly even when the browser's local storage refuses certain data types.
Refactor
Version timeline redesign
Redesigned the version history timeline UI for clarity.
Fix
Circular dependency fix
Untangled a hidden circular dependency in the watched-folders feature that could cause startup issues.
2026-07-27Security and pipelines took center stage: encrypted file storage, a new Auto Rotate tool, and simplified pipeline inputs.6 changes
Feature
Encryption at rest for stored files
Stored files are now encrypted on disk per team, protecting documents even if storage is compromised.
Feature
Auto Rotate tool
A new tool detects and automatically corrects sideways or upside-down pages, and its settings are editable in the pipeline composer.
Refactor
Simplified pipeline inputs
Pipelines now take exactly one input and produce one output, making them easier to understand and chain.
Chore
Multi-node cluster regression suite
Added end-to-end tests that run against a multi-server setup to catch clustering bugs early.
Fix
Atomic user provisioning
Creating a new user and their personal workspace now happens as one all-or-nothing step, avoiding half-created accounts.
Refactor
Faster config sorting
Speeded up configuration file sorting from about 40 seconds down to roughly 2 seconds.
Dependencies and code review
Dependency advisories
Security Watch
No known advisories across 0 scanned dependencies.
No known advisories in the scanned dependencies.
Code review
No concrete code-level issues confirmed.
Get this report every week for your repos.
GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.
$19 a month, flat · First 10 outputs free · No card required