You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.rst
+72-60Lines changed: 72 additions & 60 deletions
Original file line number
Diff line number
Diff line change
@@ -2,76 +2,87 @@ Changelog
2
2
=========
3
3
4
4
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)
6
18
----------------------------
7
19
8
20
Important API changes:
9
21
~~~~~~~~~~~~~~~~~~~~~~
10
22
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
- 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.
65
81
66
82
67
83
Package detection:
68
84
~~~~~~~~~~~~~~~~~~
69
85
70
-
- We now support new package manifest formats:
71
-
72
-
- OpenWRT packages.
73
-
- Yocto/BitBake .bb recipes.
74
-
75
86
- Update ``GemfileLockParser`` to track the gem which the Gemfile.lock is for,
76
87
which we assign to the new ``GemfileLockParser.primary_gem`` field. Update
77
88
``GemfileLockHandler.parse()`` to handle the case where there is a primary gem
0 commit comments