Skip to content

Commit 5ebca43

Browse files
committed
Improve CHANGELOG
Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>
1 parent 0e00d28 commit 5ebca43

File tree

1 file changed

+72
-60
lines changed

1 file changed

+72
-60
lines changed

CHANGELOG.rst

Lines changed: 72 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -2,76 +2,87 @@ Changelog
22
=========
33

44

5-
v32.0.0 (next next, roadmap)
5+
6+
v33.0.0 (next next, roadmap)
7+
----------------------------
8+
9+
10+
- We now support new package manifest formats:
11+
12+
- OpenWRT packages.
13+
- Yocto/BitBake .bb recipes.
14+
15+
16+
17+
v32.0.0 (next)
618
----------------------------
719

820
Important API changes:
921
~~~~~~~~~~~~~~~~~~~~~~
1022

11-
- The data structure of the JSON output has changed for licenses at resource level:
12-
13-
- We now return ``license_detections`` information at the manifest file-level
14-
rather than ``licenses``. This three data attributes: ``license_expression``,
15-
``detection_log`` and ``matches``. Here ``matches`` is similar to previous
16-
``licenses`` with some additional changes.
17-
18-
- A new attribute ``license_clues`` was added, which has license matches same
19-
as the ``matches`` field in ``license_detections``. This has license matches
20-
which are mere clues and not proper detections.
21-
22-
- The ``license_expressions`` field was removed, which was a list of license
23-
expressions and it was replaced with ``detected_license_expression`` which
24-
was a single license expression. Similarly ``spdx_license_expressions`` was
25-
removed and replaced by ``detected_license_expression_spdx``.
26-
27-
- See `license updates doc <https://scancode-toolkit.readthedocs.io/en/latest/explanations/license-detection-reference.html#change-in-license-data-format-resource>`_
28-
for examples and more details.
29-
30-
- Similarly the data structure of license fields in "package_data" has also
31-
changed, along with codebase level ``packages`` data:
32-
33-
- There's a ``license_detections`` field with the detections, same as the
34-
resource ``license_detections``, and there's also ``other_license_detections``.
35-
Here ``license_detections`` has the detections for the primary/declared
36-
licenses, and the rest of the secondary detecions are at
37-
``other_license_detections``.
38-
39-
- The ``license_expression`` field has been dropped, and instead we have
40-
``declared_license_expression`` and ``other_license_expression`` fields
41-
with their SPDX counterparts: ``declared_license_expression_spdx`` and
42-
``other_license_expression_spdx``.
43-
44-
- The ``declared_license`` field also has been renamed to ``extracted_license_statement``,
45-
and previously this ``declared_license`` field could be a list, a dict or a string, but
46-
now ``extracted_license_statement`` is always a string.
47-
48-
See `license updates doc <https://scancode-toolkit.readthedocs.io/en/latest/explanations/license-detection-reference.html#comparision-before-after-license-references>`_
49-
for examples and more details.
50-
51-
- Additionally the ``--get-license-data`` option would add two codebase level attributes:
52-
``license_references`` and ``rule_references`` which are lists of license and rules
53-
respectively. This also removes the corresponding fields from ``matches`` in
54-
``license_detections`` as they are referenced in these two codebase level fields. See
55-
`license updates doc <https://scancode-toolkit.readthedocs.io/en/latest/explanations/license-detection-reference.html#change-in-license-data-format-package>`_
56-
for examples and more details.
57-
58-
- The data structure of License matches has also changed: we had ``key`` i.e.
59-
a license key for each match, but now we have ``license_expression`` instead and
60-
we have a flat data structure instead of the ``matched_rule`` inside of ``matches``.
61-
Now we also have a ``licenses`` list with data for all the licenses present in the
62-
license expression.
63-
See `license updates doc <https://scancode-toolkit.readthedocs.io/en/latest/explanations/license-detection-reference.html#licensematch-result-data>`_
64-
for examples and more details.
23+
The data structure of the JSON output has changed for file-level licenses:
24+
25+
- We now return ``license_detections`` information at the manifest file-level
26+
rather than ``licenses``. This has three data attributes: ``license_expression``,
27+
``detection_log`` and ``matches``. Here the ``matches`` attribute is similar
28+
to previous ``licenses`` with some additional changes.
29+
30+
- We added a new file-level attribute for``license_clues`` with license
31+
matches that is the same as the ``matches`` field in ``license_detections``.
32+
This has license matches that are mere clues and not proper conclusive
33+
license detections.
34+
35+
- We removed the ``license_expressions`` field and replaced this list of
36+
license expressions with a single license expression attribute named
37+
``detected_license_expression``. Similarly removed and replaced the
38+
``spdx_license_expressions`` list with ``detected_license_expression_spdx``.
39+
40+
- See `license updates documentation <https://scancode-toolkit.readthedocs.io/en/latest/explanations/license-detection-reference.html#change-in-license-data-format-resource>`_
41+
for examples and details.
42+
43+
Similarly, we updated the JSON data structure for license attributes for packages
44+
both at the file-level ``package_data`` and at the codebase level ``packages``:
45+
46+
- We renamed the ``declared_license`` attribute to ``extracted_license_statement``.
47+
This field is always a string now, encoded as YAML; before it could be a list,
48+
an object/mapping or a string.
49+
50+
- We added new ``license_detections`` and ``other_license_detections``
51+
attributes. The ``license_detections`` attribute tracks detections for the
52+
primary, top-level licensing of the package; we track other secondary
53+
license detections in ``other_license_detections``.
54+
55+
- We replaced the ``license_expression`` attribute by two new attributes:
56+
``declared_license_expression`` and ``other_license_expression`` with their
57+
SPDX counterparts: ``declared_license_expression_spdx`` and
58+
``other_license_expression_spdx``. The meaning for declared vs. other is the
59+
same as for license vs. other license
60+
61+
See `license updates documentation <https://scancode-toolkit.readthedocs.io/en/latest/explanations/license-detection-reference.html#comparision-before-after-license-references>`_
62+
for examples and details.
63+
64+
- There is a new ``--get-license-data`` command line option. This adds two
65+
codebase-level attributes: ``license_references`` and ``rule_references``
66+
that are respectively a list of licenses and a list of rules objects. These
67+
objects have hold one scan-wide copy of license metadata and license text.
68+
We removed the now redundant license attributes from ``license_detections matches``.
69+
See the `license updates documentation <https://scancode-toolkit.readthedocs.io/en/latest/explanations/license-detection-reference.html#change-in-license-data-format-package>`_
70+
for examples and details.
71+
72+
- We updated how we report license matches. Previously we were reporting a
73+
license ``key`` for each license detected in the license expression of a match
74+
leading to repetion and data duplication. We now return one match for each
75+
detected ``license_expression``. The license match data structure is now a flat
76+
and simpler list of attributes and we no longer nest a ``matched_rule``
77+
attribute inside each ``match``. We added abew ``licenses`` attribute listing
78+
all the license keys present in the matched license expression.
79+
See `license updates documentation <https://scancode-toolkit.readthedocs.io/en/latest/explanations/license-detection-reference.html#licensematch-result-data>`_
80+
for examples and details.
6581

6682

6783
Package detection:
6884
~~~~~~~~~~~~~~~~~~
6985

70-
- We now support new package manifest formats:
71-
72-
- OpenWRT packages.
73-
- Yocto/BitBake .bb recipes.
74-
7586
- Update ``GemfileLockParser`` to track the gem which the Gemfile.lock is for,
7687
which we assign to the new ``GemfileLockParser.primary_gem`` field. Update
7788
``GemfileLockHandler.parse()`` to handle the case where there is a primary gem
@@ -97,6 +108,7 @@ Package detection:
97108

98109
https://github.com/nexB/scancode-toolkit/issues/3081
99110

111+
100112
License detection:
101113
~~~~~~~~~~~~~~~~~~~
102114

0 commit comments

Comments
 (0)