|
1 | 1 | Release notes |
2 | 2 | ============= |
3 | 3 |
|
| 4 | + |
| 5 | + |
| 6 | +Version v30.3.1 |
| 7 | +---------------- |
| 8 | + |
| 9 | +This is a minor bug fix release. |
| 10 | + |
| 11 | +- We enabled proper CSRF configuration for deployments |
| 12 | + |
| 13 | + |
| 14 | +Version v30.3.0 |
| 15 | +---------------- |
| 16 | + |
| 17 | +This is a feature update release including minor bug fixes and the introduction |
| 18 | +of API keys and API throttling. |
| 19 | + |
| 20 | +- We enabled API throttling for a basic user and for a staff user |
| 21 | + they can have unlimited access on API. |
| 22 | + |
| 23 | +- We added throttle rate for each API endpoint and it can be |
| 24 | + configured from the settings #991 https://github.com/nexB/vulnerablecode/issues/991 |
| 25 | + |
| 26 | +- We improved how we import NVD data |
| 27 | +- We refactored and made the purl2cpe script work to dump purl to CPE mappings |
| 28 | + |
| 29 | +Internally: |
| 30 | + |
| 31 | +- We aligned key names internally with the names used in the UI and API (such as affected and fixed) |
| 32 | +- We now use querysets as model managers and have streamlined view code |
| 33 | + |
| 34 | + |
| 35 | +Version v30.2.1 |
| 36 | +---------------- |
| 37 | + |
| 38 | +- We refactored and fixed the LaunchPad API code. |
| 39 | +- We now ignore qualifiers and subpath from PURL search lookups. |
| 40 | +- We fixed severity table column spillover. |
| 41 | + |
| 42 | + |
| 43 | +Version v30.2.0 |
| 44 | +---------------- |
| 45 | + |
| 46 | +This is a critical bug fix release including features updates. |
| 47 | + |
| 48 | +- We fixed critical performance issues that made the web UI unusable. This include |
| 49 | + removing some less interesting redundant details displayed in the web UI for |
| 50 | + vulnerabilities. |
| 51 | +- We made minor documentation updates. |
| 52 | +- We re-enabled support for Arch linux, Debian, and Ubuntu security advisories importers |
| 53 | +- We added a new improver for Oval data sources |
| 54 | +- We improved Alpine linux and Gitlab security advisories importers |
| 55 | + |
| 56 | +The summary of performance improvements include these fixes: |
| 57 | + |
| 58 | +- Cascade queries from exact to approximate searches to avoid full table scans |
| 59 | + in all cases. This is a band-aid for now. The proper solution will likely |
| 60 | + require using full text search instead. |
| 61 | +- Avoid iceberg queries with "prefetch related" to limit the number of queries |
| 62 | + that are needed in the UI |
| 63 | +- Do not recreate querysets from scratch but instead allow these to be chained |
| 64 | + for simpler and correct code. |
| 65 | +- Remove extra details from the vulnerability pacge: each package was further |
| 66 | + listing its related vulnerabilities creating an iceberg query. |
| 67 | +- Enable the django-debug-toolbar with a setting to easily profile queries on demand |
| 68 | + by setting both VULNERABLECODE_DEBUG and VULNERABLECODE_DEBUG_TOOLBAR enviroment |
| 69 | + variables. |
| 70 | + |
| 71 | + |
| 72 | +Version v30.1.1 |
| 73 | +---------------- |
| 74 | + |
| 75 | +- We added a new web UI link to explain how to obtain an API for the publicly |
| 76 | + hosted VulnerableCode |
| 77 | + |
| 78 | + |
| 79 | +Version v30.1.0 |
| 80 | +---------------- |
| 81 | + |
| 82 | +- We added a new "/packages/all" API endpoint to get all Package URLs know to be vulnerable. |
| 83 | + |
| 84 | + |
4 | 85 | Version v30.0.0 |
5 | 86 | ---------------- |
6 | 87 |
|
| 88 | +This is a major version that is not backward compatible. |
| 89 | + |
7 | 90 | - We refactored the core processing with Importers that import data and Improvers that |
8 | 91 | transform imported data and convert that in Vulnerabilities and Packages. Improvers can |
9 | 92 | also improve and refine imported and existing data as well as enrich data using external |
10 | 93 | data sources. The migration to this new architecture is under way and not all importers |
11 | | - are available. You can track the progress in this issue: https://github.com/nexB/vulnerablecode/issues/597 |
| 94 | + are available. |
| 95 | + |
12 | 96 | Because of these extensive changes, it is not possible to migrate existing imported |
13 | 97 | data to the new schema. You will need instead to restart imports from an empty database |
14 | | - or request access to the new vulnerablecode.io live instance. |
| 98 | + or access the new public.vulnerablecode.io live instance. We also provide a database dump. |
| 99 | + |
| 100 | +- You can track the progress of this refactoring in this issue: |
| 101 | + https://github.com/nexB/vulnerablecode/issues/597 |
15 | 102 |
|
16 | 103 | - We added new data sources including PYSEC, GitHub and GitLab. |
17 | 104 |
|
18 | 105 | - We improved the documentation including adding development examples for importers and improvers. |
19 | 106 |
|
20 | | -- We removed the ability to edit relationships from the UI. The UI is now read-only |
21 | | - and we will need to design a different UI for proper review and curation of vulnerabilities. |
| 107 | +- We removed the ability to edit relationships from the UI. The UI is now read-only. |
| 108 | + |
| 109 | +- We replaced the web UI with a brand new UI based on the same overall look and feel as ScanCode.io. |
22 | 110 |
|
23 | 111 | - We added support for NixOS as a Linux deployment target. |
24 | 112 |
|
25 | 113 | - The aliases of a vulnerabily are reported in the API vulnerabilities/ endpoint |
26 | 114 |
|
27 | | - |
28 | 115 | - There are breaking Changes at API level with changes in the data structure: |
29 | 116 |
|
30 | 117 | - in the /api/vulnerabilities/ endpoint: |
31 | 118 |
|
32 | | - - Rename `resolved_packages` to `fixed_packages` |
| 119 | + - Rename `resolved_packages` to `fixed_packages` |
33 | 120 | - Rename `unresolved_packages` to `affected_packages` |
34 | 121 | - Rename `url` to `reference_url` in the reference list |
| 122 | + - Add is_vulnerable property in fixed and affected_packages. |
35 | 123 |
|
36 | 124 | - in the /api/packages/ endpoint: |
37 | 125 |
|
38 | 126 | - Rename `unresolved_vulnerabilities` to `affected_by_vulnerabilities` |
39 | 127 | - Rename `resolved_vulnerabilities` to `fixing_vulnerabilities` |
40 | 128 | - Rename `url` to `reference_url` in the reference list |
| 129 | + - Add new attribute `is_resolved` |
| 130 | + - Add namespace filter |
41 | 131 |
|
42 | | -- We have provided backward compatibility for `url` and `unresolved_vulnerabilities` for now |
| 132 | +- We have provided backward compatibility for `url` and `unresolved_vulnerabilities` for now. |
| 133 | + These will be removed in the next major version and should be considered as deprecated. |
43 | 134 |
|
44 | | -- There is a new experimental cpe/ API endpoint to lookup for vulnerabilities by CPE and |
| 135 | +- There is a new experimental `cpe/` API endpoint to lookup for vulnerabilities by CPE and |
45 | 136 | another aliases/ endpoint to lookup for vulnerabilities by aliases. These two endpoints will be |
46 | 137 | replaced by query parameters on the main vulnerabilities/ endpoint when stabilized. |
47 | 138 |
|
48 | | -- Added filters for vulnerabilities endpoint to get fixed packages in accordance to the details given in filters: |
49 | | - For example: |
50 | | - - /api/vulnerabilities?type=pypi&namespace=foo&name=bar |
51 | | - will give only fixed versioned purls of this type `pkg:pypi/foo/bar` |
| 139 | +- We added filters for vulnerabilities endpoint to get fixed packages in accordance |
| 140 | + to the details given in filters: For example, when you call the endpoint this way |
| 141 | + ``/api/vulnerabilities?type=pypi&namespace=foo&name=bar``, you will receive only |
| 142 | + fixed versioned purls of the type ``pypi``, namespace ``foo`` and name ``bar``. |
52 | 143 |
|
53 | 144 | - Package endpoint will give fixed packages of only those that |
54 | 145 | matches type, name, namespace, subpath and qualifiers of the package queried. |
55 | 146 |
|
| 147 | +- Paginated initial listings to display a small number of records |
| 148 | + and provided page per size with a maximum limit of 100 records per page. |
| 149 | + |
| 150 | +- Add fixed packages in vulnerabilities details in packages endpoint. |
| 151 | + |
| 152 | +- Add bulk search support for CPEs. |
| 153 | + |
| 154 | +- Add authentication for REST API endpoint. |
| 155 | + The autentication is disabled by default and can be enabled using the |
| 156 | + VULNERABLECODEIO_REQUIRE_AUTHENTICATION settings. |
| 157 | + When enabled, users have to authenticate using |
| 158 | + their API Key in the REST API. |
| 159 | + Users can be created using the Django "createsuperuser" management command. |
| 160 | + |
| 161 | +- The data license is now CC-BY-SA-4.0 as this is the highest common |
| 162 | + denominator license among all the data sources we collect and aggregate. |
| 163 | + |
56 | 164 | Other: |
57 | 165 |
|
58 | | -- we dropped calver to use a plain semver. |
59 | | -- we adopted vers and the new univers library to handle version ranges. |
| 166 | +- We dropped calver to use a plain semver. |
| 167 | +- We adopted vers and the new univers library to handle version ranges. |
60 | 168 |
|
61 | 169 |
|
62 | 170 | Version v20.10 |
|
0 commit comments