Skip to content

Commit 7679691

Browse files
committed
Update to version 4.5.0 on 2026-11-07
- New: `Template` has `form_sections`, the web form's sections in order (`TemplateFormSection`: an `id`, a `title`, a `description` and the `field_ids` in it), which update_template takes too. Setting them replaces all of the sections. - New: `Template` has `success_title`, `success_message` and `show_fill_again_button`, what the web form shows once it's submitted, which create_template and update_template take too. - New: create_template and upload_template take `include_office_use_fields`: with `detect_fields`, whether AI field setup keeps the fields that only the office receiving the form fills in, such as a "For office use only" box. It leaves them out by default (your account's template settings). - Changed: the request validator refuses a `filename` that's blank or only whitespace (create_template, update_template_document), and an empty `field_groups` list in update_template. - New: a 409 `idempotency_key_in_use` error names what the first request with the key did: the email action (`email_action_id`) or email domain (`email_domain_id`) it created, or the template whose fields it changed or whose version it published (`template_id`).
1 parent 14345ba commit 7679691

43 files changed

Lines changed: 1021 additions & 449 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.github/workflows/release.yml‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
#
44
# Builds the package on every push and pull request. A v* tag (pushed by the monorepo's api_clients/scripts/release)
55
# also publishes it to PyPI with trusted publishing, in the release environment, and waits until PyPI serves it.
6-
# OpenAPI Generator's python.yml runs the package's tests.
76
name: Release
87

98
on:
@@ -22,7 +21,10 @@ jobs:
2221
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
2322
with:
2423
persist-credentials: false
24+
# No cache: this job builds the published wheel, and a cache could be written by a run on main
2525
- uses: astral-sh/setup-uv@68559e99cc807c1eb7e9238fd43a15bba460eec2 # v10.3.3
26+
with:
27+
enable-cache: false
2628
- name: Check the tag matches the package version
2729
if: github.ref_type == 'tag'
2830
run: |

‎.openapi-generator/FILES‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,8 @@ docs/TemplateFieldLogicStatus.md
158158
docs/TemplateFieldMove.md
159159
docs/TemplateFields.md
160160
docs/TemplateFormMode.md
161+
docs/TemplateFormSection.md
162+
docs/TemplateFormSectionInput.md
161163
docs/TemplateModelCode.md
162164
docs/TemplatePageAiError.md
163165
docs/TemplatePageAiNamingStatus.md
@@ -355,6 +357,8 @@ docspring/models/template_field_logic_status.py
355357
docspring/models/template_field_move.py
356358
docspring/models/template_fields.py
357359
docspring/models/template_form_mode.py
360+
docspring/models/template_form_section.py
361+
docspring/models/template_form_section_input.py
358362
docspring/models/template_model_code.py
359363
docspring/models/template_page_ai_error.py
360364
docspring/models/template_page_ai_naming_status.py
@@ -554,6 +558,8 @@ test/test_template_field_logic_status.py
554558
test/test_template_field_move.py
555559
test/test_template_fields.py
556560
test/test_template_form_mode.py
561+
test/test_template_form_section.py
562+
test/test_template_form_section_input.py
557563
test/test_template_model_code.py
558564
test/test_template_page_ai_error.py
559565
test/test_template_page_ai_naming_status.py

‎AGENTS.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ keeps it.
2020
- https://docspring.com/docs/: the guides. https://docspring.com/docs/api/: the API reference, with Python code
2121
for every method.
2222
- https://docspring.com/api-docs/v2/openapi.json: the OpenAPI spec this SDK is generated from.
23+
- https://docspring.com/docs/cli/: the DocSpring CLI (`docspring`), for scripts and terminal work outside Python
24+
code. https://docspring.com/docs/mcp/: the MCP server, which connects AI assistants to a DocSpring account.
2325

2426
## Set up
2527

‎CHANGELOG.md‎

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,18 @@
1+
### 4.5.0 [November 7, 2026]
2+
3+
- New: `Template` has `form_sections`, the web form's sections in order (`TemplateFormSection`: an `id`, a `title`, a
4+
`description` and the `field_ids` in it), which update_template takes too. Setting them replaces all of the sections.
5+
- New: `Template` has `success_title`, `success_message` and `show_fill_again_button`, what the web form shows once
6+
it's submitted, which create_template and update_template take too.
7+
- New: create_template and upload_template take `include_office_use_fields`: with `detect_fields`, whether AI field
8+
setup keeps the fields that only the office receiving the form fills in, such as a "For office use only" box. It
9+
leaves them out by default (your account's template settings).
10+
- Changed: the request validator refuses a `filename` that's blank or only whitespace (create_template,
11+
update_template_document), and an empty `field_groups` list in update_template.
12+
- New: a 409 `idempotency_key_in_use` error names what the first request with the key did: the email action
13+
(`email_action_id`) or email domain (`email_domain_id`) it created, or the template whose fields it changed or whose
14+
version it published (`template_id`).
15+
116
### 4.4.0 [November 1, 2026]
217

318
- New: list_email_actions, create_email_action, get_email_action, update_email_action and delete_email_action manage a

‎LICENSE‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright © 2018-2020 DocSpring, Inc.
1+
Copyright © 2018-2026 DocSpring, Inc.
22

33
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
44

‎README.md‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,10 @@ e-signatures.
1010
The code in this repository is generated from DocSpring's OpenAPI spec ([About this SDK](#about-this-sdk)). Issues and
1111
pull requests are welcome.
1212

13-
Version 4.4.0. Requires Python >=3.10.
13+
Outside Python code, the [DocSpring CLI](https://docspring.com/docs/cli/) calls the same API from a terminal or a
14+
shell script, and the [MCP server](https://docspring.com/docs/mcp/) connects AI assistants to your account.
15+
16+
Version 4.5.0. Requires Python >=3.10.
1417

1518
## Install and configure
1619

0 commit comments

Comments
 (0)