0.6.1 (not released yet)

  • 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 (#168)


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


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





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


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


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



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


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


  • Improvement: In filter operations, all needs can be accessed by using keyword needs.
  • Bugfix: Removed prefix from normal needs for needtable (#97)



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


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


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


  • Bugfix: type was missing in output of builder needs (#79)
  • Bugfix: needs_functions parameter in 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)


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


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


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



  • Bugfix: Fix for changes made in 0.2.5.


  • Bugfix: Fixed performance issue (#63)



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


  • Bugfix: Sphinx warnings fixed, if need-collapse was used. (#46)
  • Bugfix: dark.css, blank.css and common.css used wrong need-container selector. Fixed.


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


  • Bugfix: Supporting plantnuml >= 0.9 (#38)
  • Bugfix: need_outgoing does not crash, if given need-id does not exist (#32)


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


  • Improvement: Added config parameters needs_statuses and needs_tags to allow only configured statuses/tags inside documentation.
  • Bugfix: Added LICENSE file (MIT)


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




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




  • 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


  • Bugfix: Reactivated jinja execution for documentation.


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


  • 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 was not taken into account.


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


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