Repository navigation
Releases: SuffolkLITLab/docassemble-ALWeaver
Release list
v2.4.0
What's new
This release builds on feedback from our first round of novice users in the LIT clinic and brings a substantial set of improvements to the ALWeaver interview editor, with a particular focus on making visual editing more capable, publishing to GitHub more reliable, and the editor easier to use on everyday laptop screens. It also includes a broad round of fixes for previewing, saving, uploading, and working with newer versions of Docassemble.
Features
- More capable guided expression editing. The visual expression editor can now handle more common interview logic without requiring authors to switch directly to YAML. It supports creating and editing expressions, changing assignment targets, deleting assignments, and basic editing of
forloop expressions. #1075 #1111 #1138 - Edit more kinds of interview screens visually. Signature screens and standalone question screens can now be edited through the interview editor. #1116
- Graphical attachment editing. Authors can now manage attachment field mappings visually and remove documents from an interview through the graphical editor. #1073
- Reusable help templates. The interview editor now supports reusable help templates, making it easier to provide consistent guidance across multiple interview screens. #1151
- Documentation search in the Assistant. The built-in Assistant can now search relevant documentation while helping authors work on an interview. #1121
- More template options when creating an interview. "Create a new template for this interview" now supports more of the options available in the ALDashboard workflow, including Markdown output and DOCX generation. #1061
- Choose the GitHub user for generated interviews. Authors can now specify
github_userwhen generating an interview, giving more control over where generated projects are associated. #1160 - Commit to GitHub without previewing first. Publishing no longer requires authors to run a preview before making a GitHub commit. #1156
- Smarter debugger setup. The debugger can populate sample answers automatically, making it faster to get an interview into a useful state for testing. #1164
Usability improvements
- A more comfortable, compact editor layout. Navigation has been tightened up, duplicate project cards have been removed, and the main editor has been adjusted for easier reading and more efficient use of screen space. #1142 #1150
- Better support for laptops and narrow screens. Save controls, editor tabs, and nested menus remain accessible at smaller window widths instead of disappearing or becoming difficult to reach. #1130 #1135
- Durable editor URLs. Editor navigation now uses stable routes, making navigation more predictable and making it easier to return to the right place in the editor. #1140
- Improved GitHub publishing dialog. Commit messages can span multiple lines, and the editor remembers the previously selected publishing target. #1145
- Clearer GitHub permission errors. When GitHub workflow permissions are missing, ALWeaver now explains the problem both before publishing and when it encounters the issue during the publishing process. #1088
- Safer handling of blank question labels. Instead of silently deciding what to do with a blank label, the editor now asks the author to make an explicit choice. #1115
- A clearer visual/code editing choice. Code blocks now include an explicit visual editing toggle, making it easier to tell when a block can be edited graphically and when its source should be edited directly. #1094
- More resilient Markdown controls. The Markdown toolbar stays understandable even if its icon assets fail to load. #1131
- Less unnecessary prompting during downloads. Forms with no user-entered fields can now be downloaded without first prompting the user for answers that the form does not need. #1119
- Debugger and Assistant windows follow editor navigation. When the editor moves to a different context, stale debugger and Assistant views are closed instead of remaining open against the previous screen. #1069
- Better flow reports for included interviews. Named interview-order blocks from included interviews are now expanded in flow reports, giving authors a more complete picture of interview flow. #1132
Bug fixes
- Fixed screen previews and flow reports with Docassemble 1.10.8 and later. Compatibility changes in newer Docassemble versions no longer break these editor tools. #1144
- Fixed GitHub commits blocked by workflow permission requirements. ALWeaver can once again complete publishing workflows that previously failed because of required GitHub workflow permissions. #1082
- Fixed duplicate
flask_userregistration during GitHub publishing. Publishing no longer fails because the integration tries to register the same component twice. #1097 - Fixed uploaded template names. Uploaded templates are now assigned names that Docassemble can reliably resolve and reference. #1063
- Fixed order-block selection and defaults. The editor now selects the correct interview order block and uses the intended default pattern. #1072
- Fixed generated block IDs. The editor no longer saves invented or invalid block identifiers; generated IDs are now stable and readable. #1092
- Improved protection against stale saves. Editor source, choices, and related state are preserved more reliably, reducing the risk that an older editor state overwrites newer work. #1122
- Safer template revisions and background-job recovery. Template changes and interrupted jobs are handled more defensively so that partial or failed operations are less likely to leave projects in an inconsistent state. #1125
- Broader fixes across runtime, publishing, discovery, and uploads. A collection of edge cases found across ALWeaver's supported workflows and configuration combinations has been corrected. #1123 #1118
- More reliable validation and source diagnostics. The editor now detects problematic source more consistently and provides better diagnostic information when something cannot be safely interpreted. #1124
- Fixed editor formatting checks. JavaScript formatting validation has been corrected and the associated test fixtures have been simplified to reduce false or brittle failures. #1067
Chores and behind-the-scenes improvements
- More explicit automated style checks. Development-time style checks now expose their findings more clearly, making failures easier for contributors to diagnose. #1066
- GitHub integration hardening. The publishing integration received additional safety checks and improvements to how ALWeaver manages workflow-related changes. #1085
- Simplified GitHub branch-selection code. Follow-up cleanup reduced complexity in the branch picker introduced with the improved publish dialog. #1148
- Reduced editor load for classroom use. Changes reduce unnecessary editor activity in multi-user environments, with stress testing performed using a 15-user classroom scenario. #1155
- Automatic cleanup of idle debug interviews. Temporary debugging interviews that are no longer in use are now removed automatically. [#1164](https://github.com/Suffolk...
v2.3.1
What's Changed
- Legacy weaver warning by @nonprofittechy in #1048
- Require fixed ALDashboard review generator by @nonprofittechy in #1051
- Help admins add proper celery config when it's not present yet by @nonprofittechy in #1050
- Improve editor navigation menus by @nonprofittechy in #1054
- Incorporate ALKiln tests; generate by default, basic sync newly added screens support (leverages latest ALDashboard) by @nonprofittechy in #1056
- Bump pypdf from 6.15.0 to 6.16.1 by @dependabot[bot] in #1057
Full Changelog: v2.3.0...v2.3.1
v2.3.0
What's Changed
Rapid iteration on the graphical Weaver tool. This release has basic parity with the older Wizard-like workflow, and now has many expanded features that help editing your interview, communicate with experts, manage github interactions more powerfully, and more. In a near-future version, work will be frozen on the now-legacy Wizard interface and it will be deprecated.
User visible changes
- More complete github integration by @nonprofittechy in #996
- Github org super-support by @nonprofittechy in #993
- Group PDF checkboxes into one question with
parent+optionnames by @nonprofittechy in #1008 - Recognise and automatically mark the field names that represent people by @nonprofittechy in #999
- Save Python modules safely, and restart the server only when it actually helps by @nonprofittechy in #1015
- Create a more realistic preview of a question block when using graphical editor endpoint by @nonprofittechy in #1013
- Give ALPeopleList a real control for how many people are in the group by @nonprofittechy in #1024
- set progress to 100 before final screen by @nonprofittechy in #1025
- Multi-template generation, template import/field reload, and document bundle management by @nonprofittechy in #1032
- Turn the runtime inspector into a first-class interview debugger by @nonprofittechy in #1044
- Group the generated review screen by question, and let it be re-synced by @nonprofittechy in #1034
- Printable interview flow report with Mermaid flowchart and package file resolver by @nonprofittechy in #1035
- Allow adding questiosn from the question library at any time, including adding a new ALPeopleList object by @nonprofittechy in #1037
- Offer ALDashboard's court form shapes when drafting from an interview by @nonprofittechy in #1038
Bug fixes and minor interface improvements along the way
- More robust round tripping between gui and YAML code by @nonprofittechy in #994
- Publish to GitHub asynchronously via Celery and direct Git Data API by @nonprofittechy in #995
- Interview template fixes by @nonprofittechy in #997
- More complete weaver replacement by @nonprofittechy in #998
- Pass the measured line width to generated safe_value() calls by @nonprofittechy in #1006
- Parse more Jinja statements out of DOCX templates by @nonprofittechy in #1001
- Warn about PDF drop-downs and other unfillable field types by @nonprofittechy in #1009
- Guard interview order lines that reach past the first list item by @nonprofittechy in #1010
- Add end-to-end tests for generated addendum attachment blocks by @nonprofittechy in #1007
- Point DOCX for-loop bodies at the list being looped over by @nonprofittechy in #1002
- Parse DOCX variables that are wrapped in function calls by @nonprofittechy in #1003
- Guess yes/no for DOCX variables tested inside an
ifby @nonprofittechy in #1004 - Read datatypes off display functions in DOCX templates by @nonprofittechy in #1005
- Copy AssemblyLine person questions into generated interview by @nonprofittechy in #1014
- Make elif a first-class branch in the interview order builder by @nonprofittechy in #1023
- Enhance AssemblyLine settings panel, LIST topic picker, and project creation metadata by @nonprofittechy in #1026
- Prevent field dropdown labels from covering variable names and simplify badges by @nonprofittechy in #1028
- Cleaner 'add block' layout, correctness fixes for comment-only and raw YAML block types by @nonprofittechy in #1029
- Make filtered block state much more obvious per feedback by @nonprofittechy in #1030
- Mark generated block IDs as dirty by @nonprofittechy in #1027
- Remove placeholders by @nonprofittechy in #1033
- Fix misleading filter state by @nonprofittechy in #1036
- Add axe accessibility check for /al/editor by @nonprofittechy in #1039
- Add static checks for editor endpoint clients by @nonprofittechy in #1041
- Bump minimatch, eslint and eslint-plugin-sonarjs by @dependabot[bot] in #1043
- Improvements to debugger tool - don't close expanded variable list, s… by @nonprofittechy in #1045
- Safer mocking for cross-version compatibility by @nonprofittechy in #1046
Full Changelog: v2.2.0...v2.3.0
v2.2.0
What's Changed
This primarily introduces an alpha, totally optional graphical/interactive pathway for editing Docassemble interviews, as a replacement to the Playground.
PRs
- Unit test correct files made by @nonprofittechy in #962
- Issue with LLM not applying new field names by @nonprofittechy in #963
- Mark repo as safe from bandit by @BryceStevenWilley in #965
- Replace broken links by @nonprofittechy in #968
- Skip generating screens for empty groups by @nonprofittechy in #969
- Switched to pypi trusted publishing by @rajeswari1301 in #967
- Default limit access to dev and admin roles by @nonprofittechy in #970
- Fix behavior change in more_itertools by @BryceStevenWilley in #972
- Switched to only pyproject.toml by @rajeswari1301 in #971
- Set minimum supported versions for docassemble.base and webapp. by @BryceStevenWilley in #975
- Remove references to
tools.suffolklitlab.orgby @BryceStevenWilley in #978 - Fix accessibility for next steps documents by @nonprofittechy in #974
- Make interview intro prompt translatable instead of hardcoded string by @nonprofittechy in #980
- Weaver graphical UI by @nonprofittechy in #981
- Resolve DAYamlChecker findings by @nonprofittechy in #984
- Major refactor of graphical editor by @nonprofittechy in #983
- Bump setuptools from 80.9.0 to 83.0.0 by @dependabot[bot] in #982
- Add automatic dev server deployment by @nonprofittechy in #987
- First pass - chatbot/assistant interface for constrained drafting by @nonprofittechy in #988
- Graphical UI more al datatypes by @nonprofittechy in #989
- Slightly refactored interview order code by @nonprofittechy in #990
- Bug fix by @nonprofittechy in #991
- First pass at multi-file search interface by @nonprofittechy in #992
New Contributors
- @rajeswari1301 made their first contribution in #967
Full Changelog: v2.1.0...v2.2.0
v2.1.0
What's Changed
New
- One-click playground install for logged-in devs/admin users in #961
Fixed
- Fix issue with next steps document not generating by @nonprofittechy in #961
Full Changelog: v2.0.0...v2.1.0
v2.0.0
What's Changed
This major version has new AI assisted coding-friendly changes.
- You can use the traditional Weaver workflow (interactively) and get full AI-suggested language throughout, as well as pulling in a reference document or legal help website with content-specific language to help give the AI context about your interview.
- You can talk to the Weaver remotely via either REST or MCP, facilitating a local coding agent's ability to create a draft interview that can then be improved with your local LLM.
There are a variety of updates to the generated interview's content, as well, including placeholder section labels, updated metadata fields, and many bug fixes since our last published release.
New
- Make it possible to access the Weaver as a pure Python import without needing to run a Docassemble server by @nonprofittechy in #956
- First pass at a callable REST-like API for the Weaver by @nonprofittechy in #957
- Refactor to use new Python-first interview generation path by @nonprofittechy in #958
- Add some enhanced LLM features into the Weaver by @nonprofittechy in #959
- Improve the look and feel of the preview and screen reordering with minor CSS changes by @nonprofittechy in #946
Fixed
- Fix issue where filename was required (for SPOT classification) when not uploading a file on purpose by @nonprofittechy in #935
- Fix YAML loading issue with Weaver configuration publishing system by @nonprofittechy in #947
- Use name_full() instead of .name.full() by @nonprofittechy in #945
Chore
- Switch to
ubuntu-latestaction runner by @BryceStevenWilley in #944 - Don't preload test files by @nonprofittechy in #937
- don't try to install spaCy at runtime or require it by @nonprofittechy in #949
- Add SuffolkLITLab/ALActions workflows by @nonprofittechy in #950
- Switch to implicit namespace packages by @BryceStevenWilley in #954
- Get rid of syntax warnings for regex strs by @BryceStevenWilley in #952
- Use GitHub-Server ALKiln instead of apps-test by @BryceStevenWilley in #953
- Correct mypy issue by @BryceStevenWilley in #955
- Reformat with DAYamlChecker (no ast changes) by @nonprofittechy in #960
Full Changelog: v1.11.0...v2.0.0
v1.11.0
What's Changed
New
- Use SPOT or heuristics to assign a category to forms, both in auto drafting and regular mode by @nonprofittechy in #888
- Add metadata fields to the output of the Weaver to help with publishing to courtformsonline.org by @nonprofittechy in #925
- Use accordions on review page by @nonprofittechy in #928
- Allow uploading a "script" for interview auto drafting mode by @nonprofittechy in #909
Changed
- Improvements for working with longer sessions in the Weaver by @nonprofittechy in #902
- Cleanup the add/label field interface by @nonprofittechy in #901
- Allow customization of interview_label by @nonprofittechy in #895
- Make filename lowercase by default even if input or title are uppercase by @nonprofittechy in #930
Fixed
- Bug fixes related to review screen generating and editing by @nonprofittechy in #886
- Fix bug w/ auto assign categories feature by @nonprofittechy in #899
- Don't try "auto drafting" with an empty PDF or DOCX file by @nonprofittechy in #934
Cleanup
- Use ALActions/black-formatting by @BryceStevenWilley in #908
Full Changelog: v1.10.3...v1.11.0
v1.10.3
What's Changed
Fixed
- Don't add next steps documents to the YAML or package if the author requests not to add them by @nonprofittechy in #873
- Fix field recognition and detection bugs by @nonprofittechy in #881
Full Changelog: v1.10.2...v1.10.3
v1.10.2
What's Changed
Important
Recent Docassemble releases upgraded a core package, Pandas, which broke earlier versions of the Weaver. This version fixes that issue. See:
#868
New
- Add basic left navigation by @nonprofittechy in #851
- Add more topics, use multiselect w/ typeahead to select by @nonprofittechy in #844
Fixed
- Clear "undefined names" in Playground by @nonprofittechy in #848
- Format Python code with psf/black push by @github-actions in #862
- Make it easier to use auto drafting mode without manual installation of en_core_web_lg by @nonprofittechy in #861
- Increase wait for server reload by @nonprofittechy in #863
- Lucky remove extra screens by @nonprofittechy in #864
- Update alkiln_tests.yml to v5 by @plocket in #867
Full Changelog: v1.10.1...v1.10.2
v1.10.1
What's Changed
New
- Allow some simple customizations of the "Next steps" document and let the user know it's being generated by @nonprofittechy in #839
Fixed
- Fix broken jinja2 escaping in some next steps documents by @nonprofittechy in #831
- Continue work on courtformsonline.org prep, next steps enhancements by @nonprofittechy in #835
- Fix regressions by @nonprofittechy in #840
- fix broken field renaming by @nonprofittechy in #847
- Hotfix - new DA version moved definition around by @nonprofittechy in #852
- Patch safer pdf checking by @nonprofittechy in #854
Full Changelog: v1.10.0...v1.10.1