Releases: jpagh/docassemblecli3
v26.4.2
Fixed
- Fixed Playground installs and
watchstartup installs hanging behind some
HTTP/3 reverse proxies by using freshniquestssessions with HTTP/3
disabled for CLI HTTP requests. - Fixed Playground project existence checks to read the API's JSON response
instead of testing membership on the raw HTTP response object.
Full Changelog: v26.4.1...v26.4.2
v26.4.1
Full Changelog: v26.04.0...v26.4.1
v26.04.0
Full Changelog: v26.03.1...v26.04.0
Add project specific config files.
v26.03.1
New Features
- New
downloadcommand: You can now download a docassemble package directly from a server or a Playground project as a.ziparchive.- Examples:
da download docassemble.foobarorda download --playground testing docassemble.foobar
- Examples:
- New
uninstallcommand: Added the ability to uninstall a docassemble package from a remote server directly via the CLI.- Example:
da uninstall docassemble.foobar
- Example:
Breaking Changes & Requirements
- Python Version Bump: The minimum required Python version has been increased from
3.10to3.12. Python3.13is fully supported.
Tooling & Developer Improvements
- Migrated to
uv: Replaced standardpipworkflows withuvfor faster dependency resolution, project management, and tool installation. README.md has been updated withuv-specific documentation. - CalVer Versioning: Introduced bump-my-version with a .bumpversion.toml configuration to manage automated Calendar Versioning (CalVer) releases.
- Internal Refactoring: Improved code modularity in
docassemblecli3.pyby extracting several helper functions for parsing metadata, normalizing names, and handling Playground file uploads and watch events. This makes thewatchcommand more robust. - Expanded Test Coverage: Added nearly 600 lines of new test code to test_docassemblecli3.py, fully testing the new
downloadanduninstallcommands, along with the newly refactored utility functions. The test suite now includes 47 tests, resulting in a significantly more resilient codebase.
Full Changelog: v0.5.1...v26.03.1
v0.5.1
Fixed a file-path bug that caused files in .gitignore'd directories to be installed anyways.
Full Changelog: v0.5.0...v0.5.1
v0.5.0
Added a bell notification sound that plays when the package has been installed. This is enabled by default, but can be disabled with the --no-bell flag.
You might need to change your VSCode settings to hear the sound in the built-in terminal:
"accessibility.signals.terminalBell": {
"sound": "on"
}Full Changelog: v0.4.0...v0.5.0
v0.4.0
Added an elapsed time display when waiting for the server to install and restart.
Full Changelog: v0.3.7...v0.4.0
v0.3.7
Changed exception handling to avoid a crash on scanning files in watch. This was happening primarily with .docx files on Windows.
Full Changelog: v0.3.6...v0.3.7
v0.3.6
The .docassemblecli config file can store additional configuration for each server:
directory: If the current or provided directory matches this then this server will be selectedplayground: Default playground project to use ifdirectorymatchesstartup: If set to "install", automatically installs package whenwatchstarts
For example, your .docassemblecli file might look like this:
- apiurl: https://da.example.com
apikey: H3PWMKJOIVAXL4PWUJH3HG7EKPFU5GYT
name: da.example.com
playground: testing
directory: /path/to/docassemble-mypackage
startup: installWith this configuration:
da watchin/path/to/docassemble-mypackagewill automatically use this server- It will install to the "testing" playground project
- It will install the package once when
watchstarts
Full Changelog: v0.3.3...v0.3.6
v0.3.3
Fixed slow startup time on watch due to scanning directories that weren't going to be monitored or installed. The following directories are always ignored by watch: .git, __pycache__, .mypy_cache, .venv, .history, build.
Added an advanced feature that doesn't have any built-in creation/modification support (yet), but if you want to try it early then you can manually add a path key to a server in your .docassemblecli config file, it will cause that server to be used if no server is provided and the path matches the directory that watch was given [default: current directory]. Additionally, if you manually add a playground key to that server, it will be used when using watch.
Full Changelog: v0.2.2...v0.3.3