This release contains the following enhancements:
1) The TABLE screen now supports full inline editing. Every cell type can be
edited in place: single-line fields are updated directly in the cell, while
multiline fields (STATEMENT, RATIONALE), relations, and comments open
a compact popup form. MultipleChoice fields use an inline selector.
The form is submitted with Ctrl+Enter / Cmd+Enter in addition to the
Save button. Validation errors are shown inline without losing context.
2) Nodes can now be added and deleted directly from the TABLE screen. The
Add node menu appears in the row actions area and lets the user insert a
new section or requirement at the selected position. New nodes are pre-filled
with TBD for required Choice fields so the document stays valid
immediately. The Delete action opens a confirmation modal that is disabled
while validation errors are present.
3) Custom metadata rows in the TABLE screen are now fully manageable inline.
Users can add new custom metadata fields, edit both the field name and value
in place, drag-and-drop rows to reorder them, and delete individual rows.
Validation rules (duplicate names, empty names) are enforced on save.
4) TABLE screen column visibility is now driven by the union of all grammars
in the document tree. Columns absent for a particular node type are shown as
dimmed cells. The Type column is always visible and cannot be hidden.
5) Markdown documents now support [LINK] and [ANCHOR] syntax,
matching the SDoc feature set. [ANCHOR]\s defined in source node fields
are registered as linkable targets, and [LINK]\s in source node fields
are resolved to the correct destination.
6) Markdown documents now support PREFIX mirroring from SDoc: a grammar
can declare a PREFIX that is prepended to node UIDs automatically.
7) Fixed: the SDoc textX grammar is now CRLF-aware. Documents with Windows
line endings no longer fail to parse.
8) Fixed: strictdoc export --formats=html2pdf now resolves relative asset
paths correctly when printing bundle documents, preventing broken images and
stylesheets in the generated PDF.
9) Fixed: custom-grammar Markdown documents now correctly write back field
names when saving, instead of using the default STATEMENT key.
10) The strictdoc manage new command now accepts an optional
--node-type argument. When provided, it specifies which grammar element
type the new node should use. When omitted, the command defaults to
REQUIREMENT if the document grammar includes a REQUIREMENT element (or
has no explicit grammar at all). If the grammar is custom and contains no
REQUIREMENT element, the command exits with an error and prompts the user
to supply --node-type.
<<<
What's Changed
- docs: update Backlog by @stanislaw in #2916
- fix(markdown): fix writing field names back to Markdown under custom grammar by @stanislaw in #2919
- fix(html): remove spurious backtick from write_anchor_link by @haxtibal in #2921
- feat(markdown): enable the automatic ENABLE_MID behavior if MID is present in grammar by @stanislaw in #2922
- fix(grammar): make sdoc textX grammar CRLF aware by @haxtibal in #2925
- feat(markdown): add and specify the behavior of the node TYPE meta field by @stanislaw in #2927
- feat(markdown): add ENABLE_MID behavior in Markdown by @stanislaw in #2928
- test(markdown, UI): create requirement when REQUIREMENT element has MID by @stanislaw in #2929
- chore: bump actions/checkout from 6 to 7 in the github-actions group by @dependabot[bot] in #2930
- feat(markdown): implement support of PREFIX mirroring SDoc by @stanislaw in #2933
- fix(features/document): disable Confirm button in delete modals by @mettta in #2935
- feat(markdown): implement LINK/ANCHOR by @stanislaw in #2934
- feat(source_nodes): support [LINK] and [ANCHOR] in source node fields by @haxtibal in #2917
- chore: update AGENTS.md with development instructions by @stanislaw in #2949
- fix(traceability_index): fix edge case when deleting node and removing parent relations by @stanislaw in #2950
- fix(backend/sdoc): fix has_custom_metadata condition by @stanislaw in #2951
- chore: update AGENTS, adding declaration of compliance and no throw-away smoke tests by @stanislaw in #2952
- fix(html2pdf): fix edge case of resolving relative asset paths when printing bundle documents by @stanislaw in #2953
- chore: add CLAUDE with a simple redirect to AGENTS by @stanislaw in #2954
- fix(server): remove non-ASCII symbols from the welcome banner by @stanislaw in #2955
- chore: remove obsolete config files with section_behavior= as the only argument by @stanislaw in #2962
- chore(tests/end2end): replace all instances of legacy TOML config with Python config by @stanislaw in #2963
- chore: replace all instances of legacy TOML config with Python config by @stanislaw in #2961
- Feature: Table view with editing and filters by @mettta in #2936
- docs: update release notes by @stanislaw in #2965
- feat(cli): "manage new" command: add optional --node type parameter by @stanislaw in #2966
- fix(tests/end2end): try to fix flaky test: edit_table_document_custom_meta_reorder by @stanislaw in #2967
- fix(autocomplete): empty-state message, value deduplication, and pan-on-arrow-key bug by @mettta in #2971
- feat(table): allow creating the first node from an empty TABLE screen by @mettta in #2968
- fix(backend/sdoc_source_code): recognize links with UID that contain "." by @stanislaw in #2974
- chore(server, cli): print a summary of all deprecation messages by @stanislaw in #2976
- fix(features/table): clear new-node indicator on click outside the row by @mettta in #2975
- release: bump version to 0.25.0 by @stanislaw in #2977
Full Changelog: 0.24.0...0.25.0