Changelog & License

License

MIT 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.

0.7.2

Released

under development

0.7.1

Released

21.07.2021

  • Improvement: Support for parallel sphinx-build when using -j option (#319)

  • Improvement: Better eval() handling for filter strings (#328)

  • Improvement: Internal performance measurement script

  • Improvement: Profiling support for selected functions

0.7.0

Released

06.07.2021

0.6.3

Released

18.06.2021

  • Improvement: Dead links (references to not found needs) are supported and configurable by allow_dead_links. (#116)

  • Improvement: Introducing need_func to execute Dynamic functions inline. (#133)

  • 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)

  • Bugfix: CSS fix for needtable style_row. (#195)

  • Bugfix: current_need var is accessible in all need-filters. (#169)

  • Bugfix: Sets defaults for color and style of need type configuration, if not set by user. (#151)

  • Bugfix: needtable shows horizontal scrollbar for tables using datatables style. (#271)

  • Bugfix: Using id_complete instead of id in filter code handling. (#156)

  • Bugfix: Dynamic Functions registration working for external extensions. (#288)

0.6.2

Released

30.04.2021

  • Improvement: Parent needs of nested needs get collected and are available in filters. (#249)

  • Bugfix: Copying static files during sphinx build is working again. (#252)

  • Bugfix: Link function for layouts setting correct text. (#251)

0.6.1

Released

23.04.2021

  • 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: No warning is thrown anymore, if needservice can’t find a service config in conf.py (#168)

  • Bugfix: Needs nodes get ids set directly, to avoid empty ids given by sphinx or other extensions for need-nodes. (#193)

  • Bugfix: needimport supports extra options and extra fields. (#227)

  • 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)

0.6.0

  • Improvement: Directive needservice added, which allow to include data from external services like Jira or github. See also Services (#163)

  • Improvement: GitHub services added to fetch issues, pr or commits from GitHub or GitHub Enterprise.

  • Bugfix: Role need_outgoing shows correct link instead of None (#160)

0.5.6

  • Bugfix: Dynamic function registration via API supports new internal function handling (#147)

  • Bugfix: Deactivated linked gantt elements in needgantt, as PlantUML does not support them in its latest version (not beta).

0.5.5

0.5.4

0.5.3

0.5.2

  • Improvement: Sphinx-Needs configuration gets checked before build. (#118)

  • Improvement: meta_links_all layout function now supports an exclude parameter

  • Improvement: needflow’s connection line and arrow type can be configured.

  • Improvement: Configurations added for needflow. Use needs_flow_configs to define them and config for activation.

  • Improvement: needflow option debug added, which prints the generated PlantUML code after the flowchart.

  • Improvement: Supporting Need-Templates by providing need option template and configuration option needs_template_folder. (#119)

  • Bugfix: needs_global_options handles None values correctly. style can now be set.

  • Bugfix: needs_title_from_content takes \n and . as delimiter.

  • Bugfix: Setting css-attribute white-space: normal for all need-tables, which is set badly in some sphinx-themes. (Yes, I’m looking at you ReadTheDocs theme…)

  • Bugfix: meta_all layout 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.

0.5.1

  • Improvement: Added needextract directive to mirror existing needs for special outputs. (#66)

  • Improvement: Added new styles discreet and discreet_border.

  • Bugfix: Some minor css fixes for new layout system.

0.5.0

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.

0.4.3

  • 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: Added sorting to needtable. See sort for details.

  • Improvement: Added dynamic function links_from_content to calculated links to other needs automatically from need-content. (#98)

  • Improvement: Dynamic function copy supports uppercase and lowercase transformation.

  • Improvement: Dynamic function copy supports filter_string.

  • Bugfix: Fixed corrupted Dynamic functions handling for tags and other list options. (#100)

  • Bugfix: Double entries for same need in needtable fixed. (#93)

0.4.2

0.4.1

  • Improvement: Added style option to allow custom styles for needs.

  • Improvement: Added style_row option to allow custom styles for table rows and columns.

0.4.0

  • Improvement: Provides API for other sphinx-extensions. See API for documentation.

  • Improvement: Added Support page.

  • Bugfix: Fixed deprecation warnings to support upcoming Sphinx3.0 API.

0.3.15

  • Improvement: In filter operations, all needs can be accessed by using keyword needs.

  • Bugfix: Removed prefix from normal needs for needtable (#97)

0.3.14

0.3.13

  • Bugfix: Filters on needs with id_parent or id_complete do not raise an exception anymore and filters gets executed correctly.

0.3.12

  • Improvement: Tables can be sorted by any alphanumeric option. (#92)

  • Improvement: need_part / np are now embedded in their parent need, if needflow is used. (#83)

  • Bugfix: Links to need_part / np are no longer rendered to parent need, instead the link goes directly to the need_part. (#91)

  • Bugfix: Links in needflow get shown again by default (#90)

0.3.11

  • 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 needs.json.

  • Improvement: Added config option needs_flow_show_links and related needflow option show_link_names.

  • Improvement: Added config option needs_flow_link_types and related needflow option link_types.

  • Bugfix: Unicode handling for Python 2.7 fixed. (#86)

0.3.10

  • Bugfix: type was missing in output of builder needs (#79)

  • Bugfix: needs_functions parameter in conf.py created a sphinx error, if containing python methods. Internal workaround added, so that usage of own Dynamic functions stays the same as in prior versions (#78)

0.3.9

  • 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.

0.3.8

0.3.7

  • Improvement: Filter string now supports the filtering of need_part / np.

  • 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: Reused IDs for a need_part / np are now detected and a warning gets printed. (#74)

0.3.6

  • Improvement: Added needtable option show_parts.

  • Improvement: Added configuration option needs_part_prefix.

  • Improvement: Added docname to output file of builder needs

  • Bugfix: Added missing needs_import template to MANIFEST.ini.

0.3.5

  • 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.

0.3.4

  • Bugfix: Need representation in PDFs were broken (e.g. all meta data on one line).

0.3.3

  • Bugfix: Latex and Latexpdf are working again.

0.3.2

  • Bugfix: Links to parts of needs (need_part / np) are now stored and presented as links incoming of target link.

0.3.1

  • 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.

  • Bugfix: Links to need_part / np in needflow are now shown correctly as extra line between

    need_parts containing needs.

  • Bugfix: Links to need_part / np in needtable are now shown and linked correctly in tables.

0.3.0

0.2.5

  • Bugfix: Fix for changes made in 0.2.5.

0.2.4

  • Bugfix: Fixed performance issue (#63)

0.2.3

0.2.2

  • Improvement: The sections, to which a need belongs, are now stored, filterable and exported in needs.json. See updated filter. (#53 )

  • Improvement: Project specific options for needs are supported now. See needs_extra_options. (#48 )

  • Bugfix: Logging fixed (#50 )

  • Bugfix: Tests for custom styles are now working when executed with all other tests (#47)

0.2.1

  • Bugfix: Sphinx warnings fixed, if need-collapse was used. (#46)

  • Bugfix: dark.css, blank.css and common.css used wrong need-container selector. Fixed.

0.2.0

  • Deprecated: needfilter is replaced by needlist, needtable or needflow. Which support additional options for related layout.

  • Improvement: Added needtable directive.

  • Improvement: Added DataTables support for needtable (including table search, excel/pdf export and dynamic column selection).

  • 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)

0.1.49

  • Bugfix: Supporting plantnuml >= 0.9 (#38)

  • Bugfix: need_outgoing does not crash, if given need-id does not exist (#32)

0.1.48

  • 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.

0.1.47

  • Bugfix: dark.css was missing in MANIFEST.in.

  • Improvement: Better output, if configured needs_css file can not be found during build.

0.1.46

  • Bugfix: Added python2/3 compatibility for needs_import.

0.1.45

  • Bugfix: needs with no status are handled the correct way now.

0.1.44

  • Bugfix: Import statements are checked, if Python 2 or 3 is used.

0.1.43

  • Improvement: Added “dark.css” as style

  • Bugfix: Removed “,” as as separator of links in need presentation.

0.1.42

  • 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.

0.1.41

  • Improvement: Added config parameters needs_statuses and needs_tags to allow only configured statuses/tags inside documentation.

  • Bugfix: Added LICENSE file (MIT)

0.1.40

  • Bugfix: Removed jinja activation

0.1.39

  • Bugfix: Added missing needimport_template.rst to package

  • Bugfix: Corrected version param of needimport

0.1.38

  • Improvement: :links:, :tags: and other list-based options can handle “,” as delimiter

    (beside documented “;”). No spooky errors are thrown anymore if “,” is used accidentally.

0.1.37

0.1.36

0.1.35

  • 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.

0.1.34

  • Improvement: New option tags for needimport directive

  • Bugfix: Handling of relative paths in needs builder

0.1.33

  • 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

0.1.32

  • 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

0.1.31

  • Bugfix: Added missing dependency to setup.py: Sphinx>=1.6

0.1.30

  • Improvement: Builder needs added, which exports all needs to a json file.

0.1.29

  • Bugfix: Build has crashed, if sphinxcontrib-needs was loaded but not a single need was defined.

0.1.28

  • Bugfix: Added support for multiple sphinx projects initialisations/builds during a single python process call.

    (Reliable sphinxcontrib-needs configuration separation)

0.1.27

0.1.26

0.1.25

  • Restructured code

  • Restructured documentation

  • Improvement: Role need_outgoing was added to print outgoing links from a given need

  • Improvement: Role need_incoming was added to print incoming links to a given need

0.1.24

  • Bugfix: Reactivated jinja execution for documentation.

0.1.23

  • Improvement: complex filter for needfilter directive supports regex searches.

  • Improvement: complex filter has access to nearly all need variables (id, title, content, …)`.

  • Bugfix: If a duplicated ID is detected an error gets thrown.

0.1.22

  • Improvement: needfilter directives supports complex filter-logic by using parameter Filtering needs.

0.1.21

  • Improvement: Added word highlighting of need titles in linked pages of svg diagram boxes.

0.1.20

  • Bugfix for custom needs_types: Parameter in conf.py was not taken into account.

0.1.19

  • Added configuration parameter needs_id_required.

  • Backwards compatibility changes:

  • Reimplemented needlist as alias for needfilter

  • Added need directive/need as part of the default needs_types configuration.

0.1.18

Initial start for the changelog

  • Free definable need types (Requirements, Bugs, Tests, Employees, …)

  • Allowing configuration of needs with a

  • directive name

  • meaningful title

  • prefix for generated IDs

  • color

  • Added needfilter directive

  • Added layouts for needfilter:

  • list (default)

  • table

  • 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