David Nguyen
e3b7a9e7cb
feat: add ability to save documents as template ( #2661 )
2026-04-01 16:03:26 +11:00
Lucas Smith
2346de83a6
fix: replace z.string().email() with RFC 5322 compliant zEmail() ( #2656 )
2026-03-26 16:31:21 +11:00
Lucas Smith
814f6e62de
fix: replace z.string().email() with RFC 5322 compliant ZEmail/zEmail ( #2655 )
2026-03-26 13:31:26 +11:00
Catalin Pit
5be71cca21
feat: add option to disable Document created from template ( #2609 )
2026-03-23 15:11:42 +11:00
David Nguyen
48fb066b9a
feat: allow editing pending envelope titles ( #2604 )
2026-03-19 14:03:30 +11:00
David Nguyen
0b605d61c6
feat: add envelope pdf replacement ( #2602 )
2026-03-18 22:53:28 +11:00
Ted Liang
5dcdac7ecd
feat: support language in embedding ( #2364 )
2026-03-18 16:17:23 +11:00
Ephraim Duncan
36bbd97514
feat: add organisation template type ( #2611 )
2026-03-17 01:29:34 +11:00
David Nguyen
2f2b5dd232
feat: allow creating embeds in folder ( #2612 )
...
## Description
Allow passing in a `folderId` when creating an embedded envelope
## Embed repo changes here
https://github.com/documenso/embeds/pull/69/changes
2026-03-13 14:50:14 +11:00
David Nguyen
e67e19358a
fix: add hipaa flag ( #2603 )
2026-03-13 12:06:10 +11:00
David Nguyen
7ea664214a
feat: add embedded envelopes ( #2564 )
...
## Description
Add envelopes V2 embedded support
---------
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2026-03-06 14:11:27 +11:00
David Nguyen
6faa01d384
feat: add pdf image renderer ( #2554 )
...
## Description
Replace the PDF renderer with an custom image renderer.
This allows us to remove the "react-pdf" dependency and allows us to use
a virtual list to improve performance.
2026-03-06 12:39:03 +11:00
Lucas Smith
c112392da9
feat: add admin email domain management and sync job ( #2538 )
2026-02-25 15:14:18 +11:00
Lucas Smith
006b1d0a57
feat: per-recipient envelope expiration ( #2519 )
2026-02-20 11:36:20 +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
Catalin Pit
bb3e9583e4
feat: add default recipients for teams and orgs ( #2248 )
2026-01-13 20:32:00 +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
Ephraim Duncan
aa1cada79b
feat: add find envelopes endpoint ( #2244 )
2025-12-23 22:51:51 +11:00
Catalin Pit
baa2c51123
feat: add delegate document ownership option ( #2272 )
...
When using an API key created in a team context, the
documents/templates’ owner always defaults to the team API token
creator, rather than the actual uploader.
For example, John creates the API key for the team "Lawyers". Tom and
Maria use the API key to upload documents. All the uploaded documents
are attributed to John.
This makes it impossible to see who actually uploaded a document.
The new feature allows users to enable document ownership delegation
from the organization/team settings.
2025-12-23 22:08:54 +11:00
David Nguyen
0cebdec637
fix: remove legacy envelope uploads ( #2303 )
2025-12-11 14:09:38 +11:00
David Nguyen
b51f562224
feat: add empty emails for envelopes ( #2267 )
2025-12-06 13:38:10 +11:00
David Nguyen
2802813c76
fix: add default values for envelope field meta ( #2181 )
...
🙏
2025-11-12 18:22:30 +11:00
Ephraim Duncan
c6b08d8594
feat: org insights ( #1937 )
2025-11-11 12:09:58 +11:00
David Nguyen
9fd9613076
feat: add additional field options ( #2154 )
2025-11-08 23:40:03 +11:00
David Nguyen
d05bfa9fed
feat: add envelopes api ( #2105 )
2025-11-07 14:17:52 +11:00
David Nguyen
5cdd7f8623
fix: envelope styling ( #2102 )
2025-10-27 16:11:10 +11:00
David Nguyen
03eb6af69a
feat: polish envelopes ( #2090 )
...
## Description
The rest of the owl
2025-10-24 16:22:06 +11:00
Lucas Smith
2eebc0e439
feat: add attachments ( #2091 )
2025-10-23 23:07:10 +11:00
Lucas Smith
f15c0778b5
fix: authoring token arg and null email settings
2025-10-21 10:42:44 +11:00
David Nguyen
7f09ba72f4
feat: add envelopes ( #2025 )
...
This PR is handles the changes required to support envelopes. The new
envelope editor/signing page will be hidden during release.
The core changes here is to migrate the documents and templates model to
a centralized envelopes model.
Even though Documents and Templates are removed, from the user
perspective they will still exist as we remap envelopes to documents and
templates.
2025-10-14 21:56:36 +11:00
Lucas Smith
995bc9c362
feat: support 2fa for document completion ( #2063 )
...
Adds support for 2FA when completing a document, also adds support for
using email for 2FA when no authenticator has been associated with the
account.
2025-10-06 16:17:54 +11:00
David Nguyen
9ac7b94d9a
feat: add organisation sso portal ( #1946 )
...
Allow organisations to manage an SSO OIDC compliant portal. This method
is intended to streamline the onboarding process and paves the way to
allow organisations to manage their members in a more strict way.
2025-09-09 17:14:07 +10:00
David Nguyen
c28c5ab91d
chore: correct the email domains documentation ( #1941 )
...
## Description
Update the documentation for email domains
2025-08-07 11:54:41 +10:00
David Nguyen
3409aae411
feat: add email domains ( #1895 )
...
Implemented Email Domains which allows Platform/Enterprise customers to
send emails to recipients using their custom emails.
2025-07-24 16:05:00 +10:00
Lucas Smith
512e3555b4
feat: horizontal checkboxes ( #1911 )
...
Adds the ability to have checkboxes align horizontally, wrapping when
they would go off the PDF
2025-07-19 22:06:50 +10:00
Catalin Pit
122e25b491
feat: test webhook functionality ( #1886 )
2025-07-14 15:13:56 +10:00
David Nguyen
7487399123
feat: add more api logs ( #1870 )
...
Adds more detailed API logging using Pino
2025-06-30 19:46:32 +10:00
David Nguyen
0cc729e9bd
feat: add sequential document view logs ( #1871 )
...
## Description
Add a new document audit log to detect when the document is viewed. This
should only be visible in the document audit log page
Notes:
1. I wanted to reuse the `DOCUMENT_OPENED` event and add an additional
paramter to track sequential views, but it's not query-able
2. This will log "DOCUMENT_VIEWED" before "DOCUMENT_OPENED" but i don't
think it matters
2025-06-30 19:11:16 +10:00
David Nguyen
e6dc237ad2
feat: add organisations ( #1820 )
2025-06-10 11:49:52 +10:00
Lucas Smith
55c8632620
feat: password reauthentication for documents and recipients ( #1827 )
...
Adds password reauthentication to our existing reauth providers,
additionally swaps from an exclusive provider to an inclusive type where
multiple methods can be selected to offer a this or that experience.
2025-06-07 00:27:19 +10:00
Lucas Smith
5e3a2b8f76
fix: allow prefilling date field ( #1794 )
...
Allows the prefilling of date fields when creating a document from a
template.
Current implementation is super dirty and should be replaced asap.
2025-05-14 20:06:53 +10:00
Catalin Pit
17370749b4
feat: add folders ( #1711 )
2025-05-02 02:46:59 +10:00
Ephraim Duncan
bdb0b0ea88
feat: certificate qrcode ( #1755 )
...
Adds document access tokens and QR code functionality to enable secure
document sharing via URLs. It includes a new document access page that
allows viewing and downloading documents through tokenized links.
2025-04-28 11:30:09 +10:00
David Nguyen
193325717d
fix: rework fields ( #1697 )
...
Rework:
- Field styling to improve visibility
- Field insertions, better alignment, centering and overflows
## Changes
General changes:
- Set default text alignment to left if no meta found
- Reduce borders and rings around fields to allow smaller fields
- Removed lots of redundant duplicated code surrounding field rendering
- Make fields more consistent across viewing, editing and signing
- Add more transparency to fields to allow users to see under fields
- No more optional/required/etc colors when signing, required fields
will be highlighted as orange when form is "validating"
Highlighted internal changes:
- Utilize native PDF fields to insert text, instead of drawing text
- Change font auto scaling to only apply to when the height overflows
AND no custom font is set
⚠️ Multiline changes:
Multi line is enabled for a field under these conditions
1. Field content exceeds field width
2. Field includes a new line
3. Field type is TEXT
## [BEFORE] Field UI Signing

## [AFTER] Field UI Signing

## [BEFORE] Signing a checkbox


## [AFTER] Signing a checkbox


## [BEFORE] What a 2nd recipient sees once someone else signed a
document

## [AFTER] What a 2nd recipient sees once someone else signed a document

## **[BEFORE]** Inserting fields

## **[AFTER]** Inserting fields

## Overflows, multilines and field alignments testing
Debugging borders:
- Red border = The original field placement without any modifications
- Blue border = The available space to overflow
### Single line overflows and field alignments
This is left aligned fields, overflow will always go to the end of the
page and will not wrap

This is center aligned fields, the max width is the closest edge to the
page * 2

This is right aligned text, the width will extend all the way to the
left hand side of the page

### Multiline line overflows and field alignments
These are text fields that can be overflowed

Another example of left aligned text overflows with more text

2025-04-23 21:40:42 +10:00
David Nguyen
063fd32f18
feat: add signature configurations ( #1710 )
...
Add ability to enable or disable allowed signature types:
- Drawn
- Typed
- Uploaded
**Tabbed style signature dialog**

**Document settings**

**Team preferences**

- Add multiselect to select allowed signatures in document and templates
settings tab
- Add multiselect to select allowed signatures in teams preferences
- Removed "Enable typed signatures" from document/template edit page
- Refactored signature pad to use tabs instead of an all in one
signature pad
Added E2E tests to check settings are applied correctly for documents
and templates
2025-03-24 17:13:11 +11:00
Lucas Smith
f1525991dc
feat: dictate next signer ( #1719 )
...
Adds next recipient dictation functionality to document signing flow,
allowing assistants and signers to update the next recipient's
information during the signing process.
## Related Issue
N/A
## Changes Made
- Added form handling for next recipient dictation in signing dialogs
- Implemented UI for updating next recipient information
- Added e2e tests covering dictation scenarios:
- Regular signing with dictation enabled
- Assistant role with dictation
- Parallel signing flow
- Disabled dictation state
## Testing Performed
- Added comprehensive e2e tests covering:
- Sequential signing with dictation
- Assistant role dictation
- Parallel signing without dictation
- Form validation and state management
- Tested on Chrome and Firefox
- Verified recipient state updates in database
2025-03-21 13:27:04 +11:00
Catalin Pit
65be37514f
fix: prefill fields ( #1689 )
...
Users can now selectively choose which properties to pre-fill for each
field - from just a label to all available properties.
2025-03-07 09:09:15 +11:00
Catalin Pit
422770a8c7
feat: allow fields prefill when generating a document from a template ( #1615 )
...
This change allows API users to pre-fill fields with values by
passing the data in the request body. Example body for V2 API endpoint
`/api/v2-beta/template/use`:
```json
{
"templateId": 1,
"recipients": [
{
"id": 1,
"email": "signer1@mail.com ",
"name": "Signer 1"
},
{
"id": 2,
"email": "signer2@mail.com ",
"name": "Signer 2"
}
],
"prefillValues": [
{
"id": 14,
"fieldMeta": {
"type": "text",
"label": "my label",
"placeholder": "text placeholder test",
"text": "auto-sign value",
"characterLimit": 25,
"textAlign": "right",
"fontSize": 94,
"required": true
}
},
{
"id": 15,
"fieldMeta": {
"type": "radio",
"label": "radio label",
"placeholder": "new radio placeholder",
"required": false,
"readOnly": true,
"values": [
{
"id": 2,
"checked": true,
"value": "radio val 1"
},
{
"id": 3,
"checked": false,
"value": "radio val 2"
}
]
}
},
{
"id": 16,
"fieldMeta": {
"type": "dropdown",
"label": "dropdown label",
"placeholder": "DD placeholder",
"required": false,
"readOnly": false,
"values": [
{
"value": "option 1"
},
{
"value": "option 2"
},
{
"value": "option 3"
}
],
"defaultValue": "option 2"
}
}
],
"distributeDocument": false,
"customDocumentDataId": ""
}
```
2025-03-06 19:45:33 +11:00
David Nguyen
92db4d68db
fix: cleanup env variables
2025-02-13 20:56:44 +11:00