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.
4b12200feat(attachment-usage): Restrict users to change the attachment usage without any WRITE access68f28f7feat(attachment-usages): Take over the attachment usages from the original project, while cloning one.29ba68dfeat(client-management): added support to dynamically manage oauth clients4722f04feat(codescoop): osman integration923d236feat(default vendor): added possibility to save a default vendor for componentse21d358feat(duplicates): added support to prevent duplicate projects/components/releasesca45db7feat(homepage): show accepted releases in MyProjects portlet093bc8afeat(licenseinfo): Add version string to file namefe58767feat(licenseinfo): Use property for controlling license info generation111e99dfeat(licenseInfoMigration): added manual migration script for license infos28d252efeat(licenses): add support for project-only obligationsed7e9f9feat(project): Reporting Improvements4f2166afeat(project): Reporting Improvements33397befeat(Projects): Added new field "domain" to project summary65fa6d5feat(Projects): displayuploadedBy&Relationin Attachment Usages1944686feat(releaselink): add release to project from release view477019bfeat(report): add common rules tableb46cb4dfeat(report): add common rules table67975c2feat(report): fill development detail and additional requirements table2acd46dfeat(REST-Doc): Updated the REST API Documentation2cdaa1cfeat(Rest-Project) : Added possibility to update project from rest endpoint.2faffb9feat(rest): add keycloak support for sw360 rest api834e676feat(rest): Added CORS module to fix CORS problems with JS clientsa666bc3feat(rest): Added CORS module: fixes after reviewd9f6164feat(rest): Added missing fields to REST API json5438233feat(rest): Allow to search only by externalId-Key (without specific value)b35b265feat(rest): make screenName auth case insensitivee270a28feat(rest): REST Authentification with ScreenName390fb16feat(rest): Search by externalIds endpoints for releases and components381469ffeat(rest): Updated response for GET requests on resource lists if there are no resources available6821256feat(rest): Whitelist fields in REST API response2c68620feat(rest): Whitelisting Fields in the REST API Responseeb0c44dfeat(search-dialog): improved multi item search dialog1dc69adfeat(spdx-import): added functionality to view and use spdx information2b788b7feat(spreadsheet): Added component categories field on spreadsheet export of Project with linked releases45ba41efeat(sso-oauth): added possibility to get oauth access tokens when pre authenticated94971ecfeat(subproject licenses): added possibility to take over license selection from subproject8ca3200feat(tabview): added better navigation support for tabview3bb68c9feat(thrift): add http proxy for thrift clients26401dafeat(thrift): add newadditionalDataField for generic data storageee7b374feat(todoMigration): migration script for todosa903ba4feat(UI-attachment): Create attachment bundle zip container, even for only one attachment9a59372feat(UI-Project): Jump to edit release from ProjectDetails19bd0fafeat(UI:PageTitle): Show selected Project/Component Name in Browser Tab2f7474ffeat(ui): Send to fossology error message.
Corrections
ba57b76fix: Security changes in source codeaa9ccf3fix(attachment): Multiple attachment upload stall issue94fedc4fix(Attachments-UI):Restrict user from adding attachements with same file name31deb6ffix(chores): updated documentation including licenses file862915ffix(component edit): fixed an issue where external id and attachment changes were not savedd10022cfix(cve-search): disable tests by assume statement and refactor8908b66fix(license-import): add missing dependency0cf598afix(license-todo): Adding TODOs to License8fee825fix(licenseinfo): Exclude old commons-lang3 dependencies8ac21e0fix(licenseinfo): NPE at Generate License Reportbe69470fix(Project UI): Fixed "Set To Default Text" feature for project license info header144a8acfix(Project): Only users with Admin access should be allowed to edit a closed projectbe38717fix(ReleaseLink): Remove self link from LinkedReleases hierarchy8015cc8fix(report): adding coverage if content exceeds the max number of characters in cell2fc4bd3fix(report): corrections to report0525fdefix(report): fix indentation and message textfb70f43fix(report): Fix merge error, fix rest payloadc8d15acfix(REST API): Attachmentupload endpoint documentationb3615b3fix(rest): do not answer with 404 if resource list is empty12931fffix(rest): Download licenseinfo file error026cb34fix(rest): Hiding unwanted fields in project listing response in REST4a1f90cfix(scripts): add missing dependency to scripts/install-thrift.sh06d113dfix(sso-oauth): feedback from review00368cffix(treetables): fix inconsistent indentation in treetables8ddce65fix(UI-Release): UI error on duplicate release creation7db8c86fix(ui): After removing a task from Home page, the task is back in the list when navigating back01453cbfix(ui): datepicker date and year selection is made available8cad8eafix(UI): Deleting submitted task under My Task Submission section.4f07ca5fix(ui): Fix infinity loop by expanding empty projects in AttachmentUsagec07932bfix(user export): fix Nullpointer Exception on user export166b03dfix(user): migrate completly from getOpenId -> getScreenname20ea660fix(users): write screenname into externalID field6acf644fix(vendors): Remove vendorId and vendor of release in case of deletion6453b69fix(vul-scheduler): fixed an issue where vulnerabilities were stored in the wrong dbc94e999fix(wsimport): remove projects from components that are createdc54ef0efix(wsimport): small fixes and some refactoring for wsimporte3c47bafix(wsimport):download url for releases3cca3b8fix(documentation): Fixed link to issue tracker in eclipse org71c6f6ffix(rest): Fix self link for user resourcec2b5f90fix(licenses): added log message and handle GPL-2.0+ case when converting licensesbbf55aafix(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.
7128acdchore(common): Mail service sends notifications asynchronousbdd45d2chore(rm): Change Thrift Version in Readmec4228b0chore(thrift): update thrift version to 0.11.07089e19chore(thrift): use install/fast make target5ba0ebfchore(ui): Auto resize textarea in project view and edit mode517faaachore(ui): Display banner warning for IE0864e14chore(ui): Improve lucene search logic for project versionf51c4afchore(ui): Some fixes for UI regarding search and filtersabf5be7chore(vulnerabilities): Linked releases can be empty or null (rest create project)b6da7cachores(developer): remove developer tag in pom.xmld4d522dchores(quick-deploy): add quick deploy for portlet165f9cachore(REST): add documentation for Licenses in Releases53ae7b0refactor(db-bridge): updated ektorp library version to current 1.5.00632505refactor(velocity): update to new version6e8c349refactor(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.