sw360-4.0.0-M1
Proudly announcing a new milestone release for SW360. We have many additions since the last release 3.3.0 in November 2018. The main reason why it turned into the 4.0.0, a major version change, was the change on the database model. According to our versioning guidelines, we have major release jumps when the DB changes. Please see below for details about how to deal with the change.
The release has the following new features:
- A first release of the project / product approval report, listing and maintaining obligations resulting from OSS use.
- Support for integration for single-sign-on and identity management server keycloak
- A lot of enhancements (new endpoints) to the REST API
- More management for using attachments (license information, source code)
- Starting to parse and show SPDX information in the Web UI
- Integration of Codescoop`s OSS library OSMAN.
Comitters
There are many different contributors which lead to new releases a release, for example doing presentations and promoting sw360. If you count the committers who have commited since 3.3.0-M1 and this release, the credits for code go to the following persons:
akapti
alexbrdn
aratib
blaumeiser-at-bosch
bs-jokri
bs-matil
dreh23
greimela-si
hemarkus
henrik
imaykay
kallesoranko
lepokle
maierthomas
maxhbr
mcjaeger
nutanv1contr
smrutis1
sweetca
Changes
New Features
Larger areas of improvements include the work on the REST API (see individual changes below) and on the reporting for projects, which includes now a project clearing report.
4b12200
feat(attachment-usage): Restrict users to change the attachment usage without any WRITE access68f28f7
feat(attachment-usages): Take over the attachment usages from the original project, while cloning one.29ba68d
feat(client-management): added support to dynamically manage oauth clients4722f04
feat(codescoop): osman integration923d236
feat(default vendor): added possibility to save a default vendor for componentse21d358
feat(duplicates): added support to prevent duplicate projects/components/releasesca45db7
feat(homepage): show accepted releases in MyProjects portlet093bc8a
feat(licenseinfo): Add version string to file namefe58767
feat(licenseinfo): Use property for controlling license info generation111e99d
feat(licenseInfoMigration): added manual migration script for license infos28d252e
feat(licenses): add support for project-only obligationsed7e9f9
feat(project): Reporting Improvements4f2166a
feat(project): Reporting Improvements33397be
feat(Projects): Added new field "domain" to project summary65fa6d5
feat(Projects): displayuploadedBy
&Relation
in Attachment Usages1944686
feat(releaselink): add release to project from release view477019b
feat(report): add common rules tableb46cb4d
feat(report): add common rules table67975c2
feat(report): fill development detail and additional requirements table2acd46d
feat(REST-Doc): Updated the REST API Documentation2cdaa1c
feat(Rest-Project) : Added possibility to update project from rest endpoint.2faffb9
feat(rest): add keycloak support for sw360 rest api834e676
feat(rest): Added CORS module to fix CORS problems with JS clientsa666bc3
feat(rest): Added CORS module: fixes after reviewd9f6164
feat(rest): Added missing fields to REST API json5438233
feat(rest): Allow to search only by externalId-Key (without specific value)b35b265
feat(rest): make screenName auth case insensitivee270a28
feat(rest): REST Authentification with ScreenName390fb16
feat(rest): Search by externalIds endpoints for releases and components381469f
feat(rest): Updated response for GET requests on resource lists if there are no resources available6821256
feat(rest): Whitelist fields in REST API response2c68620
feat(rest): Whitelisting Fields in the REST API Responseeb0c44d
feat(search-dialog): improved multi item search dialog1dc69ad
feat(spdx-import): added functionality to view and use spdx information2b788b7
feat(spreadsheet): Added component categories field on spreadsheet export of Project with linked releases45ba41e
feat(sso-oauth): added possibility to get oauth access tokens when pre authenticated94971ec
feat(subproject licenses): added possibility to take over license selection from subproject8ca3200
feat(tabview): added better navigation support for tabview3bb68c9
feat(thrift): add http proxy for thrift clients26401da
feat(thrift): add newadditionalData
Field for generic data storageee7b374
feat(todoMigration): migration script for todosa903ba4
feat(UI-attachment): Create attachment bundle zip container, even for only one attachment9a59372
feat(UI-Project): Jump to edit release from ProjectDetails19bd0fa
feat(UI:PageTitle): Show selected Project/Component Name in Browser Tab2f7474f
feat(ui): Send to fossology error message.
Corrections
ba57b76
fix: Security changes in source codeaa9ccf3
fix(attachment): Multiple attachment upload stall issue94fedc4
fix(Attachments-UI):Restrict user from adding attachements with same file name31deb6f
fix(chores): updated documentation including licenses file862915f
fix(component edit): fixed an issue where external id and attachment changes were not savedd10022c
fix(cve-search): disable tests by assume statement and refactor8908b66
fix(license-import): add missing dependency0cf598a
fix(license-todo): Adding TODOs to License8fee825
fix(licenseinfo): Exclude old commons-lang3 dependencies8ac21e0
fix(licenseinfo): NPE at Generate License Reportbe69470
fix(Project UI): Fixed "Set To Default Text" feature for project license info header144a8ac
fix(Project): Only users with Admin access should be allowed to edit a closed projectbe38717
fix(ReleaseLink): Remove self link from LinkedReleases hierarchy8015cc8
fix(report): adding coverage if content exceeds the max number of characters in cell2fc4bd3
fix(report): corrections to report0525fde
fix(report): fix indentation and message textfb70f43
fix(report): Fix merge error, fix rest payloadc8d15ac
fix(REST API): Attachmentupload endpoint documentationb3615b3
fix(rest): do not answer with 404 if resource list is empty12931ff
fix(rest): Download licenseinfo file error026cb34
fix(rest): Hiding unwanted fields in project listing response in REST4a1f90c
fix(scripts): add missing dependency to scripts/install-thrift.sh06d113d
fix(sso-oauth): feedback from review00368cf
fix(treetables): fix inconsistent indentation in treetables8ddce65
fix(UI-Release): UI error on duplicate release creation7db8c86
fix(ui): After removing a task from Home page, the task is back in the list when navigating back01453cb
fix(ui): datepicker date and year selection is made available8cad8ea
fix(UI): Deleting submitted task under My Task Submission section.4f07ca5
fix(ui): Fix infinity loop by expanding empty projects in AttachmentUsagec07932b
fix(user export): fix Nullpointer Exception on user export166b03d
fix(user): migrate completly from getOpenId -> getScreenname20ea660
fix(users): write screenname into externalID field6acf644
fix(vendors): Remove vendorId and vendor of release in case of deletion6453b69
fix(vul-scheduler): fixed an issue where vulnerabilities were stored in the wrong dbc94e999
fix(wsimport): remove projects from components that are createdc54ef0e
fix(wsimport): small fixes and some refactoring for wsimporte3c47ba
fix(wsimport):download url for releases3cca3b8
fix(documentation): Fixed link to issue tracker in eclipse org71c6f6f
fix(rest): Fix self link for user resourcec2b5f90
fix(licenses): added log message and handle GPL-2.0+ case when converting licensesbbf55aa
fix(wsimport): removed unnecessary check
Test, Documentation and Infrastructure
The most important part on the infrastructure part is the change of the thrift compile to version 0.11.0. This has an impact to all, because an update of the installed thrift compiler is required from the previous version for all machines where the sw360 projects needs to build. Note that also the ektrop lib has been updated as well as the webjars which include the Java script components for the Web UI.
7128acd
chore(common): Mail service sends notifications asynchronousbdd45d2
chore(rm): Change Thrift Version in Readmec4228b0
chore(thrift): update thrift version to 0.11.07089e19
chore(thrift): use install/fast make target5ba0ebf
chore(ui): Auto resize textarea in project view and edit mode517faaa
chore(ui): Display banner warning for IE0864e14
chore(ui): Improve lucene search logic for project versionf51c4af
chore(ui): Some fixes for UI regarding search and filtersabf5be7
chore(vulnerabilities): Linked releases can be empty or null (rest create project)b6da7ca
chores(developer): remove developer tag in pom.xmld4d522d
chores(quick-deploy): add quick deploy for portlet165f9ca
chore(REST): add documentation for Licenses in Releases53ae7b0
refactor(db-bridge): updated ektorp library version to current 1.5.00632505
refactor(velocity): update to new version6e8c349
refactor(webjars): update versions of webjars
Database Schema Updates
Because of changes in the couchdb schema you likely need to run a migration script. Please find more information here: sw360/scripts/migrations/
, in summary, you will need to update in the database:
- Changes to the way how the selected licenses and resulting attachment usage information is stored leads to the need to execute
011_migrate_attachment_usages_license_info.py
. - An identified for a todo was not used, but it was changed to title, so execute
012_migrate_todoid_to_title.py
.