James Brunton and GitHub
b130242688
Add Java orchestrator to connect to the AI engine ( #6003 )
...
# Description of Changes
Add Java orchestration layer which can connect and go back and forth
with the AI engine to get results for the user. It's expected that the
AI engine will not be publicly available and this Java layer will always
be in front of it, to manage sessions and auth etc.
2026-04-09 08:04:38 +00:00
ebab5a4456
pipeline fixes ( #6068 )
...
Co-authored-by: a <a>
2026-04-04 10:19:38 +01:00
Reece Browne and GitHub
436c8cbed2
Line seperator fix for redaction drift ( #6064 )
2026-04-03 17:47:48 +01:00
Anthony Stirling and GitHub
81dc90cd6d
possible fix permission issues and fix thread timing issues ( #6061 )
...
# Description of Changes
<!--
Please provide a summary of the changes, including:
- What was changed
- Why the change was made
- Any challenges encountered
Closes #(issue_number)
-->
---
## Checklist
### General
- [ ] I have read the [Contribution
Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md )
- [ ] I have read the [Stirling-PDF Developer
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md )
(if applicable)
- [ ] I have read the [How to add new languages to
Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md )
(if applicable)
- [ ] I have performed a self-review of my own code
- [ ] My changes generate no new warnings
### Documentation
- [ ] I have updated relevant docs on [Stirling-PDF's doc
repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/ )
(if functionality has heavily changed)
- [ ] I have read the section [Add New Translation
Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags )
(for new translation tags only)
### Translations (if applicable)
- [ ] I ran
[`scripts/counter_translation.py`](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/docs/counter_translation.md )
### UI Changes (if applicable)
- [ ] Screenshots or videos demonstrating the UI changes are attached
(e.g., as comments or direct attachments in the PR)
### Testing (if applicable)
- [ ] I have tested my changes locally. Refer to the [Testing
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing )
for more details.
2026-04-03 16:49:16 +01:00
Anthony Stirling and GitHub
3c48740c5e
dep updates ( #6058 )
2026-04-03 13:24:41 +01:00
Dexterity and GitHub
fca40e5544
Fix image stamp cropping and align preview with PDF output for add-stamp ( #6013 )
2026-04-02 17:54:13 +01:00
Anthony Stirling and GitHub
c9a70f3754
removeffmpeg ( #6053 )
2026-04-02 17:40:02 +01:00
de9625942b
Pipeline changes and version bump ( #6047 )
...
# Description of Changes
<!--
Please provide a summary of the changes, including:
- What was changed
- Why the change was made
- Any challenges encountered
Closes #(issue_number)
-->
---
## Checklist
### General
- [ ] I have read the [Contribution
Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md )
- [ ] I have read the [Stirling-PDF Developer
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md )
(if applicable)
- [ ] I have read the [How to add new languages to
Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md )
(if applicable)
- [ ] I have performed a self-review of my own code
- [ ] My changes generate no new warnings
### Documentation
- [ ] I have updated relevant docs on [Stirling-PDF's doc
repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/ )
(if functionality has heavily changed)
- [ ] I have read the section [Add New Translation
Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags )
(for new translation tags only)
### Translations (if applicable)
- [ ] I ran
[`scripts/counter_translation.py`](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/docs/counter_translation.md )
### UI Changes (if applicable)
- [ ] Screenshots or videos demonstrating the UI changes are attached
(e.g., as comments or direct attachments in the PR)
### Testing (if applicable)
- [ ] I have tested my changes locally. Refer to the [Testing
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing )
for more details.
---------
Co-authored-by: a <a>
2026-04-02 12:52:22 +01:00
Anthony Stirling and GitHub
ecd1d3cad3
fix new line in redact ( #6035 )
2026-04-01 11:58:38 +01:00
Anthony Stirling and GitHub
0a098cf7b7
idle cpu fix test ( #6015 )
2026-04-01 11:58:10 +01:00
Anthony Stirling and GitHub
cfa8d1e5d7
qr split fixes ( #6043 )
2026-04-01 11:54:33 +01:00
Anthony Stirling and GitHub
82a3b8c770
Unlock account ( #5984 )
2026-03-30 16:07:57 +01:00
ConnorYoh and GitHub
dd44de349c
Shared Sign Cert Validation ( #5996 )
...
## PR: Certificate Pre-Validation for Document Signing
### Problem
When a participant uploaded a certificate to sign a document, there was
no validation at submission time. If the certificate had the wrong
password, was expired, or was incompatible with the signing algorithm,
the error only surfaced during **finalization** — potentially days
later, after all other participants had signed. At that point the
session is stuck with no way to recover.
Additionally, `buildKeystore` in the finalization service only
recognised `"P12"` as a cert type, causing a `400 Invalid certificate
type: PKCS12` error when the **owner** signed using the standard
`PKCS12` identifier.
---
### What this PR does
#### Backend — Certificate pre-validation service
Adds `CertificateSubmissionValidator`, which validates a keystore before
it is stored by:
1. Loading the keystore with the provided password (catches wrong
password / corrupt file)
2. Checking the certificate's validity dates (catches expired and
not-yet-valid certs)
3. Test-signing a blank PDF using the same `PdfSigningService` code path
as finalization (catches algorithm incompatibilities)
This runs on both the participant submission endpoint
(`WorkflowParticipantController`) and the owner signing endpoint
(`SigningSessionController`), so both flows are protected.
#### Backend — Bug fix
`SigningFinalizationService.buildKeystore` now accepts `"PKCS12"` and
`"PFX"` as aliases for `"P12"`, consistent with how the validator
already handles them. This fixes a `400` error when the owner signed
using the `PKCS12` cert type.
#### Frontend — Real-time validation feedback
`ParticipantView` gains a debounced validation call (600ms) triggered
whenever the cert file or password changes. The UI shows:
- A spinner while validating
- Green "Certificate valid until [date] · [subject name]" on success
- Red error message on failure (wrong password, expired, not yet valid)
- The submit button is disabled while validation is in flight
#### Tests — Three layers
| Layer | File | Coverage |
|---|---|---|
| Service unit | `CertificateSubmissionValidatorTest` | 11 tests — valid
P12/JKS, wrong password, corrupt bytes, expired, not-yet-valid, signing
failure, cert type aliases |
| Controller unit | `WorkflowParticipantValidateCertificateTest` | 4
tests — valid cert, invalid cert, missing file, invalid token |
| Controller integration | `CertificateValidationIntegrationTest` | 6
tests — real `.p12`/`.jks` files through the full controller → validator
stack |
| Frontend E2E | `CertificateValidationE2E.spec.ts` | 7 Playwright tests
— all feedback states, button behaviour, SERVER type bypass |
#### CI
- **PR**: Playwright runs on chromium when frontend files change (~2-3
min)
- **Nightly / on-demand**: All three browsers (chromium, firefox,
webkit) at 2 AM UTC, also manually triggerable via `workflow_dispatch`
2026-03-27 14:01:10 +00:00
28613caf8a
fileshare ( #5414 )
...
Co-authored-by: ConnorYoh <[email protected] >
Co-authored-by: Connor Yoh <[email protected] >
Co-authored-by: EthanHealy01 <[email protected] >
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2026-03-25 11:00:40 +00:00
4858608162
🤖 format everything with pre-commit by stirlingbot ( #5946 )
...
Co-authored-by: stirlingbot[bot] <195170888+stirlingbot[bot]@users.noreply.github.com>
Co-authored-by: Anthony Stirling <[email protected] >
2026-03-24 18:55:37 +00:00
a1f03c844b
Enhance multi-page PDF layout with advanced customization options ( #397 , #3655 ) ( #5859 )
...
Co-authored-by: Copilot <[email protected] >
2026-03-24 17:27:56 +00:00
8bbfbd63d7
feat(security): add RFC 3161 PDF timestamp tool ( #5855 )
...
Co-authored-by: Anthony Stirling <[email protected] >
2026-03-24 17:00:33 +00:00
Anthony Stirling and GitHub
7b3985e34a
FileReadiness ( #5985 )
2026-03-24 15:25:33 +00:00
Anthony Stirling and GitHub
f03f0d4adb
junits ( #5988 )
2026-03-24 14:12:31 +00:00
Anthony Stirling and GitHub
c3fc200c5d
Remove images ( #5966 )
2026-03-24 14:11:27 +00:00
ConnorYoh and GitHub
081b1ec49e
Invite-link-issues ( #5983 )
2026-03-23 19:35:41 +00:00
Anthony Stirling and GitHub
9e8606cab4
XSS for eml and others ( #5967 )
2026-03-20 11:55:23 +00:00
PandaMan and GitHub
2b9f03237a
Fix non-ASCII characters in headers being rejected ( #5377 ) ( #5699 )
2026-03-17 19:23:18 +00:00
7f9bbebe5b
Unify creditCosts.ts files ( #5952 )
...
Co-authored-by: Anthony Stirling <[email protected] >
2026-03-16 22:05:02 +00:00
Anthony Stirling and GitHub
cddc8e6df0
Delete code from invalid license ( #5947 )
2026-03-16 11:01:31 +00:00
Balázs Szücs and GitHub
f384e765fb
feat(http2): add jetty-alpn-java-server dependency for HTTP/2 support ( #5945 )
2026-03-15 20:10:34 +00:00
a2b0d1122c
build(deps): bump step-security/harden-runner from 2.14.0 to 2.15.1 ( #5896 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Anthony Stirling <[email protected] >
2026-03-13 15:39:07 +00:00
34c629dcb4
Update Backend 3rd Party Licenses ( #5930 )
...
Co-authored-by: stirlingbot[bot] <195170888+stirlingbot[bot]@users.noreply.github.com>
2026-03-13 14:32:54 +00:00
4726f42030
Update Backend 3rd Party Licenses ( #5798 )
...
Co-authored-by: stirlingbot[bot] <195170888+stirlingbot[bot]@users.noreply.github.com>
Co-authored-by: Anthony Stirling <[email protected] >
2026-03-13 14:29:27 +00:00
0545c3f997
Cleanup-conversion-translations ( #5906 )
...
Co-authored-by: Anthony Stirling <[email protected] >
2026-03-12 20:23:13 +00:00
Anthony Stirling and GitHub
7c1eb4183b
stop enabling english ( #5874 )
2026-03-06 10:09:51 +00:00
7d640e9ce6
option to hide google drive and add settings ( #5863 )
...
Co-authored-by: EthanHealy01 <[email protected] >
2026-03-06 10:09:33 +00:00
c77242d943
fix: merge pdf pipeline validation ( #5799 )
...
Co-authored-by: RenzoMXD <[email protected] >
2026-03-06 00:14:30 +00:00
Anthony Stirling and GitHub
6c83da6417
Audit fixes and improvements ( #5835 )
2026-03-05 22:00:44 +00:00
Anthony Stirling and GitHub
0f7ee5c5b0
settings menu reworks ( #5864 )
2026-03-05 16:20:20 +00:00
ConnorYoh and GitHub
3e4c984fcc
Add check for ghostscript before plowing on with removeDataOutsideCrop ( #5845 )
2026-03-03 12:52:28 +00:00
fd1b7abc83
refactor(merge,split,json): adopt streaming approach and standardize types, address gradle warnings ( #5803 )
...
Co-authored-by: Anthony Stirling <[email protected] >
Co-authored-by: Balázs <[email protected] >
2026-03-02 21:55:07 +00:00
0c46f77179
build(deps): bump com.sun.xml.bind:jaxb-core from 2.3.0.1 to 4.0.6 ( #5365 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Anthony Stirling <[email protected] >
2026-03-02 16:16:05 +00:00
Anthony Stirling and GitHub
abb8b1f721
Fix health status checks falling under mettric flag ( #5821 )
2026-03-02 13:56:51 +00:00
012bd1af92
hardening ( #5807 )
...
Co-authored-by: Claude Haiku 4.5 <[email protected] >
2026-03-02 13:56:39 +00:00
Anthony Stirling and GitHub
8b25db37ad
fix split cuased by defaultParameters breaking dynamic endpoint tools ( #5838 )
2026-03-02 13:55:58 +00:00
Balázs Szücs and GitHub
48dd4154e9
feat(conversion): switch PDF input engine to pdftohtml for improved performance and reduced dependencies ( #5820 )
2026-03-02 13:55:42 +00:00
Anthony Stirling and GitHub
930d7a0df8
open-saml bumps ( #5805 )
2026-02-27 15:03:12 +00:00
Balázs Szücs and GitHub
7310b75ee6
chore(deps): update dependencies for security ( #5813 )
2026-02-27 10:10:40 +00:00
Anthony Stirling and GitHub
1bac8417af
Harden shared signature endpoints ( #5806 )
2026-02-26 12:53:47 +00:00
Anthony Stirling and GitHub
9438b8db29
DocumentBuilderFactory limiting ( #5797 )
2026-02-25 17:25:31 +00:00
Anthony Stirling and GitHub
c9e7d9d6c9
deps ( #5796 )
2026-02-25 15:42:36 +00:00
2bacb4dc81
cleanups ( #5795 )
...
Co-authored-by: EthanHealy01 <[email protected] >
2026-02-25 15:19:23 +00:00
5c39acecd8
Desktop connection SaaS: config, billing, team support ( #5768 )
...
Co-authored-by: James Brunton <[email protected] >
Co-authored-by: James Brunton <[email protected] >
2026-02-25 14:13:07 +00:00
86072ec91a
Cachefixing test ( #5793 )
...
Co-authored-by: Claude Haiku 4.5 <[email protected] >
2026-02-25 13:44:38 +00:00