Changelog & License¶
Copyright (c) 2016-2021 useblocks GmbH
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Improvement: API to register warnings (#343)
Bugfix: needtable shows attributes with value
Improvement: Support for Multiline options in templates.
Bugfix: needflow: links for need-parts get correctly calculated. (#205)
Bugfix: CSS update for ReadTheDocsTheme to show tables correctly. (#263)
current_needvar is accessible in all need-filters. (#169)
Bugfix: Sets defaults for color and style of need type configuration, if not set by user. (#151)
idin filter code handling. (#156)
Bugfix: Dynamic Functions registration working for external extensions. (#288)
Support: Removes support for Sphinx version <3.0 (Sphinx 2.x may still work, but it gets not tested).
Improvement: Internal change to poetry, nox and github actions. (#216)
Bugfix: Need-service calls get mocked during tests, so that tests don’t need reachable external services anymore.
Bugfix: Needs nodes get
idsset directly, to avoid empty ids given by sphinx or other extensions for need-nodes. (#193)
Bugfix: Checking for ending / of given github api url. (#187)
Bugfix: Using correct indention for pre and post_template function of needs.
Bugfix: Certain log message don’t use python internal id anymore. (#257)
Bugfix: JS-code for meta area collapse is working again. (#242)
Improvement: GitHub services added to fetch issues, pr or commits from GitHub or GitHub Enterprise.
Improvement: Clean up of internal configuration handling and avoiding needs_functions to get pickled by sphinx.
transparentfor transparent background to needflow configurations.
Improvement: needflow uses directive argument as caption now.
Improvement: Added option align to align needflow images.
Bugfix: Setting correct urls for needs in needflow charts.
Bugfix: Setting correct image candidates (#134)
Sphinx-Needsconfiguration gets checked before build. (#118)
meta_links_alllayout function now supports an exclude parameter
Bugfix: needs_global_options handles None values correctly.
stylecan now be set.
Bugfix: needs_title_from_content takes
Bugfix: Setting css-attribute
white-space: normalfor all need-tables, which is set badly in some sphinx-themes. (Yes, I’m looking at you ReadTheDocs theme…)
meta_alllayout function also outputs extra links and the no_links parameter now works as expected
Bugfix: Added need-type as css-class back on need. Css class name is
needs_type_(need_type attribute). (#124)
Bugfix: Need access inside list comprehensions in Filter string is now working.
Improvement: Introduction of needs Layouts & Styles.
Bugfix: Need css style name is now based on need-type and not on the longer, whitespace-containing type name. Example:
need-testinstead of not valid
need-test case. (#108)
Bugfix: No more exception raise if
copyvalue not set inside needs_extra_links.
Improvement: Better log message, if required id is missing. (#112)
WARNING: This version changes a lot the html output and therefore the needed css selectors. So if you are using custom css definitions you need to update them.
Improvement: Role need supports standard sphinx-ref syntax. Example:
:need:`custom name <need_id>`
Improvement: Added Filter based global options to set values of global options only under custom circumstances.
Improvement: Dynamic function copy supports uppercase and lowercase transformation.
Improvement: Dynamic function copy supports filter_string.
Improvement: In filter operations, all needs can be accessed by using keyword
Bugfix: Removed prefix from normal needs for needtable (#97)
Bugfix: Filters on needs with
id_completedo not raise an exception anymore and filters gets executed correctly.
Improvement: Tables can be sorted by any alphanumeric option. (#92)
Improvement: Added config option needs_extra_links to define additional link types like blocks, tested by and more. Supports also style configuration and custom presentation names for links.
Improvement: Added export_id option for filter directives to export results of filters to
Bugfix: Unicode handling for Python 2.7 fixed. (#86)
Bugfix: Grubby tag/link strings in needs, which define empty links/tags, produce a warning now.
Bugfix: Better logging of document location, if a filter string is not valid.
Bugfix: Replaced all print-statements with sphinx warnings.
Improvement: The ID of a need is now printed as link, which can easily be used for sharing. (#75)
Bugfix: Filter functionality in different directives are now using the same internal filter function.
Bugfix: A need_part / np without a given ID gets a random id based on its content now.
Bugfix: Calculation of outgoing links does not crash, if need_parts are involved.
Bugfix: Need representation in PDFs were broken (e.g. all meta data on one line).
Bugfix: Latex and Latexpdf are working again.
Bugfix: Links to parts of needs (need_part / np) are now stored and presented as links incoming of target link.
Improvement: Added dynamic function check_linked_values.
Improvement: Added dynamic function calc_sum.
Improvement: Added role need_count, which shows the amount of found needs for a given filter-string.
Improvement: Dynamic functions are now available to support calculation of need values.
Improvement: needs_functions can be used to register and use own dynamic functions.
Improvement: Added needs_global_options to set need values globally for all needs.
Improvement: Added needs_hide_options to hide specific options of all needs.
Bugfix: Removed needs are now deleted from existing needs.json (#68)
Bugfix: Fix for changes made in 0.2.5.
Bugfix: Fixed performance issue (#63)
Bugfix: Logging fixed (#50 )
Bugfix: Tests for custom styles are now working when executed with all other tests (#47)
Bugfix: Sphinx warnings fixed, if need-collapse was used. (#46)
Bugfix: dark.css, blank.css and common.css used wrong need-container selector. Fixed.
Improvement: Added needtable directive.
Improvement: Added needs_id_regex, which takes a regular expression and which is used to validate given IDs of needs.
Improvement: Added meta information shields on documentation page
Improvement: Added more examples to documentation
Bugfix: Care about unneeded separator characters in tags (#36)
Bugfix: Avoiding multiple registration of resource files (js, css), if sphinx gets called several times (e.g. during tests)
Bugfix: Needs with no status shows up on filters (#45)
Bugfix: Supporting Sphinx 1.7 (#41)
Improvement: Added configuration option needs_role_need_template.
Bugfix: Referencing not existing needs will result in build warnings instead of a build crash.
- Refactoring: needs development files are stored internally under sphinxcontrib/needs, which is in sync with
most other sphinxcontrib-packages.
Bugfix: dark.css was missing in MANIFEST.in.
Improvement: Better output, if configured needs_css file can not be found during build.
Bugfix: Added python2/3 compatibility for needs_import.
Bugfix: needs with no status are handled the correct way now.
Bugfix: Import statements are checked, if Python 2 or 3 is used.
Improvement: Added “dark.css” as style
Bugfix: Removed “,” as as separator of links in need presentation.
Improvement: Added config parameter needs_css, which allows to set a css file.
Improvement: Most need-elements (title, id, tags, status, …) got their own html class attribute to support custom styles.
Improvement: Set default style “modern.css” for all projects without configured needs_css parameter.
Bugfix: Removed jinja activation
Bugfix: Added missing needimport_template.rst to package
Bugfix: Corrected version param of needimport
- Improvement: :links:, :tags: and other list-based options can handle “,” as delimiter
(beside documented “;”). No spooky errors are thrown anymore if “,” is used accidentally.
Bugfix: Empty :links: and :tags: options for need/ req (or any other defined need type) raise no error during build.
Improvement/Bug: Updated default node_template to use less space for node parameter representation
Improvement: Added :filter: option to needimport directive
Bugfix: Set correct default value for need_list option. So no more warnings should be thrown during build.
Bugfix: Imported needs gets sorted by id before adding them to the related document.
Improvement: New option tags for needimport directive
Bugfix: Handling of relative paths in needs builder
New feature: Directive needimport implemented
Improvement: needs-builder stores needs.json for all cases in the build directory (like _build/needs/needs.json) (See issue comment)
Bugfix: Wrong version in needs.json, if an existing needs.json got imported
Bugfix: Wrong need amount in initial needs.json fixed
Bugfix: Setting correct working directory during conf.py import
Bugfix: Better config handling, if Sphinx builds gets called multiple times during one single python process. (Configs from prio sphinx builds may still be active.)
Bugifx: Some cleanups for using Sphinx >= 1.6
Bugfix: Added missing dependency to setup.py: Sphinx>=1.6
Improvement: Builder needs added, which exports all needs to a json file.
Bugfix: Build has crashed, if sphinxcontrib-needs was loaded but not a single need was defined.
- Bugfix: Added support for multiple sphinx projects initialisations/builds during a single python process call.
(Reliable sphinxcontrib-needs configuration separation)
Bugfix: Reactivated jinja execution for documentation.
Improvement: needfilter directives supports complex filter-logic by using parameter Filtering needs.
Improvement: Added word highlighting of need titles in linked pages of svg diagram boxes.
Bugfix for custom needs_types: Parameter in conf.py was not taken into account.
Initial start for the changelog
Free definable need types (Requirements, Bugs, Tests, Employees, …)
Allowing configuration of needs with a
prefix for generated IDs
Added needfilter directive
Added layouts for needfilter:
diagram (based on plantuml)
Integrated interaction with the activated plantuml sphinx extension
Added role need to create a reference to a need by giving the id