Skip to content

Commit 7d5fdd7

Browse files
cuixqanother-rex
andauthored
chore: v2.0.0-beta1 changelog (#1542)
changelog for v2 beta release. --------- Co-authored-by: Rex P <[email protected]>
1 parent b175847 commit 7d5fdd7

File tree

4 files changed

+141
-59
lines changed

4 files changed

+141
-59
lines changed

CHANGELOG.md

+94-12
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,102 @@
1-
OSV-Scanner v2 is coming soon! The next release will start with version `v2.0.0-alpha1`.
1+
# v2.0.0-beta1
22

3-
Here's a peek at some of the exciting upcoming features:
3+
The first beta of OSV-Scanner V2 is here! This beta release introduces significant enhancements, including refactored dependency extraction capabilities, container image scanning, and guided remediation for Maven.
44

5-
- Standalone container image scanning support.
6-
- Including support for Alpine and Debian images.
7-
- Refactored internals to use [`osv-scalibr`](https://github.com/google/osv-scalibr) library for better extraction capabilities.
8-
- HTML output format for clearer vulnerability results.
9-
- More control over output format and logging.
10-
- ...and more!
5+
This beta release does _not_ introduce any breaking CLI changes and the beta period is expected to last approximately one month. However, as this is a beta release, there may be breaking changes breaking changes in the final release compared to the first beta.
116

12-
Importantly, the CLI interface of osv-scanner will be maintained with minimal breaking changes.
13-
Most breaking changes will only be in the API. More details in the upcoming alpha release.
7+
We encourage you to try out these new features and would appreciate any feedback you might have on our discussion topics:
148

15-
---
9+
- [General V2 feedback](https://github.com/google/osv-scanner/discussions/1529)
10+
- [Container scanning feedback](https://github.com/google/osv-scanner/discussions/1521)
1611

17-
This is the final feature v1 release of osv-scanner, future releases for v1 will only contain bug fixes.
12+
### Layer and base image-aware container scanning
13+
14+
A significant new feature is a rewritten, layer-aware container scanning support for Debian, Ubuntu, and Alpine container images. OSV-Scanner can now analyze container images to provide:
15+
16+
- Layers where a package was first introduced
17+
- Layer history and commands
18+
- Base images the image is based on
19+
- OS/Distro the container is running on
20+
21+
This layer analysis leverages [OSV-Scalibr](https://github.com/google/osv-scalibr), and supports the following OSes and languages:
22+
| Distro Support | Language Artifacts Support |
23+
| -------------- | -------------------------- |
24+
| Alpine OS | Go |
25+
| Debian | Java |
26+
| Ubuntu | Node |
27+
| | Python |
28+
29+
Base image identification also leverages a new experimental API provided by https://deps.dev.
30+
31+
For usage, run the new `scan image` command:
32+
33+
```
34+
osv-scanner scan image <image-name>:<tag>
35+
```
36+
37+
Check out our [documentation](https://google.github.io/osv-scanner/usage/scan-image) for more details.
38+
39+
### Interactive HTML output
40+
41+
A new, interactive HTML output is now available. This provides a lot more interactivity and information compared to terminal only outputs, including:
42+
43+
- Severity breakdown
44+
- Package and ID filtering
45+
- Vulnerability importance filtering
46+
- Full vulnerability advisory entries
47+
48+
And additionally for container image scanning:
49+
50+
- Layer filtering
51+
- Image layer information
52+
- Base image identification
53+
54+
![Screenshot of HTML output for container image scanning](./docs/images/html-container-output.png)
55+
56+
### Guided Remediation for Maven pom.xml
57+
58+
Last year we released a feature called [guided remediation](https://osv.dev/blog/posts/announcing-guided-remediation-in-osv-scanner/) for npm. We have now expanded support to Maven pom.xml.
59+
60+
With guided remediation support for Maven, you can remediate vulnerabilities in both direct and transitive dependencies through direct version updates or overriding versions through dependency management.
61+
62+
We’ve introduced a few new features for our Maven support:
63+
64+
- A new remediation strategy `override` is introduced.
65+
- Support for reading and writing pom.xml files, including writing changes to local parent pom files.
66+
- Private registry can be specified to fetch Maven metadata.
67+
68+
The guided remediation support for Maven is only available in the non-interactive mode. For basic usage, run the following command:
69+
70+
```
71+
osv-scanner fix --non-interactive --strategy=override -M path/to/pom.xml
72+
```
73+
74+
We also introduced machine readable output for guided remediation that makes it easier to integrate guided remediation into your workflow.
75+
76+
For more usage details on guided remediation, please see our [documentation](https://google.github.io/osv-scanner/experimental/guided-remediation/).
77+
78+
### Enhanced Dependency Extraction with `osv-scalibr`
79+
80+
With the help from [OSV-Scalibr](https://github.com/google/osv-scalibr), we now also have expanded support for the kinds of dependencies we can extract from projects and containers:
81+
82+
#### Source manifests and lockfiles
83+
84+
- Haskell: `cabal.project.freeze`, `stack.yaml.lock`
85+
- .NET: `deps.json`
86+
- Python: `uv.lock`
87+
88+
#### Artifacts
89+
90+
- node_modules
91+
- Python wheels
92+
- Java uber jars
93+
- Go binaries
94+
95+
The full list of supported formats can be found [here](https://google.github.io/osv-scanner/supported-languages-and-lockfiles/).
96+
97+
The first beta doesn’t enable every single extractor currently available in OSV-Scalibr today. We’ll continue to add more leading up to the final 2.0.0 release.
98+
99+
OSV-Scalibr also makes it incredibly easy to add new extractors. Please file a [feature request](https://github.com/google/osv-scalibr/issues) if a format you’re interested in is missing!
18100

19101
# v1.9.1
20102

cmd/osv-scanner/__snapshots__/main_test.snap

+4-4
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ Loaded filter from: <rootdir>/fixtures/locks-many/osv-scanner.toml
9595
"informationUri": "https://github.com/google/osv-scanner",
9696
"name": "osv-scanner",
9797
"rules": [],
98-
"version": "1.9.1"
98+
"version": "2.0.0-beta1"
9999
}
100100
},
101101
"results": []
@@ -257,7 +257,7 @@ Loaded Alpine local db from <tempdir>/osv-scanner/Alpine/all.zip
257257
}
258258
}
259259
],
260-
"version": "1.9.1"
260+
"version": "2.0.0-beta1"
261261
}
262262
},
263263
"artifacts": [
@@ -1067,7 +1067,7 @@ No issues found
10671067
---
10681068

10691069
[TestRun/version - 1]
1070-
osv-scanner version: 1.9.1
1070+
osv-scanner version: 2.0.0-beta1
10711071
commit: n/a
10721072
built at: n/a
10731073

@@ -1274,7 +1274,7 @@ Scanned <rootdir>/fixtures/locks-insecure/osv-scanner-flutter-deps.json file as
12741274
}
12751275
}
12761276
],
1277-
"version": "1.9.1"
1277+
"version": "2.0.0-beta1"
12781278
}
12791279
},
12801280
"artifacts": [

0 commit comments

Comments
 (0)