This is the changelog file of the sw360 project. It starts with the first release being provided at eclipse/sw360. For older releases, please refer to the first project location:
https://github.com/sw360/sw360portal/releases
This tag covers many corrections/bug fixes after the 15.0 release.
This release provides features, muliple bug fixes for release 15.0, for example, new REST endpoints, new integration test suite.
For existing installations, a data migration is required. Please go to the readme file in scripts/migrations to see more information:
https://github.com/eclipse/sw360/blob/master/scripts/migrations/README.md
For running the migrations scripts, you will need python and the couchdb package. Please note that you will need to change manually in the python file: the DRYRUN variable and the couchdb URL (if that is not on localhost or requires password or both).
The following github users have contributed to the source code since the last release (in alphabetical order):
Abdul Kapti <abdul.kapti@siemens-healthineers.com>
Alberto Pianon <alberto@pianon.eu>
Anupam Ghosh <anupam.ghosh@siemens.com>
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Helio Chissini de Castro <helio.chissini-de-castro@bmw.de>
hoangnt2 <hoang2.nguyenthai@toshiba.co.jp>
Jaideep Palit <jaideep.palit@siemens.com>
Kouki Hama <kouki1.hama@toshiba.co.jp>
Pham Van Hieu <hieu1.phamvan@toshiba.co.jp>
Smruti Prakash Sahoo <smruti.sahoo@siemens.com>
Tran Vu Quan <quan1.tranvu@toshiba.co.jp>
tuan99123 <tuan2.nguyennhu@toshiba.co.jp>
Please note that also many other persons usually contribute to the project with reviews, testing, documentations, conversations or presentations.
709a5ec9feat(UI): ModifiedOn & MOdifiedBy fields for Project/COmponent/Release73fe7e68feat(export): Enable mailing for exported spreadsheet for componentsbbc37a93feat(ProjectUI): added filter for linked release/projects tablea9053df2feat(ProjectUI): AttachmentUsages - Added option to filter for releases without source attachmentsf7aebb1efeat(rest): Add upload description to trigger fossology process26226fbbfeat(exportExcel): Send an email to user with download link once export completed860e420dfeat(exportExcel): Generate and save excel to file system, Download generated file with token07b54e93feat(UI): Display Licenses from Scanner findings in ISR attachments9511adb7feat(obligation): add function Edit/Duplicate/Changelog for Obligation830f463afeat(ui) : Strengthen sw360 admin privileges about Read and Write7dd31343feat(compose): Common network adn Fossology decoupling5974152ffeat(ProjectUI): Disabled CR based on project Group0f2e4c14feat(rest): Get Project Vulnerability by external id and release id3dfe2bbcfeat(projectUi): Update some fields in a Project in closed state440a6fdafeat(docker): Overhaul SW360 docker0dc962d0feat(script): Addition to update project field starting with some valuee5516c21feature(docker): Run sw360 as non-priv usercec73056feature(docker): Use volumes with tomcat33481c32feature(docker): Add fossology on the mix4036a822feat(project): Added vendor for project
5f5bca8afix(ISR):Fixed source file not found in ISR & Total files count mismatchb4f0b870Fix (Release): Fixed vulnerability can't be deleted when it is linked with a deleted releasef8052466fix(UI): fix Some long sentence can't show property in License Obligation8ead75c3fix(ui): Display url, email, text of Additional Data for Component and Releasebafd477ffix(CR-UI): fixed the count mismatch in Open Components column of CR tablee776a969fix(excel-export): fixed project filter issue while exporting excelbcc2d89cfix(Obligation): Save Admin Level Obligation based on Obligation topic1bec6af2fix bug Invalid GitHub action #15199bc9b9bbFix(License): Fix bug one license cound add only 10 obligations4b7197b4Fix(REST): fix visibility of Project Rest APIaef08989fix(docker): Add better proxy documentation to docker-compose534ee6f7fix(ui): Fixed Obligation count in project viewcac1b13efix(thrift): Updated thrift configuration to adopt configurable max message size and max framesize2fab647btypo in the docker run command8d1ddfc3fix(compoent-visibility): Moderation request for clearing admind92ecacefix(ui) : modify translation for search functionce57d9b5Update information about port redirection3792db20fix(ModerationRequestUI): Fixed project Moderation Request UI is not loadingea798093Update README_DOCKER with typos fixing1c0dd050fix(Dockerfile): Make Dockerfile more consistenta8c2334efix(merge): Optimized code to check for write permission of release and components before starting to merge9bbb49bafix(modReq): Fixed moderation request for release with version overwrited1fd4307fix(ReleaseClearingState): ClearingState not changing to New from Scan Availablecbec94a4fix(api): Correct the ECC status when release is created by APIf0f9ff62fix(docker): Added missing license6fb1f415fix(docker): Add Document Library as volume to enable keep custom settingsfde1f460fix(docker): Add proper missing clucene configb719f989fix(docker): Add better proxy handling11e24172fix(docker): Get liferay from github releases6bddc2bffix(docker): Reduce first bootstrapping5df8eb4afix(docker): Update README_DOCKER.md0e917987fix(docker): Update documentation with CSS issuee1a21e07fix(docker): Update documentation with CSS issuecfe7e413fix(docker): Improve documentation and persist porta-ext.propertiese335c374fix(docker): README update and cert ignore for curlab23d0ccfix(docker): Thrift builds now under tmpfsff9409fdfix(docker): Improve build speed and build layers size5467abf9Update docker base using Eclipse Temurin681eb0c4fix(ui): Restrict visibility of each component/release like Project0b06f3eefix(ui): Fixed pagination of component list with search paramsf14298a4Fix search function with key is empty
3efa3a56(chores): updated README.md and download_dependencies.sh files7541ec8dchore(deps): bump spring-security-core in /frontend/sw360-portleta17efda8chore(deps): bump gson from 2.8.6 to 2.8.918763b51chore(deps): bump jackson-databind from 2.11.3 to 2.12.6.12502b58d(chores): fix security vulnerabilitiesa7a75336chore(rel): Changing back to 15.1.0-SNAPSHOT
This tag covers many corrections/bug fixes after the 14.0 release.
This release provides features, muliple bug fixes for release 14.0, for example, new REST endpoints, new integration test suite.
The following github users have contributed to the source code since the last release (in alphabetical order):
Anupam Ghosh <anupam.ghosh@siemens.com>
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Gaurav Mishra <gmishx@gmail.com>
He, Albert <albert.he@sap.com>
Jaideep Palit <jaideep.palit@siemens.com>
ravi110336 <kumar.ravindra@siemens.com>
Smruti Prakash Sahoo <smruti.sahoo@siemens.com>
Please note that also many other persons usually contribute to the project with reviews, testing, documentations, conversations or presentations.
9807d381feat(ui): Added new Clearing State and Attachment Type77f06a6efeat(ci): Remove dependency of commonsIO from clientbe212373feat(ci): Fixed Attachment test casesbf43f889feat(ci): Fixed Release test cases790c935ffeat(ci): Fixed component test cases32ae085ffeat(ci): Run Client Integration Test for rest api on DB77f49ec2feat(ui): Added new column for ECCN in ECC status tab of project details view8ed3c68dfeat(AttachmentTypeUI):Add a new attachment type Security Assessment.2e593adffeat(client): Added Java Client Apis for vulnerability endpoints.
2b562699fix(ci): Fixed vulnerability IT testcases854c6453fix(release): Fixed mainline state is empty when creating a release by ui or restbe26f6cafix(ci): Fixed Project Client Testcasese06eb192fix(ci): Fixed License Testcases2261b62ffix(script): Fixed deployment status check after spring boot updat02ecfe6fFix default config not working issue30e404bdFix component list sorting errorf6337094fix(rest): Optimize rest api for get project by tag, type, group
376d5b94chore(deps): bump log4j-core from 2.17.0 to 2.17.14fc46d41chore(deps): bump log4j-core from 2.16.0 to 2.17.0c386b4c6log4j version upgrade to 2.16.0(log4j-vulnerability)b8ebd682chore(rel): Changing back to 14.1.0-SNAPSHOT0368ae99chore(readme): Update release badge to latest
This tag covers many corrections/bug fixes after the 13.4 release.
This release provides features, muliple bug fixes for release 13.4, for example, new REST endpoints, new functions in the UI and changelog enable/disable from sw360.properties.
For existing installations, a data migration is required. Please go to the readme file in scripts/migrations to see more information:
https://github.com/eclipse/sw360/blob/master/scripts/migrations/README.md
For running the migrations scripts, you will need python and the couchdb package. Please note that you will need to change manually in the python file: the DRYRUN variable and the couchdb URL (if that is not on localhost or requires password or both).
The following github users have contributed to the source code since the last release (in alphabetical order):
Abdul Kapti <abdul.kapti@siemens-healthineers.com>
Anupam Ghosh <anupam.ghosh@siemens.com>
Jaideep Palit <jaideep.palit@siemens.com>
Kouki Hama <kouki1.hama@toshiba.co.jp>
Michael C. Jaeger <michael.c.jaeger@siemens.com>
ravi110336 <kumar.ravindra@siemens.com>
Shi Qiu <shi1.qiu@toshiba.co.jp>
Smruti Prakash Sahoo <smruti.sahoo@siemens.com>
Tran Vu Quan <quan1.tranvu@toshiba.co.jp>
Please note that also many other persons usually contribute to the project with reviews, testing, documentations, conversations or presentations.
e1923ac3feat(UI): import OSADL obligation information and update screen of Adding new obligation2b6b9a9dfeat(UI): CLI file clean up assistant3702de56feat(rest): Added rest api to create duplicate of project8ff2748ffeat(RestAPI):Update the attachment status with the approver/rejecter Name and Group.e3d8122afeat(ProjectUI): Add new values to Obligation status3bab5e99feat(ui): Display,update vulnerability for linked projects in project details view8d1f96fffeat(log): Added output processing of the change loga873ad83feat(ReleaseUI): License to SourceFile Mapping533ace69feat(rest): Add Rest API for linking release to release
ea72ce63fix(ui): Fixed redirect page from Release Edit page to Release Details pagece9d9550fix(changelog):Fixed the file permission issue for sw360 changelog.9ef38314fix(rest): Change base url of health api from /actuator to /843f1f8dfix(rest): Get component by name case insensitive96a59335fix(rest): Create duplicate project clearing state should always be open and not copiedfc1f1e39fix(sw360ChangeLog):Configure the sw360ChangeLog path.d27527d3fix(docker): Fixed cannot upload attachment more than 1 MB by Rest Api46e6eb18fix(views): Optimize views for components2e8a9cc8fix(views): Optimize views for releases21682a3afix(views): Optimize views to load large projects65719867fix(rest): Fixed hateoas link not showing correct protocol0ed91d75fix(ui): Links in ReadmeOss as HTMl are not rendered properlyedeb13d2fix(ui): fix the bug that attachments usages in project cannot show other line5bff785ffix(rest): Update project vulnerabilities0202f9dffix(rest): Fixed projects loading issue in REST62d8887bfix(UI):Component details not shown for the Security Admin Role.1db9afdafix(rest): Added new parameter luceneSearch to Get Project List Api, to get project list based on lucene search3305fc6bfix(Japanese) : Update and modify Japanese translations2f85cf70fix(projects): Fixed thrift timeout by optimizing projects loadingaa8574ebfix(upgradeVersion): Updated resource server properties for Spring 2.Xa0f1861bfix(upgrade version): fixed the test cases failure issue when generating the rest docs.033d912afix(upgradeVersion): Fixed Test case for authorization server with spring boot version upgrade * Refactored code and removed commented lines71bf74bcfix(upgradeVersion):Upgrade version.2e98d07dfix(RestAPI):500 Internal server error from releases API.eb6192bcfix(ui): Cleanup moderation request on deleting project/release/component57e08173fix(ui): Changes in External urls in Project are not registered in Moderation Request. Closed Moderation Request doesnot show Proposed changes8b5ffeccfix(Rest):make SW360 REST API Get Releases by Name Case-Insensitive.97a72951fix(DBTestsFail): Migrating databasetest.properties to couchdb-test.properties.6c3c51ecfix(log): Fix indentation issue in source code.4ab50904fix(MyProjectErrorMessage):update the error message in UI for the project which is not accessible.d2f22b80fix(ui): Fixed js error while merge component/release with null additional data9c4d2f0dfix(rest): Added exception processing for authorizationaf443442fix(script): add password and user in couchdb-lucene.ini318d0923fix(docker):Update couchdb3.1 ubuntu20.04 liferay7.3.4 postgresql125ec1df6afix(ci) added new files to license check script26dc7333fix(ui): Fixed create/update users with uppercase email or externaliddb1c1a97fix(ui): User should be able to edit group of project
This tag covers many corrections and bug fixes after the 13.3 release. Th eproductive use of 13.3 has revealed a number of issues resulting from the big persistence layer switch.
This release provides also features, however, some smaller news are there, for example, new REST endpoints or new functions in the UI.
For this version, no database migration is necessary.
The following github users have contributed to the source code since the last release (in alphabetical order):
abdul.kapti@siemens-healthineers.com
jaideep.palit@siemens.com
kumar.ravindra@siemens.com
michael.c.jaeger@siemens.com
nam1.nguyenphuong@toshiba.co.jp
smruti.sahoo@siemens.com
yosuke.yamada.no@hitachi.com
Please note that also many other persons usually contribute to the project with reviews, testing, documentations, conversations or presentations.
3089008cfeat(rest): Support map of release id to usage as request body in addition to previous array of release id fordf2f6dadfeat(VirusScanSchedulerService): Scheduler Service for deletion of attachment from local FS276650a9feat(ObligationHelpTextforProject): Provide the different obligation help text from the Projects Screenec37c480feat(moderations): Pagination in requests tab for moderations0d739556feat(obligationlevelhelptext):Provide info text for different obligation Level83282112feat(ProjectUI): feature to add License Info to linked releases from License Clearing tabafdac6f5feat(ProjectVersion): Added the project version in the search Project filter4b1a1b3ffeat(ProjectUI): Fixed copy of projects removes linked subprojectsd44b63bafeat(ProjectGroupFilter):Filter the projects in Advanced Search based on Projects Group4140a8adfeat(rest): Added new endpoints to update attachment info of Project, Component, Release96443359feat(rest): Added rest endpoint to update project-release-relationship information of linked releases in a project756190b4feat(ProjectUI): feature to display the source files linked with the licenses
ef27ad5dfix(rest): Auto-set release clearing statedebfe70dFix: Rest interface can not handle licenses which do not exist in the database #5342d56d0b4fix: Wrong error handling when deleting multiple components #851 nam1.nguyenphuong@toshiba.co.jp9a31049dfix(script): Build failure of sw360dev.Dockerfile and compileWithDocker.sh9f32b882fix(readmeossdownload): Null pointer while downloading readme_ossf0aa5cbffix(ui/rest): Issue fetching releases by external ids and null value in external id breaks the release viewbaaa9f42fix(search): search releases while linking to project00083ea8fix(backend): Issues with boolean and timestamp field deserialization and get attachment info REST
This tag is applied to have the migration from cloudant to ektorp in one single step. Ektorp is a Java library which provides an object oriented interface to the (REST-based) access to couchdb. It has been used in sw360 from day 1. Now we concluded to replace ektorp: it does not support paging; having our server growing larger and lager and serving more and more users, receiving results sets from a couchdb view without paging is a pain. And it did not look like it will be supported, because the ektorp project looks calm now (last commit to master in 2017). Among the available options for replacing ektorp, we choose the java-client from the open source project cloudant (version 2.19.1, see https://github.com/cloudant/java-cloudant). It supports paging and offers potentially other interesting features (caching, compatibility with MongoDB, etc.).
For this version, no database migration is necessary.
The following github users have contributed to the source code since the last release (in alphabetical order):
smruti.sahoo@siemens.com
Please note that also many other persons usually contribute to the project with reviews, testing, documentations, conversations or presentations.
0e22d55efeat(components-pagination): paginated view response for componentsfd95a2cffeat(cloudant): Migrating from ektorp to cloudant java client
The reason for this tag is to have the last release before the ektorp framework to the new cloudant framework for access to the couchdb. This upcoming change will touch a large number of places in the code and thus a last release before this larger change will be merged.
As per notable feature there is the new UI in the admin area to issue the OAuth client credentials for the OAuth legacy workflow for the REST API. Another feature is the storing of all attachments (at upload) also to a configurable location in the file system. This helps anti virus software to scan these instead of requesting them from the couchdb. Note that files are stored at the configured path with user_mail/document_id folder structure to quickly track down origin of viruses and malware.
This milestone tag also chovers changes to the build infrastructure on the eclipse servers to prepare future releases.
For this version, no database migration is necessary.
The following github users have contributed to the source code since the last release (in alphabetical order):
abdul.kapti@siemens-healthineers.com
jaideep.palit@siemens.com
kumar.ravindra@siemens.com
kouki1.hama@toshiba.co.jp
lars.geyer-blaumeiser@bosch.io
michael.c.jaeger@siemens.com
smruti.sahoo@siemens.com
d8021733feat(AttachmentVirusScan): Store attachment to File System asynchronously, handle saving of large multi-part attachments. Fix test cases5c77743ffeat(AttachmentVirusScan):Store the attachment to local file system for virus scan.d97146a3feat(REST): Added new Rest API endpoint for reading clearing request50f576a2feat(OAuthClient): Create, update, delete OAuthClient from UId4017345feat(PredefinedTags):Predefined tags per group in the Projects Tag field.0c7fc59afeat(UI): added button for copying document id to clipboard
d19d08d0fix(rest): Added support for pagination and retrival using multi valueprojectRelevanceparam3419b4a6fix(search): Removing support for_ftihook based lucene search for couchdb 1.xf783240afix(rest): Fix status code when moderation request is created as a part of an API call4f2c2121fix(moderaion):add CommonUtils.addAll(moderators, dbcomponent.getModerators());8b867c19fix(build): Fix issue with overwriting of patchlevel variable in pom.xmlb9a38744fix(test): Use test databases in maven test phasec68b4d4afix(OrtIntegration): Fix client to perform case insensitive search of component.784fbafcfix(script): Utility script to recompute clearing state of releasece69b3bdbug(eclipse): Quickfix for maven flatten pom problem
958a8a77chore(tag) changing back pom.xml shapshot version tag
This time: client libraries. This release among other things brings the client libraries taken over from the sw360antenna project and moved them into the sw360 code base. The client libraries enable Java applications to communicate with a sw360 server via REST calls. Other notable contributions include:
- Support for CouchDB 3.x
- Massive speedup of SPDX import by switching to streaming based parsing for license information for large files
- Single container setup (see
Dockerfilein project root) for super easy deployment of sw360 - More UI improvement on sorting and filtering in list views
- Supporting multiple templates for the project clearing reports
- REST: Manage used attachments for license info generation and better querying of vulnerabilities
For this version, no database migration is necessary.
The following github users have contributed to the source code since the last release (in alphabetical order):
abdul.kapti@siemens-healthineers.com
jaideep.palit@siemens.com
kumar.ravindra@siemens.com
kouki1.hama@toshiba.co.jp
lars.geyer-blaumeiser@bosch.io
michael.c.jaeger@siemens.com
smruti.sahoo@siemens.com
Stephanie.Neubauer@bosch.io
0b7818defeat(MyProjectsUI):Add additional filter to MY PROJECTS homepage based on clearing state9e98dd3ffeat(ChangeLog): Highlight changes between old and new revision of Documenteef05a1bfeat(ProjectUI): Sort & Filter for ClearingStatus TreeView tableb6cd9df7feat(Issue Template):Update issue templates for bug and featurefb15708cfeat(ui):Rename and Re-arrange the Tabs under Projects section98aa0859feat(ProjectUI): Release Filter based on attachment availability29308987feat(clearingreport): Feature to select template for Project Clearing reportfc024b45feat(ReleaseUi): Add other / detected license in release04139347feat(ui-rest): Provide option in attachment usage to include/exclude concluded licenses during LicenseInfo Generation1f995bfafeat(rest): Filter for get project vulnerabilities endpoint1d771d30feat(rest): Added endpoint to get changel og by document id68ce3cf8feat(ui): Display Id in summary page of project, component and release5f2a4089feat(http-support): add http support library for sw360502d9087feat(sw360Docker): Single container Docker for SW360948924f0client(test): add failsafe plugin
7091c4b6fix(spdxtools):Use toArray(new Node[0]) for shorter code and better performance8b4ebc00fix(version): Increase minor version to ensure proper version sequence31909ccefix(pom): Fix indentation of profileeefcf17ffix(excelexport): Projects with linked releases excel export error2ed2ad80fix(LicenseInfo): Optimized loading of license info, source code download, Clearing report page034f291cfix(mergeComponentRelease): Attachments not linked properly from source component/Releasec3830559fix(spdx): import large spdx rdf filesb08d2f44fix(datahandler): Modified ektorp queryView call to support CouchDB 3d9756e6afix(Rest): Create/Update Release with name same as component name
306c2080chore(eclipse): Change Jenkinsfile to run release or commit count builds948c7bacchore(eclipse): Build on eclipse ci for deployment of java artifactsba666266refactor(client): missing license headers867372bdrefactor(http): Change http mockito to same versionba72cb7dtest(client): fix mockito dependencycfa8d512refactor(pom): move version of purl to parent pom31a239ebdoc(client): add documentation of the sw360 data modelcd3ac486doc(http-support): Add site to http support4670ffferefactor(client): Remove all antenna mentionsb89e04cerefactor(client): remove antenna http support and switch to sw360834c1c79refactor(client): Refactor package name7a6f295crefactor(client): Add dependencies to poms
We tagged this release, because there are persons testing the current master and not seeing the migration script on the database required. The migration on the database came in because of changes on the obligations. After the major work on the obligations data model in the previous release, more work on the UI made a migration script necessary (number 042). Please note that per our versioning convention, the database migration script makes the tag 13.0 not 12.1.
For existing installations, a data migration is required. Please go to the readme file in scripts/migrations to see more information:
https://github.com/eclipse/sw360/blob/master/scripts/migrations/README.md
For running the migrations scripts, you will need python and the couchdb package. Please note that you will need to change manually in the python file: the DRYRUN variable and the couchdb URL (if that is not on localhost or requires password or both).
The following github users have contributed to the source code since the last release (in reverse order of commit appearance):
smruti.sahoo@siemens.com
jaideep.palit@siemens.com
abdul.mannankapti@siemens-healthineers.com
michael.c.jaeger@siemens.com
external.Martin.Idel@bosch.io
1246c023feat(SplitComponent): Add tooltip for releases of component with SourceCodeDownloadUrl and BinaryDownloadUrl during split feature2eafe3d5feat(rest): Accept 'downloadurl' in request body as 'sourceCodeDownloadurl' as an alternative to original value 'sourceCodeDownloadurl' for Create and update Release APIsccf05247feat(ChangeLogs): Fixed issue related to null to empty string or collection conversion20be42dbfix(rest): Fixed update Project API issue - unexpected changes in some fields like moderators, contributors, etccf4bdcfafeat(UtilityScript): Script for couchdb 2.x to update a field(String) in project document to a new valueea009aedfeat(Obligation): Add License Obligation from License Database based on licenses found in accepted attachments in Release and its LicenseInfo attachmentUsage in Projecta6cf31a3feat(projectEdit): Project creators and moderators can edit few fields in a closed project2496f037feat(ClearingReport): Added hyperlink to release document in project clearing report, Changed Font Style (Arial) and Font Size (9) for table contentbd07d53efeat(CR-UI): Added Advaced filter for CR & fix # of components count
c18b42b9fix(clearingreport): Error while downloading clearing report3ff60a09fix(ExportSpreadSheet): Fixed ClassNotFoundException while export Spreadsheet431e1673fix(ClearingReport): Fixed null pointer issue for replace text in Clearing report3ff60a09fix(ExportSpreadSheet): Fixed ClassNotFoundException while export Spreadsheet431e1673fix(ClearingReport): Fixed null pointer issue for replace text in Clearing report
71348b4fchore(deps): Upgrade dependencies (LibreOffice et al)
This release something special because it brings a lot, really a lot of changes in the database model, more specifically it is a refactoring of the licenses and obligation objects. Following corrections:
- Risks are dropped and migrated to obligations
- Term "todo" is eliminated and we aim at consistently use "obligation"
Then there are two new dimensions of obligations, first obligation level
- Organisation obligations: obligations that apply for all projects of the sw360 instance.
- Project obligations: obligations that apply for a specific project, for example, obligations need to be applied to software which is delivered on a device without display.
- Component obligations: obligations that apply to a release to be more precise, for example IP issues coming when using a particular release.
- License obligations: obligations which come from using software under a license.
Second, the obligations have types:
- Permissions
- Restrictions
- Obligations (finally)
- Risks (for example patent litigation clauses)
- Exceptions (for example classpath exception with GPL)
So that involves a lot of changes to the data model, and resulting a lot of migrations. We apologize in advance for the 18 migrations scripts to execute. But it will be easier to have individual migration scripts for particular changes instead of having a large one. Please refer to scripts/migrations/README.md for further details. Please note that in general, all scripts have a DRYRUN variable which is set to True by default and needs to be set to False to apply actually changes to the database.
Besides, this release has also some other changes, including:
- changing download URL into two attributes: binary download URL and source code download URL
- New REST Endpoint: Search!
- if you ant to write clients using REST: Pagination for some of the major listings!
For existing installations, a data migration is required. Please go to the readme file in scripts/migrations to see more information:
https://github.com/eclipse/sw360/blob/master/scripts/migrations/README.md
For running the migrations scripts, you will need python and the couchdb package. Please note that you will need to change manually in the python file: the DRYRUN variable and the couchdb URL (if that is not on localhost or requires password or both).
The following github users have contributed to the source code since the last release (in order of appearance):
<abdul.mannankapti@siemens.com>
github dependabot ;-)
<jaideep.palit@siemens.com>
<michael.c.jaeger@siemens.com>
<smruti.sahoo@siemens.com>
<Stephanie.Neubauer@bosch.io>
596ed7bbfeat(ProjectListUI): Added clearing state filter in Project List693dc596feat(rest): New search resource endpoint and get releases for multiple projectsa2577cf0feat(rest/ui): Project vulnerability enpoint update & added new projectrating in UIc1b1e33bfeat(ui-rest): Changes in Release information, change title "Download URL" to "Source Code Download URL", add new data filed "Binary Download URL", added new field in excel sheet99b3f816feat(ProjectTodo): Remove ProjectTodo and UI changes for Obligation and ProjectTodo7b9b73a7feat(projecttodo): Migration Scriptscb890218feat(ProjectTodo): Renamed type to obligationType ,Changed required licenseIds to optional, Added optional ObligationLevel obligationLevel in ObligationStatusInfo04020beffeat(CR-UI): Enhancement & Bug fixes1d6d2b32feat(licensemodel): Drop Risk and Risk category and merge it with Obligation3ac3ba23feat(ProjectObligation): Changes in Project Obligation Data Model, renamed linkedObligations to linkedObligationStatus in ProjectObligation struct, renamed struct ProjectObligation to struct ObligationListc009f2c8feat(obligation): Rename product obligation to project obligationfcfec496feat(LicenseDataModel): Merge LiceneObligation with Obligationc5e4e1e6feat(ui): Allow access to merge/split of component and release based on user role configured in properties (6 weeks ago) jaideep.palit@siemens.comaf625d7bfeat(ProjectUI): Added 2 new fields in Project Obligation5b837649feat(Project-UI): Added new field in Advanced Search for Projetsff4a9af4feat(LicenseInfoObligation): Rename Obligation in LicenseInfo.thrift to ObligationAtProject, added null check in change log for merge release6c13cc93feat(ObligationDataModel): Changes in Obligation data model, Renamed struct Obligations to struct Obligation in License.thrift, Renamed existing obligationType to obligationLevel, Created new obligationType field which has Permission,Risk,Exception,Restriction as options, Fixed adding obligation in licenses tab067b731ffeat(rest): Adding pagination while listing projects and listing project releases
a2dd35defix(lucene): fix parameter allow leading wildcard to true9ac6e93efix(ModerationRequest): Fixed Moderation Request not opening when associated attachment deleted51ab6e0bfix(ProjectListUI): Fixed sorting of project clearing state in Project List page0d525531fix(Report): Fixed Clearing report to show project, component, organisation obligation92d00ab1fix(Obligation): Expand/Collapse all columns including comment using single leftmost toggle button for a row, Remove truncate for Obligation Text, Added expand collapse column feature for comments5a1422e6fix(obligations):cover null pointer case if file with obligations is missing51860a0ffix(moderation): Project moderation fix2f9a6879fix(UserSearch): Fixed search user functionality
d04911b8chore(deps-dev): Bump junit in /backend/src/src-attachments4a3e8904chore(deps-dev): Bump junit in /backend/src/src-licenseinfo4f3c3ea8chore(deps): Bump junit from 4.12 to 4.13.1ca348628typo(rest): fix patchComponent in releasecontroller is patchRelease
The changes for this release incorporate a larger jump from the previous release, because it changes the sw360 infrastructure to the following versions:
- From Couchdb 1.X to Couchdb 2.X and Couchdb Lucene 2.1
- From Java 8 to Java 11 - tested with the OpenJDK
- From Liferay Community Edition 7.2.1 to 7.3.3
- From thrift 0.11 to 0.13
Accordingly, also the vagrant project has changed: the current latest master of sw360/sw360vagrant builds with Java-11-based versions of sw360 (onwards from commit 0269392 at https://github.com/sw360/sw360vagrant).
Apart from the changes to the infrastructure, a number of nice new features are introduced, including:
- A Japanese language file for SW360
- Multiple values for external ids for the same keys
- A completely new health check service for better monitoring of an sw360 installation
- Improvements on project handling
For corrections and further changes on the infrastructure, please refer to the listed commits below.
For existing installations, a data migration is required. Please go to the readme file in scripts/migrations to see more information:
https://github.com/eclipse/sw360/blob/master/scripts/migrations/README.md
For running the migrations scripts, you will need python and the couchdb package.
The following users have contributed to the source code since the last release (in order of appearance):
albert.he@sap.com
smruti.sahoo@siemens.com
michael.c.jaeger@siemens.com
kouki1.hama@toshiba.co.jp
oliver.heger@bosch.io
Stephanie.Neubauer@bosch.io
jaideep.palit@siemens.com
kouki1.hama@toshiba.co.jp
nam1.nguyenphuong@toshiba.co.jp
abdul.mannankapti@siemens.com
And many thanks to all the other contributions in presentation, issues, discussions!
60f82182feat(ProjectReleaseRelation): Added new Field comment, createdOn, createdBy in ProjectReleaseRelationc4342f38feat(ui): Added link to project button from project detail view137b46a7feat(language): add Japanese properties4d4184d3feat(ProjectUI):Added Expand/Collapse All and Search in AttachmentUsageTable1b4f2362feat(project-report): Layout and content update in project report1ee05b59feat(ComponentUI): Added new filters in Advance search30ce4db1feat(ExternalIds): Change file permission2442e1f2feat(ExternalIds): Change file permission and fix typo of special character753d3889feat(ExternalIds): Add comments to Component, Release and Project rest APIs0049dd3bfeat(ExternalIds): Add byExternalIds views migration scripts, and upgrade to new version 11.0.0-SNAPSHOTbb2f2950feat(ExternalIds): 1. Handle EscapeXml for external id value, 2. Fix "Upon update of existing project or Component or Release without any change in External IDs"6ec67338feat(REST): Whitelisting field in REST API response5ee02f75feat(EditProjectUI): Release table in edit project page should be sorted and omit vendor namec0bf7132feat(CRView): Clearing Request Comments enhancements
73894c08fix(resource-server): Resolve logback conflict40f4a3aafix(ui): Prevent resubmission of form for Project, Component, Vendor, Moderation inorder to prevent loss of data.6b484677fix(ui): Fixed download license disclosure error upon selection of corrupted attachmentb8446dc1fix(license): Fixed the NullPointerException and addressed code duplicationa92d2677fix(byExternalIdView): Fixed the byExternalIds view not working if the value is numberf62a685ffix(Language_ja): change datatables.lang's URLd65be244fix(ImportSPDXBOM): Set Default value[Default_Category] to categories field of Component if found null or emptyfda56f18Fix: 'Download license archive' button in Admin>'import & Export' page is not working #90656eb7074Fix: import spdx information #927 #915 and change quotes538b1aa7fix(license): Fixed the license loading issue
c0685187chore(script): Added support to uninstall the current thrift version14b1a4afchore(deps): Bump jackson-databind in /backend/src/src-fossology4f7234ccchore(java): Support for Liferay 7.3.3 GA4d4c6983cchore(java): Fixed Deployment issues5d484ee1chore(java): Updated Spring versiond247a0ffchore(java): updating test deps for java 113a5958b6chore(java): migrating to openjdk java version 11c5f82e0echore(logging): Added a library containing the log4j2 classesaa6d5ae0chore(logging): Fixed test failures caused by NoClassDefFound errorsfe659050chore(logging): Updated OSGi package imports68b91bccchore(logging): More tweaks of logging dependenciese4060da6chore(logging): Switched logging configuration to log4j2 formatebc8f852chore(logging): Upgraded from log4j 1 to log4j 27866a852chore(logging): Removed unused dependency to logback465fc5fachore(couchdb): Support CouchDb Lucene 2.1.0 with CouchDb 2.1.2 and backward compatibilitybbabafd7chore(Portlet): Rename Moderation portlet to Requestsf512b867chore(changelog): fixing formattinga6d07505chore(release): changing pom file for 10.0.0-SNAPSHOT
Again, another data model change, new major version. Please see the script 018_remove_unwanted_field_from_clearing_request.py in the directory scripts/migrations to change the data model accordingly. The script is necessary for existing clearing request records; not executing the script will lead to malfunction of the sw360 application.
The update improves also runtime stability, because the escaping when displaying quotes has been improved: previously, special characters such as quotes have compromised the rendering of the page. Now, the content is rendered in a correct way.
Further improvements include:
- The ability to split releases from a component and assign this release to another component. This is the opposite case of merging components. On one hand it can undo mistaken component merges. On the other hand, user input, creating a release at the wrong component, can be corrected now.
- a new REST endpoint to request all details from a larger list in one REST call.
- a new REST endpoint to delete attachments from the REST API
More features include the ability to search for IDs when linking releases to projects or enhancements to the clearing request structures.
ef6170e1feat(attachments): Evaluate check status before deletion.ea6d31adfeat(CRUI): Modifications in Clearing Request table in moderation tab.90dbdb52feat(attachments): Updated REST documentation.220f991ffeat(attachments): ComponentController can now delete attachments.5f504aeffeat(attachments): ReleaseController now supports deleting attachments.2930cea5feat(attachments): Added function to prepare deleting attachments.8adb9147feat(attachments): Implemented ThriftAttachmentServiceProvider.daa3b3fbfeat(attachments): Introduced ThriftServiceProvider interface.5783cc3bfeat(rest): Whitelisting project 'state' and 'phaseOutSince' field.fc0c7e43feat(ui/search): Search using rel. id and added link to the release in the search result.2ec0e6d9feat(REST): Added new allDetails Parameter to List Projects and List Releases API to fetch records with all details.c0bf7132feat(CRView): Clearing Request Comments enhancements.8528ecfefeat(SplitComponentUI): Move Component data like releases and attachments from Source Component to Target Component.
9c01170bfix(escapeXML): Added missing escapeXML, to prevent js script execution and rendering break due to single or double quotes, Added missing escapeXml to merge-split Component, merge releases, license details view, list-details-edit view of project, component and release.887533bafix(ProjectModeration): Fixed isWriteActionAllowedOnProject check for project update, Fixed incorrect value for Visibility in Edit Project view which has existing moderation request.
This release brings new features which also change the data model. Therefore, a major version step is justified. Major new features are:
- Support for custom field layout using the referring Liferay mechanism, fully transparent with the REST API using additional data fields
- Changelog for changed data for projects, components and releases
- Reordered sections in detail view
- A completely new view Clearing Status offering tree and list view
Besides bug fixes and features correct bugs so far. In order to fix a bug with the REST API, note that a migration script should be executed. It corrects a missing value for the status of the release which is also now automatically set when creating releases using the REST API (and not only in the Web user interface).
a2e65103feat(PreferenceUI): Enabled Email notification for CR49311164feat(ProjectUI): Custom Field for Additional data in Project1d3423cbfeat(ReadmeOss): Filter linked project from ReadmeOss based on selection03000401feat(ProjectUI): Unified view of Linked Project and Releases, Clearing status, Linked Release Hierarchy. View includes tree view and list view89714248feat: Support custom fields in additionalData group in Component and Release page04b57fd1feat(ChangeLogs): Revision history of Document
fb09cceefix(MigrationScript): Update releases with empty clearingState to default value - NEW_CLEARING7bbd4235fix(ClearingStatus): Tree View Release name getting truncated, Sort for Project mainline state and Clearing State in List View fixed , added search filter4c7b0e72fix(ClearingStatusView): Fixed uneven button height, console error related to createVulnerabilityTable, takes lot of time to load Clearing status list view for large dataset.d1c3731ffix(ChangelogBasicInfoUI): Applied generic style and reordered the metadatas for Basic Info.78bff1bafix(UI): Clearing Request and Obligations fixes79f5c9d4fix(mergeComponent): Prevent multiple releases with same name and version for a component, which may occur during merge componenta4b44107fix: Resolve conflictcd4cba10fix(Changelog): Fixed missing fields like componentType in Changelog history3ee65c9bfix(REST): Added default value(NEW_CLEARING) for Clearing status while create and update Release67875856fix(spreadsheet-export): Project spreadsheet export returns blank spreadsheetb91b9e2dfix(ui): Release overview from component detailscd29922afix(UI): Clearing Request bug fix and improvements
79850290chore(deps): Bump spring-security-core in /frontend/sw360-portlete1aabab1chore(deps-dev): Bump dom4j in /backend/src/src-licenseinfo
Although there are only few commits listed below for this release, the change from 8.1 to 8.2 is huge: sw360 supports now an UI which can be extended with different languages.
With the initial pull request, the English and Vietnamese languages is supported. More languages can be supported. For this, a translation file must be added. Please see README_LANG.md in the root level of the project directory for more details.
Many thanks to the colleagues at Toshiba for providing this big feature to the community.
8bd91befeat: SW360 support multi-language update after review994ad5cfeat: SW360 support multi-language
ae45236fix(mergeUI): Provided fix for error message on merge component, release, vendor.
A version upgrade is justified, because of a number of new features have been integrated: FOSSology scans can be now triggered over the SW360 REST API. By this feature, an upload, for example from sw360antenna, could also trigger the FOSSology scan right away. It requires FOSSology being integrated with sw360.
Another new endpoint is the query for SHA1 values of a file to check if that attachment is actually already found at some release. With this endpoint, one would not need to search for release names and version before making a new entry, but just search for the source code attachment using its SHA1 value to check if an upload has been performed already.
A third new feature is the ability to agree on a clearing job for the software components of a project or product. A project owner can now send to a clearing expert a request to perform the clearing of software components right from SW360.
bb9f2bafeat(REST): Trigger FOSSology process and check status99e23dcfeat(ObligationUI): Added new status fields for Obligationd025c4afeat(rest): Attachement sha1 improvement9a53e7bfeat(ProjectUI): Project Clearing Report
7bd1fd5fix(UI/REST): Remove Trailing and leading whitespace for all fields in component, release and projecta2a4b16fix(components): components listing limited to 200 entries both in UI and excel spreadseet0de1db1fix(vulerability): vulnerability view breaks at backslash in description83e6f28fix(REST): Updated upload attachment documentation
1fc2e0bAdd pull request tempalte and .github folder (11 days ago) Stephanie.Neubauer@bosch.io
There is some small but very substantial bug in 8.0.0, which prevents the user from creating records in special conditions. Therefore, version 8.0.0 is deprecated and replaced by version 8.0.1.
c20fa46fix(component/release): Add component and release error in UI
It is not really that we like to ignore minor releases, but release 8 is coming because:
- changes in the DB for external id handling, pls see migration script:
scripts/migrations/016_update_byExternalIds_component_view.py - changes in the Thrift API, allowing for SPDX BOM import pls see:
libraries/lib-datahandler/src/main/thrift/projects.thrift
And as a larger, very important feature, there is the SPDX BOM import there in a first version, adding two modes:
- Import a project with linked releases from a SPDX BOM file
- Import a list of components and releases from a SPDX BOM file
Moreover a very important feature or fix has been provided for ensuring that malformed REST requests do not lead to failure in the application. Previously, providing wrong typed references (for example: linking releases to a project) was accepted by the application and can lead to malfunction then. The following list lists the detailed changes since 7.0.1:
712ba79feat(rest): validate the linked document ids in the payload before updating it in the DBf90fcc4feat(bomImport): implement SPDX BOM import for projects and releases24999cefeat(AddProjectReleaseRelation): add a project release relation for source code snippets48de678feat(REST): Patch Releases to Project
d34d454fix(ReleaseUI): fixed reload report in FOSSology Process336534afix(REST): fixed search component by external idbc28c54fix(EditReleaseUI): Fixed missing functionality of button to delete release to release relatione437a5bfix(spreadsheet-export): fixed the secuence of values based on headers4c0d5c9fix(thrift): add should return ID on duplicate1d65e70fix(html): fix minor bugs and stylingb7a83d6fix(ui): saving attachment usage issue for source code bundle and others
After tagging 7.0.0, we found two bugs to be corrected to provide a sound SW360. Therefore, here a new tagged version of sw360. Everyone should use 7.0.1-M1 instead of 7.0.0.
Adding rolling version since last tag will prepare automated tagging with incrementing patch level, retaining manual tagging for major and minor version only.
0dcd109fix(ProjectUI: fixed blank / non-responsive screen on projectda677b5fix(ui): fix issue #762
a37e24dchore(readme): adding some more badgesf1a7c63feat(chore): adding rolling versions based on commit count
The main reason for release version 7 is to have the license upgrade from EPL-1.0 to EPL-2.0. All contributing parties have submitted their consent by e-mail and on most cases also approved the referring pull request (eclipse-sw360#756).
Another change which justifies a major version jump is the required view update in the couchdb. Please see https://github.com/eclipse/sw360/blob/master/scripts/migrations/README.md for more information when migrating from an older version. The view update allows users to configure the My Projects portlet.
9b92795feat(docs): relicensing from EPL-1.0 to EPL-2.066a4126feat(Component/ReleaseUI): Added button to remove selected vendor for component and release860aa3efeat(ProjectMigration): script to migrate a project field to new valuebd99641feat(REST): Add parameter to GET release by name322c45dfeat(WelcomePageUI): display configurable content for guidelines on welcome pageabac231feat(fossology-pull-report): Added the button to pull the already generated report from fossology062c899feat(HomePageUI): Listing of MyProjects is made configurable9849cb0feat(licenseinfo): Added filter to exclude releases based on selected relationship
2a52475fix(ProjectUI): Show proper error msg ,when loading of project fails due to access or dependency not found752bd78fix(ProjectUI): fixed 'Project is temporarily unavailable' issue due to obligation featureb32afd5fix(ReleaseUI/REST): prevent cyclic link in release0d2647dfix(licenseinfo): White page while downloading license disclosure
d22aaaftest: add script to start temporary couchdb with dockerdf54014chore(cleanup): drop unused and outdated code related to the codescoop integration
This release covers as the biggest change the new integration with the FOSSology REST API. It replaces the previous integration using an ssh login. It requires a migration of the couchdb database. More information about the scripts can be found in scripts/migrations/README.md.
Apart from changing the integration with FOSSology from ssh to the REST API, the entire data structure has been changed to be tool agnostic: A data structure for external tool requests replaces the info for the FOSSology upload. In future, albeit not supported today by the UI, also other tools could be integrated using the same data structure.
Warning Although the was much care for migrating existing data. It may happen with old datasets where source code attachments have been transferred to FOSSology using the ssh integration, the migration fails. For those datasets, the data must be changed manually. For example, just remove the status values.
Warning Migrations run per default in dry run mode, meaning that no changes are written to the database. After you have reviewed the changes (and checked that the scripts runs), you must change the DRY_RUN variable accordingly to False.
Two notable more features are provided by this release:
- Management for project obligations
- Merging release and vendor records added
653a7e3feat(ProjectUI): added project obligation logic on change of accepted license file648755afeat(REST): Added parameter to GET project by Group and Tag8eae7d3feat(rest): get attachmentUsages for a projectb8549defeat(REST): linked release hierarchy is included in the response1bc03f9feat(Project-UI) License Obligation tracker at Project Level1f506f2feat(Rest): New end points for project/component/release usage summary176557afeat(moderation): Moderation requests to all clearing admin irrespective of their group82977a0feature(merge): add wizard for merging vendorse476f39feat(rest): Added support to add role category fields while creating project86afeeffeat(Projects): enabled Project/Release mainline state change only for clearing admins578f53cfeat(fossology-rest): replaced ssh communication to fossology with RESTd19f658feat(external-tool-request): added general datastructure for external tool requests71535e6feat(Authorization): Added support to read keystore from central configuration43bd667feature(release): add release merge wizard
ca88b44fix(ProjectUI): Added options to generate ReadmeOSS for main project only or main project with subprojects.51bc423fix(rest): Error getting component/project with unknown creator7814e7efix(ProjectUI): Obligation view for changes in linked release attachment255f54efix(ui): Added missing tooltip00c3110fix(businessrules): NPE in clearingStateSummaryComputer6bb0cc2fix(project): Keep release mainline state as it is while cloning project7b488d5fix(projectUI): NPE in SW360Utils.getApprovedClxAttachmentForRelease7181861fix(LicenseInfo): NPE in ProjectPortlet.prepareLicenseInfo and downloadLicenseInfo7df48dafix(rest): License information generation based on attachment usages from rest.466185efix(project): prevent cyclic link in linked projectsdcc4192fix(projectUI): NPE in ProjectDatabaseHandler.setReleaseRelations6f02ae7fix(component): incorrect release edit link in component edit page20211c9fix(component): component merge not workinge1921d7Fix(Project UI): Removed 'Unknown' from Project Clearing Team dropdown16c3452fix(REST): added support for createdComment field for uploadAttachements2e0d776fix(Project/Admin): Set to default text feature is not working correctly for Obligationaa71a06fix(Componnet): ComponentType field should be mandatoryc7a0737fix(links): Fixed the incorrect links
This release contains a number of corrections after the Liferay Portal 7.2 CE GA1 based release has been rolled out. Therefore it contains mostly corrections for the UI. In addition to these, also the REST API endpoints were further improved. The report generation has been improved: Now, external Ids can be added to the generated documents.
Because it contains many corrections, every 5.0.0-M1 installation should be updated to this release.
c86c97bfeat(License Disclosure): Change order of listed items in disclosure documents82a45cffeat(license-disclosure): External Ids incorporated in the license disclosure5b554aefeature(table-filter): add filter box, fix print
9b02a75fix(components): Recompute aggrated fields on save17d90eefix(DownloadLicenseInfo): Corrected license selection based on attachment selection on attachmentusaged6d8540fix(EditRelease UI): Removed duplicate field 'Licenses' from edit releaseb9be0e4fix(licenseDisclosure): Added acknowledgements in TEXT and Docx format of License Disclosureb123c48fix(LicenseDisclosureDocument): Ordering and formating license disclosure document.97008f3fix(merge): allow merging of complex fields, style improvementscd4c788fix(merge): fix update conflict on component mergec6b3838fix(merge): Some fields were not merged1e6f424fix(Release-UI): Vertical scrollbar for link release to project popup20fb3d2fix(ui): Added missing search boxdcd681bfix(vendor): fix view name used when editing vendorsabc6404fix(vulnerability): Vulnerability tab loading issuedc0b9d6fix(fossology): fossology and fossolgy4fe4d4ffix(Rest-API): Corrected 'createdBy' field value for Project and Componenteb15c85fix(Rest-API): Small fix around ProjectClearingState during create and update projectfae1c99fix(Rest-Component): Corrected all components by type rest end pointf7d204efix(REST: Project) : Fixed error response for create project from resta2750bffix(rest): Fixed get component API having default vendor id as empty
d9ff676chore(pom): change snapshot version from 6.0.0-SNAPSHOT to 5.1.0-SNAPSHOTe59f8b3chores(config): Fix friendly URL for license page81600f4chores(merge): Retain owner as moderatora80b82cchores(pom): Update to next development version
This release is the first release using the Liferay Portal 7.2 CE GA1 release. The codebase of the portal project has been updated from the previously used Liferay 6.2 version. As this represents a huge change also to related areas (pom files, etc.), the sw360 5.0.0 is bascially a sw360 4.0.1 with the newer Liferay. The following commits have been applied:
35165e6feat(auth): script to add the unsafe default client directly to DB4fd501cfeat(thrift): add timeout for thrift client
3c4d3edchores(all): Upgrade to Liferay 7.2 (Part I)6657e79chores(configuration): Update Liferay configuration7fbd42echores(all): Upgrade to Liferay 7.2 (Part II)52592bfchores(build): add build plugin7d9e30echores(deploy): add new deploy profile1d5bff2chores(liferay): Feedback from Liferay 7 review36ae2c1chores(build): Fix deploy profile918d054chores(configuration): allow external files- `` chores(changelog): initial commit
deb868cfix(tests): Use configured couch db urlda1f0b8fix(search): make search logic consistent1d830eefix(project): fix compare if no version is set0c2a341fix(Components): Fix naming component error (name's component contain...c7f03c8fix(rest): fix broken logic in updateProjectbe90070fix(rest): auth server is broken due to LifeRay api change
This release fixes a small issue at the project creation. It was added to have a good working sw360 4 release.
c7f03c8fix(rest): fix broken logic in updateProject
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.
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
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.
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
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
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.
48741acfeat(rest): Token Generate with API Keys implementation (9 days ago)a20a225feat(licenseImport): fix and improve26e4c55feat(rest): Add externalId endpoint (projects) to REST API20e4472feat(projects): add a flag to enable/disable displaying project's vulnerabilities0a3a636feat(wsimport): Whitesource import service1386a75feat(rest): Specify properties dynamically in GET /releases7918a40feat(rest) Added route DELETE /releases/{ID},{ID2} to delete releases8d36000feat(rest): Update REST Attachment endpoints and documentationc55c5f7feat(rest) Paging/Sorting for GET /components, response contains pagination...dd7025afeat(attachments): enable viewing/editing of attachment usages...dc1be63feat(rest) Route PATCH /release/{id} added to update an existing releaseed79f9afeature: codescoop integration590841bfeat(rest) Batch-Deletion for components5933bb7feat(rest) Route PATCH /component/{id} added to update an existing componentcc5a5a1feat(search): Improve lucene search logic and handling of resultsf9f6604feat(licenses): allow to create unchecked licenses897acbffeat(rest) Specify required fields for components in GET /components0ed834afeat(rest): Read client id and client secret from configuration file7fa5164feat(ui): Add preferred external id keys for projects, components and releases0eb74f9feat(ui): Pagination of entries in project and component view5581b19feat(release): Add project mainline state to export spreadsheet (clearing status)
5ddf781fix(license): fix problem in editing licenses06ea9d0fix(rest): GET /components response will contain all components...942f263fix(projects): prevent duplicate attachment usages from crashing project display0f936d7fix(wsimport): add lar filef145f0bfix(rest): Correct REST embedded User to prevent error messagesc2c0afefix(rest): Show attachments as embedded resource list187756bfix(projects): fix assertion exception when requesting attachment uses with empty...ffd6884fix(licenseInfo): remove the unnecessary license text input field from license info...90791fcfix(rest): Trying to sort components by an unsupported property causes NPE74c6512fix(projects): Enable phrase search for group and tag in projectsa4a4244fix(components): Remove updateOnlyRequested condition47045adfix(component): No update for all component properties if they are not in requestd7c6fecfix(licenseinfo): Update merge handling for licenseInfo objects02d1289fix(search): impose the defined search limit on all searches by defaultf844a42fix(attachments): Set content encoding to identity only for gzip files4b7a2f3fix(attachments): Set content encoding to identity in case of gzip filesc19298bfix(licenses): Validate obligation list in LicenseDatabaseHandler7e75dfbfix(moderation): Add external id map to moderation request4f7b441fix(releases): Show release summary if the search text is emptyf28df1bfix(search): Remove special characters in lucene search48ad171fix(datahandler): Handle duplicate names in source code bundle generation...a149ff9fix(user): Change user id field to optional1b7aa8afix(ui): Fix table styling for components and projects54e5286fix(users): handle external change of user email address by storing...4bfaea3fix(home): Truncate long document names in homepage datatablesb70bc7ffix(test): replace "BLACK_HOLE_ADDRESS" with real onee693af5fix(test): add IOException to the expected ones in BlackHole testa1f8433fix(attachments): Allows to set attachments for source bundle generation
7d41a20chore(vulnerabilities): Improve handling of null values in lastUpdated553979chore(licenseinfo): Add separate DOCX template for reports56834d7chore(rest): Change docs reference in HAL Browser7ffab39chore: move attachments db classes to commonc638bb8chore(rakefile): drop Rakefile, since it is unused and partially does no longer work3da002echore(moderation): Adjust footer length with datatable width (columns)ba44539chore(projects): Remove default value for clearingTeam in projectse480824chore(datahandler): Fix typo Repostitory to Repositorybc4128achore(components): Autoset ECC options should check if component is OSS59cf17achore(projects): Change the file name of export spreadsheet756d7b9chore(rest): Add delivery start date to REST API guide37b61cdchore(docs): removing orphan architecture document to wikiae16c73chore(config): Restore sw360.properties configuration file1c156cechore(travis): Add travis configuration file to project848c233chore(config): Change sw360portal specific links because of new repository69a4fd7chore(git): restore .gitignore that's gone missing during move to eclipse repository
This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which is available at https://www.eclipse.org/legal/epl-2.0/
SPDX-License-Identifier: EPL-2.0