David Nguyen
1f985e2cd3
fix: invalid po translations ( #2567 )
2026-03-05 14:54:36 +11:00
Konrad
525dd92a56
fix(i18n): mark SUBSCRIPTION_STATUS_MAP for translation ( #2515 )
2026-03-05 14:42:40 +11:00
github-actions[bot]
8b0231825f
chore: extract translations ( #2539 )
2026-03-05 14:11:53 +11:00
Lucas Smith
7f5f2b22ed
feat: add seal-document sweep job and admin unsealed documents page ( #2563 )
2026-03-05 13:56:40 +11:00
Catalin Pit
f1323679aa
fix: use default field meta for embedding template fields ( #2556 )
2026-03-03 22:24:57 +11:00
Lucas Smith
f8ac782f2e
deps: 2026-02-26 upgrades ( #2545 )
2026-02-26 14:17:08 +11:00
Lucas Smith
0d3bd59ec6
fix: handle cjk and special chars when slugifying ( #2544 )
2026-02-26 13:54:35 +11:00
Konrad
92d82c0423
fix(i18n): mark supported languages for translation ( #2377 )
2026-02-26 12:06:18 +11:00
Lucas Smith
484e1c20d0
chore: add translations ( #2533 )
2026-02-26 11:50:08 +11:00
Lucas Smith
c112392da9
feat: add admin email domain management and sync job ( #2538 )
2026-02-25 15:14:18 +11:00
github-actions[bot]
bc72d9cb17
chore: extract translations ( #2505 )
2026-02-24 22:07:03 +11:00
Lucas Smith
653ab3678a
feat: better ratelimiting ( #2520 )
...
Replace hono-rate-limiter with a Prisma/PostgreSQL bucketed counter
approach that works correctly across multiple instances without sticky
sessions.
- Add RateLimit model with composite PK (key, action, bucket) and atomic
upsert
- Create rate limit factory with window parsing, bucket computation, and
fail-open
- Define auth-tier and API-tier rate limit instances
- Add Hono middleware, rateLimitResponse helper, and tRPC
assertRateLimit helper
- Wire rate limit headers through AppError constructor (was declared but
never assigned)
- Apply rate limits to auth routes (email-password, passkey), tRPC
routes
(2FA email, link org account), API routes, and file upload endpoints
- Add cleanup cron job for expired rate limit rows (batched delete every
15 min)
- Remove hono-rate-limiter dependency
2026-02-20 12:23:02 +11:00
Lucas Smith
006b1d0a57
feat: per-recipient envelope expiration ( #2519 )
2026-02-20 11:36:20 +11:00
Lucas Smith
6fcf0a638c
chore: add translations ( #2507 )
2026-02-17 11:31:37 +11:00
Lucas Smith
a60c6a90ab
chore: add translations ( #2504 )
2026-02-16 16:10:43 +11:00
github-actions[bot]
f35c19d098
chore: extract translations ( #2458 )
2026-02-16 14:34:33 +11:00
Lucas Smith
2e3d22c856
fix: use instance-specific emails for service accounts ( #2502 )
2026-02-16 11:52:19 +11:00
Ephraim Duncan
d66c330d46
fix: match cert and audit log page dimensions to source document ( #2473 )
2026-02-12 18:25:11 +11:00
David Nguyen
0d65693d55
fix: highlight rejected certificate text ( #2478 )
...
## Description
- Update the rejected certificate so that is it more clear on who
rejected the document.
- Updated the audit log generation so that the completed audit log is
included
### Before
<img width="681" height="597" alt="image"
src="https://github.com/user-attachments/assets/3dab41c1-c86f-4555-8d50-3d9245be65d5 "
/>
### After
Note that the order of the recipient is different in this case
<img width="818" height="769" alt="image"
src="https://github.com/user-attachments/assets/71f0ac12-5859-47b4-8980-2420ef949d18 "
/>
---------
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com >
Co-authored-by: Lucas Smith <me@lucasjamessmith.me >
2026-02-12 16:06:43 +11:00
Lucas Smith
e3dee5e565
fix: auto placement field meta ( #2480 )
2026-02-12 14:20:52 +11:00
Catalin Pit
f1c91c4951
fix: bulk actions improvements ( #2440 )
2026-02-10 20:13:03 +11:00
github-actions[bot]
d91414697d
chore: extract translations ( #2429 )
2026-02-09 17:30:46 +11:00
Konrad
e222a872d2
fix(i18n): rewrite audit log messages to support correct grammar ( #2455 )
2026-02-09 13:20:12 +11:00
Ephraim Duncan
e3b0087be6
feat: create plain customer ( #2442 )
...
Co-authored-by: Catalin Pit <catalinpit@gmail.com >
2026-02-09 11:24:45 +11:00
Lucas Smith
1669216a91
fix: flatten pdf-lib form fields before sealing document ( #2441 )
...
- Fixes checkbox fields not displaying correctly in sealed documents by
calling `flatten()` on the pdf-lib form before saving
2026-02-03 14:24:23 +11:00
Lucas Smith
594a0f0c3f
fix: store formValues in database when creating document from template ( #2437 )
2026-02-02 11:36:06 +11:00
David Nguyen
97ceb317a8
fix: license banner not correctly showing ( #2432 )
2026-01-29 15:09:23 +11:00
David Nguyen
c83109628d
fix: add license logging ( #2431 )
2026-01-29 14:08:36 +11:00
David Nguyen
1b0df2d082
feat: add license integration ( #2346 )
...
Changes:
- Adds integration for the license server.
- Prevent adding flags that the instance is not allowed to add
2026-01-29 13:30:48 +11:00
Catalin Pit
d18dcb4d60
feat: autoplace fields from placeholders ( #2111 )
...
This PR introduces automatic detection and placement of fields and
recipients based on PDF placeholders.
The placeholders have the following structure:
- `{{fieldType,recipientPosition,fieldMeta}}`
- `{{text,r1,required=true,textAlign=right,fontSize=50}}`
When the user uploads a PDF document containing such placeholders, they
get converted automatically to Documenso fields and assigned to
recipients.
2026-01-29 13:13:45 +11:00
github-actions[bot]
53b0131740
chore: extract translations ( #2418 )
2026-01-28 21:25:23 +11:00
misha
8bc4f1a713
fix: exclude soft-deleted documents from folder count ( #2410 )
2026-01-28 13:07:57 +11:00
Lucas Smith
6028ad9158
chore: add translations ( #2412 )
...
Co-authored-by: Crowdin Bot <support+bot@crowdin.com >
2026-01-27 15:44:01 +11:00
Jorge Ramirez
17b261df1f
fix(api): add take parameter to template search query for pagination ( #2396 )
...
This PR fixes a bug in the `/api/v2/template` endpoint where the
pagination parameter `perPage` was being ignored. Previously, the
endpoint would return all matching templates regardless of the requested
limit, which could lead to performance issues and incorrect API
behavior.
2026-01-27 15:00:37 +11:00
Lucas Smith
0a3e0b8727
feat: validate signers have signature fields before distribution ( #2411 )
...
API users were inadvertently sending documents without signature fields,
causing confusion for recipients and breaking their signing flows.
- Add getRecipientsWithMissingFields helper in recipients.ts
- Add server-side validation in sendDocument to block distribution
- Fix v1 API to return 400 instead of 500 for validation errors
- Consolidate UI signature field checks to use isSignatureFieldType
- Add E2E tests for both v1 and v2 APIs
2026-01-26 15:22:12 +11:00
github-actions[bot]
b538580a1e
chore: extract translations ( #2380 )
2026-01-26 12:21:02 +11:00
Lucas Smith
9035240b4d
refactor: replace pdf-sign with libpdf/core for PDF operations ( #2403 )
...
Migrate from @documenso/pdf-sign and @cantoo/pdf-lib to @libpdf/core
for all PDF manipulation and signing operations. This includes:
- New signing transports for Google Cloud KMS and local certificates
- Consolidated PDF operations using libpdf API
- Added TSA (timestamp authority) helper for digital signatures
- Removed deprecated flatten and insert utilities
- Updated tests to use new PDF library
2026-01-21 15:16:23 +11:00
Ephraim Duncan
ed7a0011c7
fix: sync envelope state after direct link changes ( #2257 )
2026-01-21 14:43:24 +11:00
Lucas Smith
fabd69bd62
build: upgrade simplewebauthn packages from v9 to v13 ( #2389 )
...
The v9 packages are deprecated. This updates to v13 which includes
breaking API changes: optionsJSON wrapper for auth functions,
renamed properties (authenticator→credential), and base64 encoding
for credential IDs via isoBase64URL helper.
2026-01-15 14:22:37 +11:00
Lucas Smith
c976e747e3
fix: dont flatten forms for templates ( #2386 )
...
Templates shouldn't have their form flattened until they're
converted to a document.
2026-01-14 12:06:28 +11:00
Karlo
db913e95b6
fix: downgrade pdfjs-dist to version 5.4.296 and update react-pdf to version 10.3.0 ( #2383 )
2026-01-13 21:01:29 +11:00
Catalin Pit
bb3e9583e4
feat: add default recipients for teams and orgs ( #2248 )
2026-01-13 20:32:00 +11:00
Lucas Smith
06d7849146
chore: add translations ( #2373 )
2026-01-13 14:34:26 +11:00
github-actions[bot]
cf6f6bcea0
chore: extract translations ( #2363 )
2026-01-13 12:49:05 +11:00
Konrad
912530ca17
fix: mark document visibility options for translation ( #2330 )
2026-01-12 10:17:03 +11:00
Konrad
a995961c4e
fix: mark document auth types for translation ( #2331 )
2026-01-12 09:28:16 +11:00
Ted Liang
7b6e948aa2
refactor: reuse svgToPng function ( #2365 )
2026-01-08 11:30:45 +11:00
Lucas Smith
c861dd2ee2
chore: add translations ( #2362 )
2026-01-06 15:54:54 +11:00
github-actions[bot]
7eabae4b4b
chore: extract translations ( #2351 )
2026-01-06 15:36:46 +11:00
David Nguyen
c2ea5e5859
fix: migrate certificate generation ( #2251 )
...
Generate certificates and audit logs using Konva instead of browserless.
This should:
- Reduce the changes of generations failing
- Improve sealing speed
2026-01-06 14:26:19 +11:00