Skip to content

Commit d4d54a2

Browse files
Update CHANGELOG with package detection changes
This updates the CHANGELOG with details about specific changes in package detection, in the API and the data model. Also bumps the scancode data format to 3.0.0 as there are major data format changes. Signed-off-by: Ayan Sinha Mahapatra <ayansmahapatra@gmail.com>
1 parent c0475ea commit d4d54a2

File tree

2 files changed

+40
-15
lines changed

2 files changed

+40
-15
lines changed

CHANGELOG.rst

Lines changed: 39 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Important API changes:
1414
instead under the ``venv`` subdirectory.
1515

1616
- Main package API function `get_package_infos` is now deprecated, and is
17-
replaced by `get_package_manifests`.
17+
replaced by `get_package_data`.
1818

1919
- The data structure of the JSON output has changed for copyrights, authors
2020
and holders: we now use proper name for attributes and not a generic "value".
@@ -27,10 +27,18 @@ Important API changes:
2727
as an option.
2828

2929
- The data structure of the JSON output has changed for packages: we now
30-
return "package_manifests" package information at the manifest file-level
31-
rather than "packages". There is a a new top-level "packages" attribute
32-
that contains each package instance that can be aggregating data from
33-
multiple manifests for a single package instance.
30+
return "package_data" package information at the manifest file-level
31+
rather than "packages". This has all the data attributes of a "package_data"
32+
field plus others: "package_uuid", "package_data_files" and "files".
33+
34+
- There is a a new top-level "packages" attribute that contains package
35+
instances that can be aggregating data from multiple manifests.
36+
37+
- There is a a new top-level "dependencies" attribute that contains each dependency
38+
instance, these can be standalone or releated to a package.
39+
40+
- There is a new resource-level attribute "for_packages" which refers to packages
41+
through package_uuids (pURL + uuid string).
3442

3543
- The data structure for HTML output has been changed to include emails and
3644
urls under the "infos" object. Now HTML template will output holders,
@@ -136,17 +144,31 @@ Package detection:
136144
- Yocto/BitBake .bb recipes.
137145

138146
- Major changes in packages detection and reporting, codebase-level attribute `packages`
139-
with one or more "package_manifests" and files for the packages are reported.
147+
with one or more `package_data` and files for the packages are reported.
140148
The specific changes made are:
141149

142-
- The resource level attribute `packages` has been renamed to `package_manifests`,
143-
as these are really package manifests that are being detected.
150+
- The resource level attribute `packages` has been renamed to `package_data`,
151+
as these are really package data that are being detected, and can be manifests,
152+
lockfiles or other package data. This has all the data attributes of a `package_data`
153+
field plus others: `package_uuid`, `package_data_files` and `files`.
154+
144155

145156
- A new top-level attribute `packages` has been added which contains package
146-
instances created from package_manifests detected in the codebase.
157+
instances created from `package_data` detected in the codebase.
158+
159+
- A new codebase level attribute `dependencies` has been added which contains dependency
160+
instances created from lockfiles detected in the codebase.
147161

148-
- A new codebase level attribute `packages` has been added which contains package
149-
instances created from package_manifests detected in the codebase.
162+
- The package attribute `root_path` has been deleted from `package_data` in favour
163+
of the new format where there is no root conceptually, just a list of files for each
164+
package.
165+
166+
- There is a new resource-level attribute `for_packages` which refers to packages
167+
through package_uuids (pURL + uuid string).
168+
169+
- The package_data attribute `dependencies` (which is a list of DependentPackages),
170+
now has a new attribute `resolved_package` having a package data mapping.
171+
Also the `requirement` attribute here is renamed to `extracted_requirement`.
150172

151173

152174
Outputs:
@@ -159,16 +181,19 @@ Outputs:
159181
Output version
160182
--------------
161183

162-
Scancode Data Output Version is now 2.0.0.
184+
Scancode Data Output Version is now 3.0.0.
163185

164186
Changes:
165187

166-
- rename resource level attribute `packages` to `package_manifests`.
188+
- rename resource level attribute `packages` to `package_data`.
167189
- add top-level attribute `packages`.
168-
190+
- add top-level attribute `dependencies`.
191+
- add resource-level attribute `for_packages`.
192+
- remove `package-data` attribute `root_path`.
169193

170194
Documentation Update
171195
~~~~~~~~~~~~~~~~~~~~~~~~
196+
172197
- Various documentations have been updated to reflects API changes and
173198
correct minor documentation issues.
174199

src/scancode_config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ def _create_dir(location):
8484

8585
# See https://github.com/nexB/scancode-toolkit/issues/2653 for more information
8686
# on the data format version
87-
__output_format_version__ = '2.0.0'
87+
__output_format_version__ = '3.0.0'
8888

8989
#
9090
spdx_license_list_version = '3.16'

0 commit comments

Comments
 (0)