Sphinx-needs

Latest version: v2.1.0

Safety actively analyzes 638388 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 19

16.08.2023

* Improvement: Configuration option :ref:`needs_debug_measurement` added, which creates a runtime report
for debugging purposes.
(:pr:`917`)
* Bugfix: Replace hardcoded `index` with config value `root_doc`.
(:pr:`877`)
* Bugfix: Fix unbounded memory usage in pickle environment.
(:pr:`912`)
* Bugfix: Supports "None" body in Github services.
(:issue:`903`)
* Removed esbonio for :ref:`ide`.
* Removed configuration option **needs_ide_snippets_id** to support custom need ID for :ref:`ide` snippets.
* Removed configuration **needs_ide_directive_snippets** to support custom directive snippets for IDE features.
* Provided new IDE support option: VsCode extension
`Sphinx-Needs-VsCode <https://marketplace.visualstudio.com/items?itemName=useblocks.sphinx-needs-vscode>`_.
* Improvement: Added configuration option :ref:`needs_report_dead_links`, which can deactivate log messages of
outgoing dead links.
(:issue:`920`)
* Improvement: Configuration option :ref:`needs_allow_unsafe_filters` added, which allows unsafe filter for
:ref:`filter_func`.
(:issue:`831`)

13.11.2023

:Full Changelog: `1.3.0...v2.0.0 <https://github.com/useblocks/sphinx-needs/compare/1.3.0...faba19e>`__

This release is focussed on improving the internal code-base and its build time performance, as well as improved build warnings and other functionality improvements / fixes.

Changed
.......

* Add Sphinx 7 support and drop Python 3.7 (:pr:`1056`).
Sphinx 5, 6, 7 and Python 3.8 to 3.11 are now fully supported and tested.
* The ``matplotlib`` dependency (for ``needbar`` and ``needpie`` plots) is now optional, and should be installed with ``sphinx-needs[plotting]``, see :ref:`installation` (:pr:`1061`)
* The ``NeedsBuilder`` format name is changed to ``needs`` (:pr:`978`)

New
...

* Added Builder :ref:`needs_id_builder` and config option :ref:`needs_build_json_per_id` in ``conf.py`` (:pr:`960`)
* Added ``needs_reproducible_json`` config option for the needs builder, see :ref:`needs_build_json` (:pr:`1065`)
* Added error messages for constraint failures (:pr:`1036`)

Improved
........

Performance:

* General performance improvement (up to 50%) and less memory consumption (~40%).
* ``external_needs`` now uses cached templates to save generation time.
* Improved performance for :ref:`needextend` with single needs.
* Improved performance by memoizing the inline parse in ``build_need`` (:pr:`968`)
* Remove ``deepcopy`` of needs data (:pr:`1033`)
* Optimize ``needextend`` filter_needs usage (:pr:`1030`)
* Improve performance of needs builders by skipping document post-transforms (:pr:`1054`)

Other:

* Improve sphinx warnings (:pr:`975`, :pr:`982`)
All warnings are now suffixed with ``[needs]``, and can be suppressed (see `suppress_warnings <https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-suppress_warnings>`_)
* Improve logging for static file copies (:pr:`992`)
* Improve removal of hidden need nodes (:pr:`1013`)
* Improve ``process_constraints`` function (:pr:`1015`)
* Allow ``needextend`` directive to use dynamic functions (:pr:`1052`)
* Remove some unnecessary keys from output ``needs.json`` (:pr:`1053`)

Fixed
.....

* Fix gantt chart rendering (:pr:`984`)
* Fix ``execute_func`` (:pr:`994`)
* Fix adding sections to hidden needs (:pr:`995`)
* Fix ``NeedImport`` logic (:pr:`1006`)
* Fix creation of need title nodes (:pr:`1008`)
* Fix logic for ``process_needextend`` function (:pr:`1037`)
* Fix usage of reST syntax in prefix parameter of meta (:pr:`1046`)

Internal
........

* ๐Ÿ”ง Centralise access to sphinx-needs config to ``NeedsSphinxConfig`` (:pr:`998`)
* ๐Ÿ”ง Centralise sphinx ``env`` data access to ``SphinxNeedsData`` (:pr:`987`)
* ๐Ÿ”ง Consolidate needs data post-processing into ``post_process_needs_data`` function (:pr:`1039`)
* ๐Ÿ”ง Add strict type checking (:pr:`1000`, :pr:`1002`, :pr:`1042`)
* ๐Ÿ”ง Replace ``Directive`` with ``SphinxDirective`` (:pr:`986`)
* ๐Ÿ”ง Remove ``unwrap`` function (:pr:`1017`)
* ๐Ÿ”ง Add ``remove_node_from_tree`` utility function (:pr:`1063`)
* โ™ป๏ธ Refactor needs post-processing function signatures (:pr:`1040`)

* ๐Ÿ“š Simplify Sphinx-Needs docs builds (:pr:`972`)
* ๐Ÿ“š Always use headless plantuml (:pr:`983`)
* ๐Ÿ“š Add intersphinx (:pr:`991`)
* ๐Ÿ“š Add outline of extension logic (:pr:`1012`)
* ๐Ÿ“š Fixed extra links example (:pr:`1016`)

* ๐Ÿงช Remove boilerplate from test build ``conf.py`` files (:pr:`989`, :pr:`990`)
* ๐Ÿงช Add headless java to test builds (:pr:`988`)
* ๐Ÿงช Add snapshot testing (:pr:`1019`, :pr:`1020`, :pr:`1059`)
* ๐Ÿงช Make documentation builds fail on warnings (:pr:`1005`)
* ๐Ÿงช Add testing of JS scripts using Cypress integrated into PyTest (:pr:`1051`)
* ๐Ÿงช Add code coverage to CI testing (:pr:`1067`)

11.07.2022

* Notice: **Sphinx <5.0 is no longer supported.**
* Notice: **Docutils <0.18.1 is no longer supported.**
* Improvement: Provides :ref:`needuml` for powerful, reusable Need objects.
* Improvement: Provides :ref:`needreport` for documenting configuration used in a **Sphinx-Needs** project's **conf.py**.
* Improvement: Provides initial support for Sphinx-Needs IDE language features.
(:pr:`584`)
* Improvement: Support snippet for auto directive completion for Sphinx-Needs IDE language features.
* Improvement: Added `show_top_sum` to :ref:`Needbar <needbar>` and make it possible to rotate the bar labels.
(:issue:`516`)
* Improvement: Added `needs_constraints` option. Constraints can be set for individual needs and describe properties
a need has to meet.
* Improvement: Added customizable link text of :ref:`Need <needref>`.
(`439 <https://github.com/useblocks/sphinx-needs/discussions/439>`_)
* Bugfix: Fixed lsp needs.json path check.
(:issue:`603`,
:issue:`633`)
* Bugfix: Support embedded needs in embedded needs.
(:issue:`486`)
* Bugfix: Correct references in :ref:`needtables <needtable>` to be external or internal instead of always external.
* Bugfix: Correct documentation and configuration in :ref:`need_tags` to *list* type.
* Bugfix: Handle overlapping labels in :ref:`needpie`.
(:issue:`498`)
* Bugfix: :ref:`needimport` uses source-folder for relative path calculation (instead of confdir).

10.05.2022

* Improvement: Add permanent link layout function.
(:issue:`390`)
* Improvement: Support for **Sphinx-Needs** Docker Image.
(:issue:`531`)
* Bugfix: :ref:`needextract` not correctly rendering nested :ref:`needs <need>`.
(:issue:`329`)

08.11.2022

* Improvement: Fixed :ref:`needextend` error handling by adding a strict-mode option to it.
(:issue:`747`)
* Improvement: Fixed issue with handling needs-variants by default.
(:issue:`776`)
* Improvement: Performance fix needs processing.
(:issue:`756`)
* Improvement: Performance fix for needflow.
(:issue:`760`)
* Improvement: Fixed rendering issue with the debug layout.
(:issue:`721`)
* Improvement: Added :ref:`needs_show_link_id`.
* Improvement: Supported arguments as filter string for :ref:`needextract`.
(:issue:`688`)
* Improvement: Added :ref:`needs_render_context` configuration option which enables you to use custom data as the
context when rendering Jinja templates or strings.
(:issue:`704`)
* Improvement: Supported ``target_url`` for :ref:`needs_external_needs`.
(:issue:`701`)
* Bugfix: Fixed needuml key shown in need meta data by providing internal need option `arch`.
(:issue:`687`)
* Improvement: Included child needs inside their parent need for :ref:`needflow`.
(:issue:`714`)
* Improvement: Supported generate need ID from title with :ref:`needs_id_from_title`.
(:issue:`692`)
* Improvement: Supported download ``needs.json`` for :ref:`needimport`.
(:issue:`715`)
* Bugfix: Fixed import() be included in needarch.
(:issue:`730`)
* Bugfix: Needuml: uml() call circle leads to an exception :ref:`needarch_ex_loop`.
(:issue:`731`)
* Improvement: needarch provide need() function to get "need data".
(:issue:`732`)
* Improvement: needuml - flow() shall return plantuml text without newline.
(:issue:`737`)
* Bugfix: Needuml used but "sphinxcontrib.plantuml" not installed leads to exception
(:issue:`742`)
* Improvement: better documentation of mixing orientation and coloring in needs_extra_links
(:issue:`764`)
* Bugfix: Needarch: Fixed import() function to work with new implemented flow() (737).
(:issue:`752`)
* Bugfix: Needtable: generate id for nodes.table
(:issue:`434`)
* Improvement: Updated pantuml in test folder to same version as in doc folder
(:issue:`765`)

08.11.2021

* Improvement: Schema check for ``need.json`` files implemented.
* Improvement: New option for ``needtable`` and co: :ref:`filter_func`, which allows to reference and use python code
as filter code from external files
(:issue:`340`)
* Bugfix: Fixed :ref:`needs_builder` handling warnings about missing needs.json when :ref:`needs_file` not configured
(:issue:`340`)
* Bugfix: unstable build with :ref:`needs_external_needs`
(:issue:`399`)
* Bugfix: :ref:`needs_external_needs` reads external need status now and warnings gets not checked for
:ref:`needs_external_needs`
(:issue:`375`)

Page 3 of 19

ยฉ 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.