Releases: useblocks/sphinx-needs
8.0.0
See https://sphinx-needs.readthedocs.io/en/stable/changelog.html
What's Changed
- 📚 Fix 7.0.0 release date by @ubmarco in #1666
- 🐛 Fix linkcheck CI job warnings by @Copilot in #1667
- 🧪 Add tests for variants in links by @ubmarco in #1669
- 📚 DOCS: add sphinx-ai-index to sphinx docs builder by @Felix-Ruh in #1671
- ♻️ Introduce
NeedLinkstructured internal representation for links by @chrisjsewell in #1670 - 🔧 Use
NeedLinkdirectly inupdate_back_linksfunction by @chrisjsewell in #1672 - ♻️ Store
NeedLinkinstead ofstrinLinksLiteralValueandLinksFunctionArrayby @chrisjsewell in #1673 - ♻️ Add
_split_link_listparser with condition syntax support by @chrisjsewell in #1674 - ✨ Add conditional need link assessment by @Copilot in #1675
- 🔧 Use
get_links(as_str=False)in needextend to avoid round-trip serialization by @chrisjsewell in #1678 - 🔧 Store
NeedPartData.backlinksasNeedLinkinstead ofstrby @chrisjsewell in #1679 - 👌 Parse link conditions from imported and external needs by @chrisjsewell in #1680
- 👌 Add
needs_json_include_link_conditionsconfig option by @Copilot in #1681 - ♻️ Store NeedLink on NeedRef node at parse time instead of re-parsing later by @Copilot in #1682
- 🔧 Bump ENV_DATA_VERSION to 4 for NeedLink storage format change by @Copilot in #1683
- 👌 Add
parse_conditionsconfiguration for link types by @Copilot in #1684 - ♻️ Fix
links_from_contentto use parsed doctree nodes instead of regex by @chrisjsewell in #1685 - 🧪 Add some more tests for links_from_content by @chrisjsewell in #1686
- 🚀 Release v8.0.0 by @chrisjsewell in #1688
New Contributors
- @Felix-Ruh made their first contribution in #1671
Full Changelog: 7.0.0...8.0.0
7.0.0
See https://sphinx-needs.readthedocs.io/en/latest/changelog.html#release-7-0-0
What's Changed
- 🔧 Add
validate_extra_option_schemaby @chrisjsewell in #1602 - 🔧 Store full schema on
FieldSchemaby @chrisjsewell in #1603 - ♻️ Move
needs_statusesandneed_tagschecking to schema validation by @chrisjsewell in #1605 - 🔧 Remove use of
extra_optionsafter config resolution by @chrisjsewell in #1607 - ✨ Add
uniqueItemstoarrayschema validation by @chrisjsewell in #1610 - ✨ Add
needs_fields, deprecateneed_extra_options,need_statuses,need_tagsby @chrisjsewell in #1611 - ✨ Add
defaultandpredicateskeys toneeds_fieldsandneeds_extra_links, deprecatesneeds_global_optionsby @chrisjsewell in #1612 - ✨ Add
nullablekey toneeds_fieldsitems by @chrisjsewell in #1613 - 🔧 Simplify
import_prefix_link_editby @chrisjsewell in #1615 - ✨🎄 Add
parse_variantstoneeds_fields/needs_extra_link, deprecateneeds_variant_optionsby @chrisjsewell in #1614 - [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1600
- 🔧 Fix typo by @ubmarco in #1618
- 🔧 Move link
schematoLinkSchemaby @chrisjsewell in #1617 - 🔧 Add
AGENTS.mdby @chrisjsewell in #1621 - 🔧 Update Python version for Codecov by @ubmarco in #1625
- 📚 Fix typo in documentation for GitHub service example by @ahamez in #1634
- 👌 Minor improvements for
needs.fieldsinheritance by @chrisjsewell in #1635 - 🧪 Add tests for
create_inherited_fieldby @chrisjsewell in #1636 - 📚 Fix small grammatical error in need.rst by @ahamez in #1637
- ♻️ Migrate use of
extra_linksto Schema-Based Access by @chrisjsewell in #1638 - 🔧 Refactor
populate_field_typeto use type-directed schema walking by @chrisjsewell in #1639 - ♻️ Add add_field API; deprecate add_extra_option by @chrisjsewell in #1641
- 🔧 Rename "option" to "field" by @chrisjsewell in #1642
- 👌 Allow
add_fieldAPI to set defaults/predicates by @chrisjsewell in #1643 ‼️ Make need fields added by services nullable and default to null by @chrisjsewell in #1644‼️ Makeneeds_fieldsandadd_fielddefault to nullable and no default by @chrisjsewell in #1645- 👌 Default values of extra fields now checked against schema definitions by @chrisjsewell in #1647
- 🐛 Fix schema validation returning per need errors by @PhilipPartsch in #1640
- 📚 Fix typo in sort of needtable documentation by @PhilipPartsch in #1619
- 🔧 Simplify
generate_needsfunction by @chrisjsewell in #1651 ⚠️ Separate reduced vs full need representation for schema validation by @chrisjsewell in #1652- 🔧 simplify field/link validation by @chrisjsewell in #1654
- 🔧 Refactor schema validation: separate select filtering from local validation by @chrisjsewell in #1655
- ⬆️ Support Sphinx 9 and Docutils 0.22 by @mitya57 in #1653
⚠️ Migrateneeds_extra_linkstoneeds_linksby @chrisjsewell in #1649- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1623
- 🐛 Fix needextend data purging and deterministic ordering by @chrisjsewell in #1657
- 🔧 Add GitHub Copilot setup workflow for dev environment configuration by @Copilot in #1628
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1656
- 👌 Expose
parse_dynamic_functionsin field/link configuration by @chrisjsewell in #1660 - ♻️ Replace jinja2 with minijinja for template rendering by @Copilot in #1659
- 🐛 Fix
needs.jsonread/write when no needs are present by @qznc in #1661 - 🚀 Release v7.0.0 by @chrisjsewell in #1662
New Contributors
- @ahamez made their first contribution in #1634
- @mitya57 made their first contribution in #1653
- @Copilot made their first contribution in #1628
- @qznc made their first contribution in #1661
Full Changelog: 6.3.0...7.0.0
v6.3.0
What's Changed
- 👌 Relative paths from toml configuration by @chrisjsewell in #1589
- 👌 Ensure
extra_linksschemacontains item type by @chrisjsewell in #1595 - 👌 Validate all schemas compile during config resolution by @chrisjsewell in #1596
- ♻️ Remove typeguard dependency by @chrisjsewell in #1597
- ⬆️ Support Python 3.14 by @chrisjsewell in #1598
- 📚 Fix typo in tutorial documentation by @dskkato in #1591
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1586
New Contributors
Full Changelog: 6.2.0...6.3.0
6.2.0
What's Changed
- 🧪 Fix schema benchmark tests by @ubmarco in #1577
- 🧪 Improve schema process benchmarking by @chrisjsewell in #1579
- 🔧 Reduce nested functions in
get_ontology_warningsby @chrisjsewell in #1578 - 👌 Improve schema validation performance (pre-compute validators) by @chrisjsewell in #1581
- 👌 Improve schema validation performance (use jsonschema-rs) by @chrisjsewell in #1582
- 👌 Improve schema validation performance (improve reduce_needs) by @chrisjsewell in #1583
- 👌 Improve schema validation performance (cache recursive validators) by @chrisjsewell in #1584
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1421
- 🚀 Release v6.2.0 by @chrisjsewell in #1585
Full Changelog: 6.1.1...6.2.0
v6.1.1
What's Changed
- 👌 Allow . in schema regex by @ubmarco in #1568
- 🐛 Fix schema network type injection by @ubmarco in #1570
- 🐛 needs.json for nullable fields by @ubmarco in #1571
- 🔧 Remove mutable global variables by @chrisjsewell in #1575
- ✨ Add
needs_schema_validation_enabledconfiguration by @chrisjsewell in #1574 - ✨ Add
allow_type_coercionconfiguration for external/importneeds.jsonreads by @chrisjsewell in #1573
Full Changelog: 6.1.0...6.1.1
v6.1.0
What's Changed
- 🐛 Fix schema rule severity by @ubmarco in #1535
- 📚 Co-locate dynamic and variant function docs by @chrisjsewell in #1544
- 🧪 Add snapshot test for field schema by @chrisjsewell in #1545
- 🔧 Derive core
FieldSchemafromNeedsCoreFieldsby @chrisjsewell in #1546 - 👌 Make
incoming/outgoingkeys optional inneeds_extra_linksby @chrisjsewell in #1548 - 🔧 Removed unused code by @chrisjsewell in #1550
- 📚 Enable link to full schema example by @ubmarco in #1538
- 🔧 Variable typo by @ubmarco in #1555
- 📚 Improve schema docs by @ubmarco in #1554
- 📚 Fix linkchecks by @ubmarco in #1556
- 🔧 Run new ubc action on docs by @ubmarco in #1541
- 👌 Improve schema severity handling by @ubmarco in #1561
- ♻️ Early resolution of schema_debug_path by @ubmarco in #1563
- 🚀 Release v6.1.0 by @ubmarco in #1565
Full Changelog: 6.0.1...6.1.0
v6.0.1
What's Changed
- 📚 Add release labels to changelog by @ubmarco in #1523
- 🔧 Improve error for variant options by @ubmarco in #1524
- 🔧 Fix schema json missing exc message by @ubmarco in #1526
- 👌 Add schema to add_extra_option by @ubmarco in #1527
- 🐛 Fix name error schema_path_contains by @ubmarco in #1530
- 🐛 Inject build_tags to variant filter strings by @ubmarco in #1531
- 🚀 Release v6.0.1 by @ubmarco in #1532
Full Changelog: 6.0.0...6.0.1
v6.0.0
What's Changed
- 👌 Re-allow dynamic functions for
layoutfield by @chrisjsewell in #1423 - 🔧 Centralise allowed variant core need fields by @chrisjsewell in #1424
- 🐛 Warn on dynamic function with surrounding text by @chrisjsewell in #1426
- 🔧 Allow pre/post template
global_optionsby @chrisjsewell in #1428 - ✨ Add
is_importneed field by @chrisjsewell in #1429 - 📚 update tox version to py39 by @ubmarco in #1438
- 🔧 Use ubuntu-latest in CI by @ubmarco in #1439
- 🔧 Added yamlfmt pre-commit by @ubmarco in #1446
- 🐛 Fix cyclic imports by @ubmarco in #1443
- 🔧 benchmark group non win32 by @ubmarco in #1450
- ⬆️ Drop Sphinx<7.4, test against Python 3.13 by @ubmarco in #1447
- 🔧 Allow template global_options by @chrisjsewell in #1454
- Allow
collapseandhideinneeds_global_optionsby @chrisjsewell in #1456 - 👌 Reset directive option specs at start of build by @ubmarco in #1448
- ⬆️ Drop Python 3.9 by @ubmarco in #1468
- 👌 Improve need part processing by @chrisjsewell in #1469
- 📚 Fix escape sequences by @ubmarco in #1470
- 📚 Format configuration.rst by @chrisjsewell in #1473
- ✨ Schema validation v2 by @ubmarco in #1467
- 📚 Clarify c.this_doc() for needextend by @ubmarco in #1475
‼️ Disallowadd_extra_optionoverriding an internal field by @chrisjsewell in #1477‼️ Improve needs default field application (via needs_global_options) by @chrisjsewell in #1478- ♻️ Lazily assess directive options by @chrisjsewell in #1482
- 🔧 Split import item filtering to separate function by @chrisjsewell in #1484
- ♻️ Store needs as
NeedItem/NeedPartItem, rather than standarddictby @chrisjsewell in #1485 - ♻️ Set some core need fields to nullable by @chrisjsewell in #1488
- 🐛 Fix: disallow need variants for list type fields by @chrisjsewell in #1489
- ♻️ split
NeedIteminternal data into core, extras, links and backlinks by @chrisjsewell in #1490 - ♻️ split off
sourcefields inNeedIteminternal data by @chrisjsewell in #1491 - ♻️ Auto-compute certain need fields by @chrisjsewell in #1496
- 📚 Fix needs_extra_links name by @HolgerPeters in #1501
- 👌 Capture more information about modifications on
NeedItemby @chrisjsewell in #1502 - 🔧 Improve storage of constraint results on
NeedItemby @chrisjsewell in #1504 - ♻️ Exclude
is_need/is_partfromneeds.jsonoutput by @chrisjsewell in #1505 - 🔧 Improve storage of content generation on
NeedItemby @chrisjsewell in #1506 - 🧪 Improve test for need parts by @chrisjsewell in #1507
- ♻️ Improve storage of part data on NeedItem by @chrisjsewell in #1509
- 👌 Write schema violations into a JSON file by @iSOLveIT in #1503
- Always generate schema violations.json report file by @iSOLveIT in #1511
- 🐛 Avoid leaking auth credentials for ext. need warnings by @cedossan in #1512
- 🔧 Add
DynamicFunctionParseddataclass by @chrisjsewell in #1514 - 🔧 Add
VariantFunctionParseddataclass by @chrisjsewell in #1515 ‼️ remove parsing of deprecatedneeds_global_optionsformat by @chrisjsewell in #1517- 🧪 Move to snapshot testing for test_schema by @chrisjsewell in #1519
- ♻️ Allow for typed
needs_extra_optionsfields by @chrisjsewell in #1516 - ♻️ Warn for missing needimport files by @PhilipPartsch in #1510
- 🔧 Improve plantuml check + add tests by @ubmarco in #1521
- 🚀 Release v6.0.0 by @ubmarco in #1522
New Contributors
- @HolgerPeters made their first contribution in #1501
- @cedossan made their first contribution in #1512
Full Changelog: 5.1.0...6.0.0
v5.1.0
What's Changed
- ♻️ Improve validation and docs for
needs_global_optionsby @chrisjsewell in #1410 - ♻️ Change
needs_global_optionsformat by @chrisjsewell in #1413
Full Changelog: 5.0.0...5.1.0
v5.0.0
What's Changed
-
✨ Add
c.this_doc()check forneedextendfilters by @chrisjsewell in #1393 -
✨ Extend
c.this_doc()to all directives withfilteroption by @chrisjsewell in #1405 -
♻️ Remove back link manipulation from
needextendby @chrisjsewell in #1386 -
🔧 Synchronize list splitting behaviour in need and needextend directives by @chrisjsewell in #1385
-
👌 Add type warnings of extra options in external/import reads by @chrisjsewell in #1389
-
🔧 Centralise extendable core need fields by @chrisjsewell in #1388
-
♻️ Don't process dynamic functions on internal need fields by @chrisjsewell in #1387
-
♻️ Make
needextendargument declarative by @chrisjsewell in #1391 -
🔧 Remove
constraints_passed/constraints_resultsdirective options by @chrisjsewell in #1396 -
♻️ Remove
deletefrom internal needs andneeds.jsonby @chrisjsewell in #1347 -
♻️ Remove
full_titleneed field and only trim generated titles by @chrisjsewell in #1407 -
🔧 Deprecate use of dynamic functions in need type fields by @chrisjsewell in #1406
-
🐛 Fix CSS for need table colors by @chrisjsewell in #1403
-
📚 clarify
needimportargument format by @chrisjsewell in #1384
Full Changelog: 4.2.0...5.0.0