Releases: strictdoc-project/strictdoc
Bugfix release: Edge cases of [GRAMMAR] and Composable Documents, ReqIF, HTML2PDF UTF8 support on Windows
This is an intermediate bugfix release before the release which will contain major changes.
The following issues have been fixed:
-
backend/sdoc: validate grammar from file like a normal grammar (#1831). Thanks to @haxtibal for reporting this.
-
backend/reqif: exporting grammar types (#1809). Thanks to
@PQ
from Discord for giving feedback about the end-to-end export/import between StrictDoc and Polarion. -
html2pdf: specify UTF-8 encoding when writing HTML file (#1816). Thanks to @npalluat for reporting this based on their experience of running StrictDoc on Windows.
-
backend/sdoc: allow using "DESCRIPTION" or "CONTENT" field instead of "STATEMENT" (#1827) Previously only STATEMENT could be used as a reserved statement field. Now StrictDoc will auto-detect two more alternative fields if they are present: DESCRIPTION or CONTENT. Thanks to @haxtibal for requesting this and explaining the use case.
-
pyproject.toml: update python-datauri (#1820) @DomenicP reported an issue to python-datauri which StrictDoc depends on. They ran into an integration issue with the datauri library installing tests to the virtual environment. The library maintainer was kind enough to quickly resolve the issue in fcurella/python-datauri#14. Thanks @DomenicP!
What's Changed
- Bump version 0.0.54 by @stanislaw in #1776
- Technical debt: document_screen_view_object: encapsulate render moved node update by @stanislaw in #1778
- Composable Documents: copy assets in a redundant way for included documents by @stanislaw in #1780
- Bump version to 0.0.55a1 by @stanislaw in #1781
- Code climate: fix mypy version guard by @stanislaw in #1782
- Code climate: enable attr-defined and no-any-return check by @stanislaw in #1783
- Code climate: enable remaining mypy checks by @stanislaw in #1784
- Code climate: sdoc/models/document: fix no-untyped-call by @stanislaw in #1785
- Code climate: sdoc/models/document: fix no-untyped-def by @stanislaw in #1786
- Code climate: sdoc/models/section: remove unused code by @stanislaw in #1787
- backend/reqif: reqif_to_sdoc: simplify iteration by @stanislaw in #1789
- backend/reqif: reqif_to_sdoc: simplify iteration further by @stanislaw in #1791
- CI: drop Python 3.7 from macOS jobs by @stanislaw in #1793
- backend/reqif: export: --multiline-is-xhtml option by @stanislaw in #1792
- backend/reqif: reqif_to_sdoc_converter.py: fix arg-type issues by @stanislaw in #1794
- backend/reqif: reqif_to_sdoc_converter.py: fix no-untyped-call issues by @stanislaw in #1795
- backend/reqif: fix the XHTML namespace by @stanislaw in #1796
- backend/reqif: update to the latest ReqIF library by @stanislaw in #1797
- pickle: catch AttributeErrors on schema changes, raise AssertionError otherwise by @stanislaw in #1798
- pickle_cache: reuse between Document and DocumentGrammar for caching both by @stanislaw in #1799
- backend/reqif: --reqif-enable-mid option to allow bi-directional IDENTIFIER-MID mapping by @stanislaw in #1800
- backend/reqif: --reqif-import-markup option to specify HTML or other options when importing by @stanislaw in #1802
- Bump version to 0.0.55 by @stanislaw in #1803
- tests/integration: add several tests to ensure auto-uid / composable documents intersection by @stanislaw in #1805
- Composable documents: edge case when a single document path is provided for a document that depends on other documents by @stanislaw in #1807
- backend/reqif: exporting grammar types by @stanislaw in #1809
- backend/reqif: further tweaks for multi-document ReqIF bundles by @stanislaw in #1811
- Experimental features: Nestor requirements graph visualizer by @stanislaw in #1810
- Code climate: document_finder: fix all "no-untyped-call" mypy issues by @stanislaw in #1812
- Code climate: document_finder: fix all "no-untyped-def" mypy issues by @stanislaw in #1813
- Code climate: parallelizer: fix all "no-untyped-call" mypy issues by @stanislaw in #1814
- Bump version to 0.0.56a1 by @stanislaw in #1815
- html2pdf: specify UTF-8 encoding when writing HTML file by @stanislaw in #1816
- Code climate: strictdoc/cli/main.py: fix all mypy issues by @stanislaw in #1817
- Code climate: strictdoc/helpers/parallelizer.py: fix all mypy issues by @stanislaw in #1818
- Code climate: strictdoc/backend/sdoc/models/node.py: fix no-untyped-call and no-untyped-def mypy issues by @stanislaw in #1819
- pyproject.toml: update python-datauri by @DomenicP in #1820
- backend/sdoc: finish migration, removing all instances of REFS by @stanislaw in #1821
- backend/sdoc: SDocField: improve handling of single/multiline fields by @stanislaw in #1822
- backend/sdoc: remove the last few occurences of REFS by @stanislaw in #1824
- cli: remove the legacy argument: --experimental-enable-file-traceability by @stanislaw in #1825
- Code climate: backend/sdoc: free_text: fix all mypy issues by @stanislaw in #1826
- backend/sdoc: allow using "DESCRIPTION" or "CONTENT" field instead of "STATEMENT" by @stanislaw in #1827
- Bump version to 0.0.56a3 by @stanislaw in #1828
New Contributors
Full Changelog: 0.0.54...0.0.56
ReqIF export/import improvements
What's Changed
- Bump version 0.0.54 by @stanislaw in #1776
- Technical debt: document_screen_view_object: encapsulate render moved node update by @stanislaw in #1778
- Composable Documents: copy assets in a redundant way for included documents by @stanislaw in #1780
- Bump version to 0.0.55a1 by @stanislaw in #1781
- Code climate: fix mypy version guard by @stanislaw in #1782
- Code climate: enable attr-defined and no-any-return check by @stanislaw in #1783
- Code climate: enable remaining mypy checks by @stanislaw in #1784
- Code climate: sdoc/models/document: fix no-untyped-call by @stanislaw in #1785
- Code climate: sdoc/models/document: fix no-untyped-def by @stanislaw in #1786
- Code climate: sdoc/models/section: remove unused code by @stanislaw in #1787
- backend/reqif: reqif_to_sdoc: simplify iteration by @stanislaw in #1789
- backend/reqif: reqif_to_sdoc: simplify iteration further by @stanislaw in #1791
- CI: drop Python 3.7 from macOS jobs by @stanislaw in #1793
- backend/reqif: export: --multiline-is-xhtml option by @stanislaw in #1792
- backend/reqif: reqif_to_sdoc_converter.py: fix arg-type issues by @stanislaw in #1794
- backend/reqif: reqif_to_sdoc_converter.py: fix no-untyped-call issues by @stanislaw in #1795
- backend/reqif: fix the XHTML namespace by @stanislaw in #1796
- backend/reqif: update to the latest ReqIF library by @stanislaw in #1797
- pickle: catch AttributeErrors on schema changes, raise AssertionError otherwise by @stanislaw in #1798
- pickle_cache: reuse between Document and DocumentGrammar for caching both by @stanislaw in #1799
- backend/reqif: --reqif-enable-mid option to allow bi-directional IDENTIFIER-MID mapping by @stanislaw in #1800
- backend/reqif: --reqif-import-markup option to specify HTML or other options when importing by @stanislaw in #1802
Full Changelog: 0.0.54...0.0.55
Improvements to the Composable Documents feature, HTML2PDF UTF8 support on Windows
What's Changed
- Bump version to 0.0.53 by @stanislaw in #1753
- export/html: update CSS for project tree on the document page by @mettta in #1754
- Project Diff/Changelog: do not display included documents by @stanislaw in #1758
- Project Diff/Changelog: Ignore changes in included grammars for now by @stanislaw in #1760
- Document finder: filter out the asset folders based on the included/excluded search paths by @stanislaw in #1761
- export/html: collapsible_toc.js : Store the TOC state for each node by @mettta in #1762
- Source files finder: source_root_path shall be input path when not specified explicitly by @stanislaw in #1763
- HTML2PDF: minor changes and tests for UTF8 support on Windows by @stanislaw in #1767
- UI: Composable documents: fix writing back SDoc file with included grammars by @stanislaw in #1768
- SDoc: SDWriter: refactor to a more simple recursive algorithm by @stanislaw in #1769
- UI: Composable documents: Allow editing root node of included document by @stanislaw in #1771
- Bump version to 0.0.54a1 by @stanislaw in #1772
- document_from_file: fix the resolution of parent Document or Section nodes by @stanislaw in #1775
Full Changelog: 0.0.53...0.0.54
The JSON export: Support composable documents
What's Changed
- Bump version to 0.0.52 by @stanislaw in #1738
- export/html: collapsible_tree.js: double-click only affects current and child folders by @mettta in #1739
- export/json: handle more corner cases: nodes without levels, included documents by @stanislaw in #1740
- document_iterator: refactor the iteration algorithm by @stanislaw in #1742
- Code climate: improve a grammar form object class name by @stanislaw in #1743
- Remove all BibTeX bibliography-related code and pybtex dependency by @stanislaw in #1744
- docs: update requirements (ZEP, data integrity, fix all missing statuses, a few rationales) by @stanislaw in #1745
- export/json: do not export included documents by default by @stanislaw in #1746
- docs: document less portable features by @stanislaw in #1747
- export/html: update 'legend' markup on search/git screens by @mettta in #1748
- export/html: add zoomable.js: to zoom and move DTR screen by @mettta in #1741
- export/json: fix and simplify the iteration algorithm one more time by @stanislaw in #1749
- docs: update Roadmap by @stanislaw in #1751
- Code climate: CompositeRequirement -> SDocCompositeNode by @stanislaw in #1750
Full Changelog: 0.0.52...0.0.53
Grammar from File feature
What's Changed
- Bump version to 0.0.51 by @stanislaw in #1717
- Regenerate CHANGELOG by @stanislaw in #1718
- Fix a crash when following the user guide. by @MartyLake in #1720
- export/html: draggable_list_controller.js: Send a request to the server only if the object actually changes position by @mettta in #1722
- export/html: project_index: add dashboard; enable the option to hide/show fragments by @mettta in #1719
- docs: regenerate Read the Docs by @stanislaw in #1726
- export/html: Display the node type (requirement and custom) in the document view by @stanislaw in #1727
- export/html: introduce "Website" layout folder by @stanislaw in #1730
- backend/sdoc: including Grammars from grammar files *.sgra by @stanislaw in #1732
- backend/sdoc: read/write LAYOUT option by @stanislaw in #1731
- UI: Edit grammar form: block when a grammar is imported from file by @stanislaw in #1734
- tests/end2end/project_index: show_hide_included_documents by @mettta in #1735
- UI: Source coverage screen: Migrate to new markup by @mettta in #1736
- docs: regenerate Read the Docs by @stanislaw in #1737
New Contributors
- @MartyLake made their first contribution in #1720
Full Changelog: 0.0.51...0.0.52
Bugfix release: fix a regression on the Search screen related to finding requirements and sections
What's Changed
- export/html: Update project tree markup by @mettta in #1715
- UI: Search screen: fix the case when finding requirements/sections by @stanislaw in #1716
Full Changelog: 0.0.50...0.0.51
Ground work for composable documents, fix for running HTML2PDF on Windows, some CSS styles for RST
What's Changed
- Bump version to 0.0.49 by @stanislaw in #1700
- html2pdf: fix the issue of running within virtual environments by @stanislaw in #1702
- Migration from Fragments to includable Documents by @stanislaw in #1703
- backend/sdoc: remove last occurrences of Fragment, document the change by @stanislaw in #1704
- export/html: show the "included documents" only when there are included docs by @stanislaw in #1705
- UI: Diff screen: do not build source file traceability when doing history by @stanislaw in #1708
- docs: FAQ: resources: FOSDEM 2024 by @stanislaw in #1710
- export/html: project_index: Show fragments by default, disable switcher, add info about including file by @mettta in #1711
- Styles: add CSS for RST admonition markup by @mettta in #1712
Full Changelog: 0.0.49...0.0.50
What's Changed
- Bump version to 0.0.49 by @stanislaw in #1700
- html2pdf: fix the issue of running within virtual environments by @stanislaw in #1702
- Migration from Fragments to includable Documents by @stanislaw in #1703
- backend/sdoc: remove last occurrences of Fragment, document the change by @stanislaw in #1704
- export/html: show the "included documents" only when there are included docs by @stanislaw in #1705
- UI: Diff screen: do not build source file traceability when doing history by @stanislaw in #1708
- docs: FAQ: resources: FOSDEM 2024 by @stanislaw in #1710
- export/html: project_index: Show fragments by default, disable switcher, add info about including file by @mettta in #1711
- Styles: add CSS for RST admonition markup by @mettta in #1712
- Bump version to 0.0.50 by @stanislaw in #1713
- docs: regenerate Read the Docs by @stanislaw in #1714
Full Changelog: 0.0.49...0.0.50
Editing arbitrary nodes in UI, basic JSON export, HTML2PDF improvements
What's Changed
- Bump version to 0.0.48 by @stanislaw in #1619
- Requirements-to-source tracing: find all source files without exceptions by @stanislaw in #1624
- Bump version to 0.0.49a1 by @stanislaw in #1625
- models: composite requirement: fix requirement_prefix by @stanislaw in #1626
- export/html: render requirement's human titles in HTML by @stanislaw in #1627
- feat: Add validation for views by @dahbar in #1629
- Bump version to 0.0.49a2 by @stanislaw in #1628
- models: requirement: preserve REFS when setting a field by @stanislaw in #1631
- Bump version to 0.0.49a3 by @stanislaw in #1632
- fix: Validation for views and proper tests by @dahbar in #1634
- tests/integration: move several feature-related groups to features/ by @stanislaw in #1635
- fix: Review changes by @dahbar in #1641
- export/html: implement --view option by @stanislaw in #1638
- export/html2pdf: improved printing of tables (Firefox edge case) by @mettta in #1637
- export/html2pdf: customize webdriver cache manager to allow offline use by @stanislaw in #1642
- export/excel: allow generating Excel files for inter-document relations by @stanislaw in #1643
- export/excel: link Excel export requirement to source files by @stanislaw in #1644
- server: main_router: treat everything "not .html" as assets by @stanislaw in #1645
- tests/end2end: test opening a hyperlink to an CSV asset by @stanislaw in #1646
- Regenerate CHANGELOG by @stanislaw in #1647
- html2pdf: update bundle.js: Add preprocessing by @mettta in #1648
- html2pdf: update bundle.js: Fix 'block overruns the page bottom' by @mettta in #1649
- Refactoring: Node -> SDocObject by @stanislaw in #1650
- Refactoring: requirement.py -> node.py by @stanislaw in #1651
- Refactoring: rename three helper classes from Requirement* -> Node* by @stanislaw in #1652
- Refactoring: Requirement -> SDocNode by @stanislaw in #1653
- Refactoring: Section -> SDocSection by @stanislaw in #1654
- Refactoring: Document -> SDocDocument by @stanislaw in #1655
- html2pdf: update bundle.js: Add options to manually invoke or automatically run the script by @mettta in #1656
- export/html: introduce view_objects to encapsulate Jinja templates data by @stanislaw in #1657
- html2pdf: update bundle.js: Paragraph: split nested inline elements by @mettta in #1660
- export/html: node_controls: Updating the layout and icons for the "Add node" menu by @mettta in #1663
- Refactoring: DocumentGrammarFormObject -> GrammarElementFormObject, move more logic from Jinja to Python by @stanislaw in #1662
- Some style enhancements by @mettta in #1664
- export/html: Preparing the menu structure for adding new node types by @mettta in #1665
- server: creating grammar elements and arbitrary nodes by @stanislaw in #1666
- export/json: basic JSON export by @stanislaw in #1667
- export/dot: disable requirement links by @stanislaw in #1668
- feat: Make the document grammar editable with respect to human titles by @dahbar in #1669
- screens/diff: improve the legend with "HEAD vs HEAD+" by @stanislaw in #1671
- docs: SDoc grammar DOCUMENT fields: add REQ_PREFIX by @stanislaw in #1672
- docs: add a note about not detecting .sdoc files in the output/ folder by @stanislaw in #1673
- Code climate: update to new Ruff settings by @stanislaw in #1676
- server: requirement_form_object: adapt to custom elements in the last places by @stanislaw in #1675
- server: several validation messages: requirement -> node by @stanislaw in #1678
- export/dot: minor improvements to the layout by @stanislaw in #1679
- export/html: highlight current document by @stanislaw in #1680
- export/html: improve the edit grammar form by @mettta in #1681
- Bump version to 0.0.49a6 by @stanislaw in #1682
- export/html: Use self-hosting fonts by @mettta in #1684
- export/html: define the copy_to_clipboard in expandable node components by @mettta in #1685
- export/html: make collapsible_list.js based on MutationObserver by @mettta in #1686
- export/html: update form error styles for fields and field groups (driven by HUMAN_TITLE) by @stanislaw in #1689
- Bump version to 0.0.49a7 by @stanislaw in #1690
- docs: update Roadmap by @stanislaw in #1693
- backend/sdoc: resolve relative paths to full paths when importing fragments by @stanislaw in #1695
- backend/sdoc: rework the parsing algorithm for fragments by @stanislaw in #1696
- backend/sdoc: writing fragments back to files by @stanislaw in #1697
- backend/sdoc: writing fragments back to files by @stanislaw in #1699
Full Changelog: 0.0.48...0.0.49
Search screen, query engine and several UI improvements
See the changelogs:
- High-level release notes: https://strictdoc.readthedocs.io/en/stable/strictdoc_04_changelog.html
- Auto-generated changelog, commit-per-commit: https://github.com/strictdoc-project/strictdoc/blob/main/CHANGELOG.md
Hotfix release: Fix how the anchors are displayed
What's Changed
- Bump version to 0.0.45 by @stanislaw in #1361
- export/html: adding the ability to clone a requirement by @mettta in #1364
- export/html: Add restriction to show anchors only for sections with UIDs by @mettta in #1365
Full Changelog: 0.0.45...0.0.46
Full Changelog: 0.0.45...0.0.46