mcjaeger
released this
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.
Migrations
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.
Credits
The following users have contributed to the source code since the last release (in order of appearance):
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
And many thanks to all the other contributions in presentation, issues, discussions!
Features
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
Corrections
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
Infrastructure
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
Assets
2
mcjaeger
released this
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.
Features
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.
Corrections
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.
Assets
2
mcjaeger
released this
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).
Features
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
Corrections
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
Infrastructure
79850290chore(deps): Bump spring-security-core in /frontend/sw360-portlete1aabab1chore(deps-dev): Bump dom4j in /backend/src/src-licenseinfo
Assets
2
mcjaeger
released this
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.
Features
8bd91befeat: SW360 support multi-language update after review994ad5cfeat: SW360 support multi-language
Corrections
ae45236fix(mergeUI): Provided fix for error message on merge component, release, vendor.
Assets
2
mcjaeger
released this
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.
Features
bb9f2bafeat(REST): Trigger FOSSology process and check status99e23dcfeat(ObligationUI): Added new status fields for Obligationd025c4afeat(rest): Attachement sha1 improvement9a53e7bfeat(ProjectUI): Project Clearing Report
Corrections
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
Chores
1fc2e0bAdd pull request tempalte and .github folder (11 days ago) [email protected]
Assets
2
mcjaeger
released this
There is some small but very relevant 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.
Corrections
c20fa46fix(component/release): Add component and release error in UI
Assets
2
mcjaeger
released this
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:
New Features
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
Corrections
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
Assets
2
mcjaeger
released this
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.
Corrections
0dcd109fix(ProjectUI: fixed blank / non-responsive screen on projectda677b5fix(ui): fix issue #762
Infrastructure
a37e24dchore(readme): adding some more badgesf1a7c63feat(chore): adding rolling versions based on commit count
Assets
2
mcjaeger
released this
Unfortunately this release has a bug, please consider the previous release or wait for 7.0.1.
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 (#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.
New Features
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
Corrections
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
Infrastructure
d22aaaftest: add script to start temporary couchdb with dockerdf54014chore(cleanup): drop unused and outdated code related to the codescoop integration
Assets
2
mcjaeger
released this
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
New Features
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
Corrections
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