All notable changes to this project will be documented in this file.
- Truststore-alias was removed
- Bump opentelemetry.version from 1.19.0 to 1.20.1
- Bump opentelemetry-semconv.version from 1.19.0-alpha to 1.20.1-alpha
- Bump idscp2.version from 0.11.1 to 0.13.3
- Bump spring-security-core.version from 5.7.3 to 5.7.5
- Bump pmd.version from 6.50.0 to 6.52.0
- Bump springdoc.version from 1.6.11 to 1.6.13
- Bump jackson-databind from 2.14.0-rc1 to 2.14.1
- Bump jackson.version from 2.14.0-rc1 to 2.14.1
- Bump pitest-maven from 1.9.7 to 1.9.11
- Bump swagger-annotations from 1.6.7 to 1.6.9
- Bump jose4j from 0.9.0 to 0.9.2
- Bump versions-maven-plugin from 2.12.0 to 2.13.0
- Bump protobuf-java from 3.21.7 to 3.21.10
- Bump flyway-core from 9.4.0 to 9.8.3
- Bump spotbugs-annotations from 4.7.2 to 4.7.3
- Bump spring-boot-starter-parent from 2.7.4 to 2.7.5
- Bump dependency-check-maven from 7.2.1 to 7.4.0
- Bump equalsverifier from 3.10.1 to 3.11.1
- Bump checkstyle from 10.3.4 to 10.5.0
- Bump postgresql version from 42.5.0 to 42.5.1
- Migration file for version 8.0.2.
- Fix a mismatch between the database if created with or without flyway.
- Bump maven-checkstyle-plugin version from 3.1.2 to 3.2.0
- Bump checkstyle from 10.3.2 to 10.3.4
- Bump maven-pmd-plugin version from 3.17.0 to 3.19.0
- Bump postgresql version from 42.4.2 to 42.5.0
- Bump camel-idscp2 version from 0.10.3 to 0.11.1
- Bump dependency-check-maven version from 7.1.1 to 7.2.1
- Bump pitest-maven from 1.9.4 to 1.9.7
- Bump flyway-core from 9.1.6 to 9.4.0
- Bump pmd.version from 6.48.0 to 6.50.0
- Bump jackson.version from 2.13.3 to 2.14.0-rc1
- Bump jose4j from 0.7.12 to 0.9.0
- Bump pitest-junit5-plugin from 1.0.0 to 1.1.0
- Bump spotbugs-annotations from 4.7.1 to 4.7.2
- Bump jackson-databind from 2.13.3 to 2.14.0-rc1
- Bump versions-maven-plugin from 2.11.0 to 2.12.0
- Bump camel.version from 3.18.1 to 3.19.0
- Bump opentelemetry-semconv from 1.17.0-alpha to 1.19.0-alpha
- Bump opentelemetry.version from 1.17.0 to 1.19.0
- Bump springframework.version from 5.3.22 to 5.3.23
- Bump protobuf-java from 3.21.5 to 3.21.7
- Bump dependency-check-maven from 7.1.2 to 7.2.0
- Bump spring-boot-starter-parent from 2.7.3 to 2.7.4
- Bump commons-text from 1.9 to 1.10.0
- Bump swagger-annotations from 1.6.6 to 1.6.7
- Bump tidy-maven-plugin from 1.1.0 to 1.2.0
- Bump actions/cache from 3.0.8 to 3.0.10
- Bump spotbugs-maven-plugin from 4.7.1.1 to 4.7.2.1
- Bump camel-idscp2 from 0.11.1 to 0.12.1
- Bump snakeyaml.version from 1.30 to 1.32
- Fix route reference check. The DSC now uses the UUID to prove if a remote data is a route or not.
- Renamed reserved keywords columns in model classes for newer H2 versions and MSSQL. Please enable database migration.
- Add
daps.whitelisted.urltoapplication.properties.. Allows configuring whitelisted DAPS URLs already at configuration time. - Introduction of the setting
referred.check=true/falsein the application.properties. Enables or disables DAT claim referringConnector vs IDS message issuerConnector validation. Disabled by default. - Updated Connector container architecture overview in Readme and documentation.
- Fix bootstrapping with broker registration. The DSC now searches for the correct resource id when bootstrapping.
- Removed trivyignore file.
- e2e-tests now delete the PVC (PersistentVolumeClaim) and PV (PersistentVolume) during cleanup phase.
- Requesting the same local-data artifact multiple times now updates the data-record in the database for the artifact instead of creating a new data-record.
- OpenApi specification: made tag names unique, removed not allowed additional properties.
- Excluded old IAIS http repository from build at top level since no longer accessible but used from transitive dependencies, which could lead to a build timeout. Repository and its artifacts now reachable via https.
- Replaced telemetry collection via OpenTracing with OpenTelemetry with Jaeger export.
- Accessing the public self-description endpoint is now also possible for logged in admins.
- The connector public key is now also persisted.
- Set URI-converter and column-length for location in AppStore-entity. Tested AppStore-App deployment with Portainer 2.14.0
- Query parameters are ignored if a query parameter with the same key is already defined in the target url
- Removed hyphen in docker env var file which led to unexpected character exception
- Fix DSC version, curator and maintainer fields when accessing the self description
- Code base refactorings and removing of unused code.
- Replace deprecated JPA calls
getByIdwithfindById. - Replace deprecated spring security
WebSecurityConfigurerAdapterwith use ofSecurityFilterChain. - Replace deprecated
podAnnotationseccompwith use ofpodSecurityContextseccompProfile. - Removed debug-logging built request messages, all messages can now be logged via the IDS-Messaging-Services instead.
- Update ids-messaging-services from 6.1.0 to 7.0.0.
- Update okhttp version from 4.9.3 to 4.10.0.
- Update pmd version from 6.44.0 to 6.48.0.
- Update pmd-plugin version from 3.16.0 to 3.17.0.
- Update maven-enforcer-plugin version from 3.0.0 to 3.1.0.
- Update maven-surefire-plugin version from 3.0.0-M6 to 3.0.0-M7.
- Update pitest-maven version from 1.7.5 to 1.9.4.
- Update pitest-junit5-plugin version from 0.16 to 1.0.0.
- Update com.puppycrawl.tools:checkstyle version from 10.1 to 10.3.2.
- Update org.owasp:dependency-check-maven from version 7.0.4 to 7.1.2.
- Update org.springframework.boot:spring-boot-starter-parent from 2.6.6 to 2.7.3.
- Update com.google.protobuf:protobuf-java version from 3.20.0 to 3.21.5.
- Update org.apache.maven.plugins:maven-site-plugin version from 3.11.0 to 3.12.1.
- Update org.apache.maven.plugins:maven-javadoc-plugin version from 3.3.2 to 3.4.1.
- Update org.apache.maven.plugins:maven-project-info-reports-plugin version from 3.2.2 to 3.4.1.
- Update org.postgresql:postgresql version from 42.3.3 to 42.4.2.
- Update springframework version from 5.3.18 to 5.3.22.
- Update com.h3xstream.findsecbugs:findsecbugs-plugin version from 1.11.0 to 1.12.0.
- Update org.flywaydb:flyway-core version from 8.5.5 to 9.1.6.
- Update springdoc version from 1.6.6 to 1.6.11.
- Update de.fhg.aisec.ids:camel-idscp2 version from 0.6.0 to 0.10.3.
- Update camel version from 3.16.0 to 3.18.1.
- Update jackson version from 2.13.2 to 2.13.3.
- Update spotbugs version from 4.6.0 to 4.7.1.
- Update com.github.spotbugs:spotbugs-maven-plugin version from 4.6.0.0 to 4.7.1.1.
- Update com.fasterxml.jackson.core:jackson-databind version from 2.13.2.2 to 2.13.3.
- Update org.codehaus.mojo:versions-maven-plugin version from 2.10.0 to 2.11.0.
- Removed io.opentracing.contrib:opentracing-spring-jaeger-web-starter
- Add io.opentelemetry:opentelemetry-api and -sdk and -exporter-jaeger version 1.17.0
- Add io.opentelemetry:opentelemetry-semconv version 1.17.0-alpha
- Add io.jsonwebtoken:jjwt-impl and :jjwt-api version 0.11.5.
- Add org.bitbucket.b_c:jose4j version 0.7.12.
- Add h2 versioning and update to version 2.1.212.
- Add com.microsoft.sqlserver:mssql-jdbc version 10.2.0.jre17.
- Add additional field to
GenericEndpointView. - New APIs: Manageable DAPS entities (CRUD APIs)
- New Feature: DAPS whitelisting for producitve deployment: It is now possible to whitelist DAPS and to restrict data exchange with IDS Connectors that receive their DATs from whitelisted DAPS. In the default case without changes, all DAPS are trusted. For this purpose the column
whitelisted=true/falseis available at the DAPS entites. To activate the whitelisting functionality, there must be at least one DAPS entity withwhitelisted=true(this can also be the DAPS used by the connector to only trust the own used DAPS). If a message with a DAT arrives while whitelisting is active and from a non-whitelisted DAPS, the message is rejected with a RejectionMessage.
- Derive maven compiler version globally in pom instead of setting it individually.
- Updating of the connector branding.
- Removed com.mycila:license-maven-plugin to support multiple different license headers.
- Update jackson version from 2.13.1 to 2.13.2.
- Add jackson-databind version 2.13.2.2.
- Update org.springframework version from 5.3.15 to 5.3.18.
- Update org.springframework.boot:spring-boot-starter-parent from 2.6.3 to 2.6.6.
- Update maven-surefire-plugin version from 3.0.0-M5 to 3.0.0-M6.
- Update org.modelmapper:modelmapper version from 3.0.0 to 3.1.0.
- Update nl.jqno.equalsverifier:equalsverifier version from 3.9 to 3.10.1.
- Update org.apache.maven.plugins:maven-javadoc-plugin version from 3.3.1 to 3.3.2.
- Update org.pitest:pitest-maven version from 1.7.4 to 1.7.5.
- Update org.apache.maven.plugins:maven-site-plugin version from 3.10.0 to 3.11.0.
- Update org.apache.maven.plugins:maven-project-info-reports-plugin version from 3.2.1 to 3.2.2.
- Update com.puppycrawl.tools:checkstyle version from 9.3 to 10.1.
- Update net.sourceforge.pmd version from 6.42.0 to 6.44.0.
- Update org.apache.maven.plugins:maven-pmd-plugin version from 3.15.0 to 3.16.0.
- Update org.codehaus.mojo:versions-maven-plugin version from 2.9.0 to 2.10.0.
- Update org.owasp:dependency-check-maven version from 6.5.3 to 7.0.4.
- Update org.apache.maven.plugins:maven-jxr-plugin version from 3.1.1 to 3.3.0.
- Update org.flywaydb:flyway-core version from 8.4.4 to 8.5.5.
- Update spotbugs version from 4.5.3 to 4.6.0.
- Update camel version from 3.15.0 to 3.16.0.
- Update com.google.protobuf:protobuf-java version from 3.19.4 to 3.20.0.
- Update io.swagger:swagger-annotations version from 1.6.5 to 1.6.6.
- Update org.jacoco:jacoco-maven-plugin version from 0.8.7 to 0.8.8.
- Add title and description to
AppView. - Add endpoint type to
AppEndpointView.
- Update IDS messaging services version from 6.0.1 to 6.1.0.
- Set content type of payload when logging to the Clearing House, so that logged items are not encoded in the Clearing House's response to a query.
- Use connector fingerprints instead of IDs to create processes at the Clearing House.
- Add relation annotation to
DatabaseDataSourceViewto display allDataSourcesin the same array. - Add missing semicolons in baseline.sql to comply with proper SQL syntax for flyway.
- Add custom view for
DatabaseDataSourceto display URL and driver class.
- Update swagger-annotations version from 1.6.4 to 1.6.5.
- Update postgresql version from 42.3.2 to 42.3.3.
This version is not available in the main branch but in release/v7.0.1-ra.
Details on how to run the DSC with remote attestation can be found here.
- Add
mvn-localdirectory and allow the usage of locally published artifacts in thepom.xml. - Add maven dependencies for velocity, idscp2-tpm2d, idscp2-cmc, grpc-netty, and netty.
- Add functionality to run the Connector with remote attestation.
- Update
.dockerignore,docker-compose.ymlandDockerfile. - Increase camel-idscp2 version from 0.6.0 to 0.9.1.
- Add
portainer.application.connector.networktoapplication.properties.. Default is set tolocal.
- Update equalsverifier version from 3.8.3 to 3.9.
- Update postgresql version from 42.3.1 to 42.3.2.
- Update flyway-core version from 8.4.3 to 8.4.4.
- Update pitest-maven version from 1.7.3 to 1.7.4.
- Update camel version from 3.14.1 to 3.15.0.
- Update springdoc.version from 1.6.5 to 1.6.6.
- Update maven-project-info-reports-plugin version from 3.1.2 to 3.2.1.
- Deployment of DataApps via Portainer.
- Escape data source URL before creating data source bean.
WARNING - MAJOR CHANGES: Before updating, please read this guide!
- Allow using route ID (URI) as access URL for artifacts.
- Allow using route ID (URI) as location for subscriptions.
- Allow specifying route IDs when calling
GET /dataendpoint to automatically dispatch data via these routes.- When a route is specified, requested data will not be persisted in the local database.
- Allow using API key authentication for
DataSource. - Create sub-types for
DataSourceDescfor typesRESTandDATABASEto allow adding database driver and URL. - Create datasource beans from
DataSourcesof typeDATABASEautomatically. - Add database migration feature.
- Offer possibility to migrate databases to
v7.0.0starting fromv5.0.0.
- Offer possibility to migrate databases to
- Add
portainer.application.schemetoapplication.properties.. Default is set tohttp.
- Change jdk version from 11 to 17.
- Change encoding of local data from
UTF-16toUTF-8. - Change relation between
RouteandArtifactto one-to-one (previously one-to-many).- Link is created automatically when an artifact is created with a route reference as access URL.
- Change field
locationofEndpointfrom URI to String. - Replace template engine
VelocitywithFreemarker. - Remove suffix settings from
ConfigurationDescattributes (truststore,proxy,keystore). - Log header and payload of sent message in
AbstractMessageService. - Ignore IDS InfoModel version incompatibility for incoming messages. Add log message level warn.
- Rearrange Swagger UI.
- Rename tags.
- Rename tag
Messagesto_Messaging. - Rename tag
CameltoRoutes (Apache Camel). - Rename tag
Connectorto_Connector. - Rename tag
Configurationsto_Configurations.
- Rename tag
- Create tag
_Utils.- Move
/api/examples/validationand/api/examples/policyto_Utils. - Move
/api/utils/enumto_Utils.
- Move
- Remove annotation
@hiddenfrom the following REST endpoints:/api/api/beans/api/beans/{beanId}/api/camel/routes/api/camel/routes/{routeId}/api/camel/routes/error
- Move contract agreement endpoints to
Contracts. - Move
/api/configuration/negotiationand/api/configuration/patternto_Configurations.
- Rename tags.
- Change REST endpoints.
- PUT
/api/routes/{id}/endpoint/startexpects a URI instead of a UUID. - PUT
/api/routes/{id}/endpoint/endexpects a URI instead of a UUID. - Change
POST /api/configmanaer/enum/{enumName}toGET /api/utils/enumsand change it to return all types within one call.- Add enum types
POLICY_PATTERN,UPDATE_TYPE,ENDPOINT_TYPE,EVENT_TYPE,ERROR_MESSAGE,USAGE_CONTROL_FRAMEWORK,ACTION_TYPE, andDATA_SOURCE_TYPE. - Change return value of
SECURITY_PROFILEto the internal model. AddIDS_SECURITY_PROFILEfor the ids enum. - Change return value of
CONNECTOR_STATUSto the internal model. AddIDS_CONNECTOR_STATUSfor the ids enum.
- Add enum types
- Change
/api/configmanaer/route/errorto/api/camel/routes/error.
- PUT
- Change response bodies to JSON objects for the following REST endpoints:
/api/routes/{id}/endpoint/start/api/routes/{id}/endpoint/end/api/examples/validation/api/examples/policy/api/ids/app/actions/api/routes/{id}/endpoint/start/api/routes/{id}/endpoint/end/api/beans/api/beans/{beanId}/api/camel/routes/api/camel/routes/{routeId}- Of every endpoint that builds an error response with
ResponseUtils.
- Add correct content type to the following endpoints:
/api/notify/api/configurations/{id}/active/api/ids/app/api/examples/validation/api/examples/policy
- Make field
typeinDataSourcetransient, as type information is persisted through thedtypecolumn created through the@Inheritanceannotation. - Rename param of
/describefromactionTypetotypeand change it to typeActionType. - Change strings of the following enums:
PolicyPattern: added strings.UsageControlFramework: e.g.INTERNALtoInternal.ActionType: e.g.STARTtoStart.EndpointType: e.g.APPtoApp.Event: e.g.UPDATEDtoUpdated.
- Update dependencies.
- Increase camel version from 3.12.0 to 3.14.1.
- Increase spring-boot-starter-parent version from 2.5.6 to 2.6.3.
- Increase spotbugs version from 4.4.2 to 4.5.3.
- Increase okhttp version from 4.9.2 to 4.9.3.
- Increase checkstyle version from 9.1 to 9.3.
- Increase pmd version from 6.40.0 to 6.42.0.
- Increase springdoc version from 1.5.3 to 1.6.5.
- Increase modelmapper version from 2.4.4 to 3.0.0.
- Increase equalsverifier version from 3.7.2 to 3.8.3.
- Increase log4j2 version from 2.14.0 to 2.17.1.
- Increase dependency-check-maven from 6.5.0 to 6.5.3.
- Increase maven-site-plugin version from 3.9.1 to 3.10.0.
- Increase protobuf version from 3.15.5 to 3.19.4.
- Increase jackson version from 2.13.0 to 2.13.1.
- Increase swagger-annotations version from 1.6.3 to 1.6.4.
- Increase messaging services version from 5.1.1 to 6.0.1.
- Increase maven-plugin version from 2.8.1 to 2.9.0.
- Increase taglist-maven-plugin version from 2.4 to 3.0.0.
- XML-escape URLs before injecting them into Camel route templates.
- Add exception handling for
SSLHandshakeExceptionscaused by PKIX errors. - Insert user input for
titleanddescriptionto example policies at/api/examples/policy. - Make
/databaseaccessible again. - Add class type check to rule comparison.
- Remove
@column(unique = true)fromAppStoreentity. - Keep keystore settings for active config if not present in the updated one.
- Add missing brackets to Camel route templates, so that properties get inserted correctly.
- Remove entity
ConnectorEndpointand all corresponding classes.
- Increase log4j2 version from 2.16.0 to 2.17.1.
- Increase log4j2 version to 2.16.0.
- Change base image from debian 10 to 11.
- Increase checkstyle version from 9.0.1 to 9.1.
- Increase postgresql version from 42.3.0 to 42.3.1.
- Increase pmd version from 6.39.0 to 6.40.0.
- Increase pitest-maven version from 1.7.2 to 1.7.3.
- Increase dependency-check-maven version from 6.4.1 to 6.5.0.
- Setting
spring.security.enabled=falsewill disable BasicAuth and other security checks. - Always use default base URL when creating self-links.
- Check if dat is null before building an ids message. Remove stack trace, only log the error message.
- New
application.propertiessettingconfiguration.force.reloadthat forces reloading the configuration from theconfig.jsoninstead of using the latest active configuration from the database. If not set, the default value isfalse.
- Increase spring version from 2.5.5 to 2.5.6.
- Increase messaging services version from 5.0.1 to 5.1.1.
- Only create agreements from contract offers with valid start and end date.
- Check if agreement has expired before returning data.
- Fix
TransientObjectExceptionwhile updating an artifact. - Add default constructor to
ApiKeyclass, to avoidInstantiationException.
- Add
idsfield to/actuator/infoendpoint, to monitor the connectors certificate expiration status and DAT infos (if one can be received).
- Increase description column length to 4096.
- Increase
BasicAuth(username, password) andApiKey(key, value) column length to 2048. - Increase dependency-check-maven version from 6.3.1 to 6.4.1.
- Increase pitest version from 1.7.1 to 1.7.2.
- Increase spotbugs version from 4.4.1 to 4.4.2.
- Increase equalsverifier version from 3.7.1 to 3.7.2.
- Increase postgresql version from 42.2.24 to 42.3.0.
- Increase springdoc version from 1.5.11 to 1.5.12.
- Increase camel-idscp2 version from 0.5.0 to 0.6.0.
ArtifactFactory::updateByteSizesetsbyteSizeandchecksumto 0 when data is removed.- Add nullcheck to
ArtifactService::toInputStream. - Check if representations are null or empty in
getMediaTypeOfArtifact. - Data to be deleted from a consumed artifact, if necessary, is now deleted only once and not with each scheduler call.
- Fix collisions in bootstrapping process setting a unique path for the
bootstrap.pathproperty.
- Increase pitest-maven version from 1.7.0 to 1.7.1.
- Increase swagger-annotations version from 1.6.2 to 1.6.3.
- Increase dependency-check-maven version from 6.3.1 to 6.3.2.
- Increase jackson version from 2.12.5 to 2.13.0.
- Increase checkstyle version from 9.0.0 to 9.0.1.
- Increase okhttp version from 4.9.1 to 4.9.2.
- Increase springdoc version from 1.5.10 to 1.5.11.
- Increase camel version from 3.11.2 to 3.12.0.
- Check for
maxDepthinIdsResourceBuilderwhen resolving samples to avoid possibleStackOverFlowError.
- Add
connectorobject to/actuator/infoendpoint to return available updates and further information. - Add boolean
authenticationSetto configuration entity as indicator for present proxy's authentication credentials.
- Add
ServiceResolverto remove some Spring annotations from service classes. - Refactor and speed up tests.
- Increase checkstyle version from 8.45.1 to 9.0.0.
- Increase pmd version from 6.37.0 to 6.38.0.
- Increase IDS messaging services version from 4.2.2 to 5.0.1.
- Increase pitest version from 1.69.0 to 1.70.0.
- Increase dependency-check-maven version from 6.2.2 to 6.3.1.
- Increase maven-javadoc-plugin version from 3.3.0 to 3.3.1.
- Increase pmd-maven-plugin version from 3.14.0 to 3.15.0.
- Increase camel version from 3.11.1 to 3.11.2.
- Increase pitest-junit-plugin version from 0.14 to 0.15.
- Increase spotbugs version from 4.3.0 to 4.4.1.
- Increase postgresql version from 42.2.23 to 42.2.24.
- Increase spring version from 2.5.4 to 2.5.5.
- Resolve spotbugs warnings.
- Increase pmd version from 6.38.0 to 6.39.0.
- Add additional representation for
paymentMethodto GUI endpoint.
- Fix self-reference of
QueryInputin OpenApi schema. - Fix global exception handler intercepting checked exceptions.
- Create Clearing House process before logging, so that consumer can log under same ID.
- When creating an artifact, check length of whole URL instead of just path.
- Use language code instead of language ID when creating
TypedLiterals. - Make
SelfLinkHelpernon-static, so that it can use Spring properties. - Use only
/dataand not the request's context path as delimiter for determining additional path for data requests. - Create broker in database upon bootstrap start.
- Add app, app store, and app endpoint entities to the data model.
- Provide REST endpoints for managing entities and its relations.
- Add REST endpoint for managing image/container deployment with Portainer.
- Add
POST api/ids/appendpoint for downloading an IDS app's metadata and data from the IDS AppStore.
- Increase spring-boot-starter-parent version from 2.5.3 to 2.5.4
- Increase jackson version from 2.12.4 to 2.12.5.
- Increase IDS messaging services version from 3.1.0 to 4.2.2.
- Set whitelabel error page default value to
enabledto remove thrown ServletException. - Fix connector id mapping from IDS object and to IDS object.
- Set meaningful default values for mandatory attributes of
ids:ConfigurationModel. - Restrict access to non-functional POST/PUT/DELETE endpoints from contract-request-controllers.
- Add null checking to object mappers.
- Add
paymentModalityenums to GUI controller.
- Remove ids endpoint definition from Bootstrapping files.
- Add value
securityprofileto GUI helper endpoint. - Add default
ids:depthtoDescriptionRequestMessage. - Add property for specifying the path from which Camel routes are loaded.
- Defaults to the
camel-routesdirectory in theresourcesfolder. - Allow changing Camel routes without recompilation if an external directory is used.
- Defaults to the
- Add
paymentModalityandsamplesto resource (for documentation, see here). - Add online status validator. Provides the possibility to set the connector
offline. See how to use this here. - Add
connectorIdto configuration entity. - Add alias to keystore and truststore entities.
- Automatically notify subscribers on a local data update via
PUT /data.
- Increase pitest version from 1.6.7 to 1.6.9.
- Use XML DSL instead of Java DSL for definition of Camel routes.
- Dropping jsonld dependency.
- Increase maven-enforcer-plugin version from 3.0.0-M3 to 3.0.0.
- Increase springdoc version from 1.5.9 to 1.5.10.
- Increase checkstyle version from 8.44 to 8.45.1.
- Increase pmd version from 6.36.0 to 6.37.0.
- Increase camel version from 3.11.0 to 3.11.1.
- Return data with correct content-type in headers, if possible. Fallback stays application/octet-stream.
- Set default status in
config.jsontoCONNECTOR_ONLINE. - Increase equalsverifier from 3.7.0 to 3.7.1.
- Restrict access to POST/PUT/DELETE
{entity}/subscriptionsfor artifacts and representations. - Restrict access to POST/PUT/DELETE
offers/{id}/brokers. - Fix eager service loading causing "Bean not eligable for..." messages.
- Make configuration attributes read-only: inbound model versions, security profile.
- Remove error path from
application.properties. - Set correct default properties for new configurations.
- Fix persistence errors for configurations.
- Rename
connectorEndpointtodefaultEndpoint.
- Provide REST endpoint for full-text search at the IDS Broker:
/ids/search. - Check if the issuer connector of an artifact request does correspond to the signed consumer of the transfer contract.
- Integrate Camel-Spring-Boot version 3.10.0.
- Integrate DSC Camel Instance repository.
- Provide REST endpoints for adding and removing Camel routes and Spring beans at runtime.
- Send
ArtifactRequestandArtifactResponsemessages to the Clearing House. - Allow artifacts pointing to backend systems to be created with both BasicAuth and API key authentication.
- Integrate IDSCPv2 for IDS communication.
- Add property
idscp2.enabledfor enabling and disabling IDSCPv2 server. Is disabled by default. - Add properties for configuring keystore and truststore for IDSCPv2.
- When enabling IDSCPv2, a valid IDS certificate is required!
- Add property
- Implement subscription transfer pattern.
- Add user profile for apps/services with access to subscription REST endpoints.
- Allow subscriptions for offered & requested resources, representations, and artifacts via REST endpoints.
- Create
PUT /notifyendpoint to manually notify subscribers (ids & non-ids). - Automatically notify subscribers on entity updates.
- Create REST endpoints for sending (un-)subscriptions via ids messages.
- Integrate IDS ConfigManager repository.
- Extend data model and REST API by entities: auth, broker, configuration, datasource, endpoint, keystore, proxy, route, and truststore.
- Add Camel error handler for propagating errors in routes.
- Persist connector configuration to database.
- Load configuration from database.
- Choose active configuration from list of configurations.
- Add policy pattern for security profile restricted data usage.
- Replace IDS Connector Framework v5.0.4 by IDS Messaging Services v2.0.1.
- Edit response codes and response content for the following endpoints:
/ids/connector/unavailable,/ids/connector/update,/ids/resource/unavailable,/ids/resource/update,/ids/query. - Move implementation for sending IDS query, connector, and resource messages to
GlobalMessageService. - Handle DAT retrieving errors in
PRODUCTIVE_DEPLOYMENTwith status code 500 and a corresponding message. - Artifact PUT
/api/datachanged response code from Ok (200) to NoContent (204). - Change naming of the resource's license attribute from
licencetolicense. - Change
AbstractEntitytoEntityandNamedEntity. - Refactor message handlers using Camel routes.
- Increase postgres version to 42.2.23.
- Increase jackson version to 2.12.4.
- Increase equalsverifier from 3.6.1 to 3.7.0.
- Increase spotbugs from 4.2.3 to 4.3.0.
- Increase spring version from 2.5.2 to 2.5.3.
- Increase spring-boot version to 2.5.2.
- Increase checkstyle version to 8.44.
- Increase pmd version to 6.36.0.
- Make bootstrapping feature optional. It can be enabled in the
application.properties.
- Add
BootstrapConfiguration.- Allow registering ids catalogs, offered resources, representations, artifacts, and contract offers during start up.
- Allow registering offered resources as part of the catalogs to brokers.
- Add
CatalogTemplateand matching mapping/build functions. - Add a method to
AbstractIdsBuilderthat allows to create elements with a custom base URI. - Add
bootstrap.pathtoapplication.propertiesto define the base path where bootstrapping data can be found.
- Change
ConnectorServiceto use the connector's ID fromconfig.jsonwhengetAllCatalogsWithOfferedResourcesis called. - Increase IDS Framework version to 5.0.4.
- Update default Infomodel version to 4.0.10.
- Increase postgres version to 42.2.22.
- Fixed missing IDS context in
/api/examples/policy. - Disable autocommit on database transactions.
- Remove encoding from optional path segment in
HttpService.
- Increase postgresql version to 42.2.21.
- Increase spring-boot version to 2.5.1.
- Fixed deletion of artifact data before the set time.
- Fixed tags with different descriptions in openapi schema.
- Fixed missing paging information in openapi schema.
- Add missing hateoas information in openapi schema.
- Add telemetry collection via Jaeger.
- Replace deprecated JPA calls (
getOne->getById). - Increase length restriction for URIs in database columns to 2048.
- Increase modelmapper version to 2.4.4.
- Increase equalsverifier version to 3.6.1.
- Increase spring-openApi-security version to 1.5.9.
- Increase spring-openapi-ui version to 1.5.9.
- Increase maven-javadoc-plugin version to 3.3.0.
- Increase spring-boot version to 2.5.0.
- Increase checkstyle version to 8.43.
- Increase pmd version to 6.35.0.
- Increase pitest version from 1.6.6 to 1.6.7.
- Representations have now only one self-link.
- Set Basic Auth Header on (provider) backend calls.
- Ignore empty extension
/**onGET **/artifacts/{id}/data/**. GET **/artifacts/{id}/dataandPOST **/artifacts/{id}/datawill now return the same output.
- Make the Clearing House url setting optional in
application.properties.
- Persist URIs as strings in database.
- H2 does not persist database to files.
- Change additional list mapping for received attribute list with a single item.
- Disable unused rolling file appender in
log4j2.xml.
- Partially support of HATEOAS.
- Add pagination for REST calls on resources.
- Integration and configuration of Jaeger for using open telemetry.
- Set default application name to
Dataspace Connectorinapplication.properties. - Add custom spring banner.
- Add separate controller methods for each IDS message type.
- Add global exception handlers for
ResourceNotFoundException,JsonProcessingException, and anyRuntimeException. - Add possibility to disable http tracer in
application.properties. - Add possibility to restrict depth of returned IDS information on
DescriptionRequest.- Change IDS self-description to returning only a list of catalogs instead of their whole content.
- Add possibility to send
DescriptionRequestMessagesfor other elements than resources.
- Add remote IDs to each object for tracking origin.
- Support multiple policy patterns in one contract.
- Add Unit tests and integration tests.
- Add quality checks and project reports to
pom.xml: execute withmvn verify site. - Improve contract negotiation and usage control.
- Add contract agreement validation in
ContractAgreementHandler. - Note pre-defined providers for contract offers in
ContractRequestHandler. - Use contract agreements for policy enforcement.
- Handle out contract agreements for multiple artifacts (targets) within one negotiation sequence.
- Restrict agreement processing to confirmed agreements.
- Add relation between artifacts and agreements.
- Add contract agreement validation in
- Add possibility to subscribe backend URLs for updates to a requested resource.
- Support of IDS Infomodel v4.0.4 (direct import in
pom.xml). - Change IDS Framework version to v4.0.7.
- Http tracer is limited to 10000 characters per log line.
- Log file creation is disabled by default.
- Move Swagger UI to
/api/docs. - Change response type from string to object.
- Use correct response codes as defined by RFC 7231.
- Replace old data model: catalogs, resources, representations, artifacts, contract, rules, and agreements.
- Separate
ResourceRepresentationintoRepresentationandArtifact. - Separate
ResourceContractintoContractandRule. - Handle data in own database entity.
- Separate management of resources and its relations.
- Define clear interfaces between data model and the IDS Infomodel objects.
- Add IDS object builder classes.
- Build ids:Resource only if at least 1 representation and 1 contract is present.
- Build ids:Representation only if at least 1 artifact is present.
- Build ids:ContractOffer only if at least 1 rule is present.
- Move remote information from
BackendSourcetoArtifact.
- Separate
- Strict implementation of model view controller pattern for data management.
- Controller methods for resources and representations.
- Provide strict access control to backend. Information can only be read and changed by services.
- Strict state validation for entities via factory classes.
- Change IDS messaging sequence: Start with
ContractRequestMessagefor automatedDescriptionRequestMessageandArtifactRequestMessage. - Improve data transfer.
- Process bytes instead of strings.
- Remove limit for data in internal database.
- Establish connection via
ArtifactRequestMessagefor always pulling recent data.
- Fix of buffer overflow in http tracer.
- Make message handler stateless.
- Prevent leaking of technology stack in case of errors/exceptions.
- Logger sanitizes inputs to prevent CRLF injections.
- Mass Bindings.
- Timezone independence.
- Set builder image to JDK 11.
- Configure timeout values for http connections via
application.properties.
- New policy pattern: connector-restricted data usage.
- Validate
CONNECTOR_RESTRICTED_USAGEon data request (as a provider).
- Handle
ResourceUpdateMessage: Update the local copy of resource upon receiving aResourceUpdateMessage. - Add attribute for endpoint documentation reference to
ResourceMetadata. - Store
ownerURI,contractID,artifactID, andoriginalUUIDinRequestedResource. - Add support for query params, path variables, and additional headers when requesting artifacts.
- Add input validation for query params, path variables, and headers.
- Add usage control framework checking to the classes
PolicyEnforcementandPolicyHandler. - Add example files for deployment in Kubernetes.
- Configure Spring to fail on unknown properties in request bodies.
- Move settings for policy negotiation and allowing unsupported patterns to
application.properties. - Refactor HttpUtils to use the IDS Framework's
HttpService. - Add data string as request body instead of request parameter.
- Exclusive use of the
ConfigurationContainerfor processing the connector's self-description and configurations to avoid state errors (relevant for the broker communication).
- Add message handler for
ContractAgreementMessage.
- Answer with a
MessageProcessedNotificationMessageto the consumer'sContractAgreementMessage. - Save the
ContractAgreementto the database and the Clearing House when the secondAgreementMessagehas been processed. - Refine exception handling in the message building and sending process.
- Update from IDS Framework v4.0.2 to v4.0.3.
- Send
ContractAgreementMessageas request message.
- Update from IDS Framework v4.0.1 to v4.0.2.
- Add public endpoint for self-description without resource catalog and public key.
- Add example endpoints.
- Add exceptions and detailed exception handling.
- Create
UUIDUtilsfor uuid handling. - Create
ControllerUtilsfor http responses. - Add endpoints for contract negotiation.
- Add http tracing and improved logging.
- Add custom profiles for Maven.
- Add negotiation service.
- Add Spring actuators.
- Add contract agreement repository.
- Change object handling and model classes.
- Move attribute
systemfromBackendSourceasnametoResourceRepresentation. - Move attribute
sourceTypefromResourceRepresentationastypetoBackendSource. - Migrate
ResourceRepresentationto map.
- Move attribute
- Remove requested resource list from description response.
- Rename broker communication and self-description endpoints.
- Improve exception handling.
- Improve message handler and sending request messages in
de.fraunhofer.isst.dataspaceconnector.services.messages. - Change package structure.
- Add abstract class to resource service implementations.
- Edit policy handler.
- Improve
pom.xml. - Remove local caching of ids resources.
- Update to IDS Framework v4.0.1.
- Restructure
README.mdand wiki. - Move code of conduct from
CONTRIBUTING.mdtoCODE_OF_CONDUCT.md. - Add response code annotations to endpoint methods.
- Change http response formatting.
- Replace Log4j1 with Log4j2.
- Update connector of configuration container before sending a broker message.
- Enforce access counter usage by moving it to an isolated method.
- Update and delete resources from broker.
- Add configuration controller for GET and PUT configuration model.
- Add possibility to set a resource id on create.
- Add possibility to set a representation id on create.
- Add a description of how the internal database can be replaced by another.
- Add .dockerignore file.
- Update to IDS framework v3.2.3.
- Move self-service and example endpoints to admin API.
- Improve Dockerfile.
- Add key- and truststore to example configuration.
- Add default policy (provide access) to resource on creation.
- Add representation.
- Fix token error in test classes.
- Fix file path in packaged jar.
- Autowire ConfigurationContainer in constructor to instantiate Connector, KeyStoreManager or ConfigurationModel (previously directly autowired).
- Add ClientProvider field to all classes using an OkHttpClient (create instance in constructor from autowired ConfigurationContainer) & replace calls to IDSUtils.getClient() with clientProvider.getClient().
- Add file URI scheme to paths of KeyStore and TrustStore in config.json.
- Add test classes: SelfDescriptionTest, RequestDescriptionTest, RequestArtifactTest, DescriptionRequestMessageHandlingTest, ArtifactRequestMessageHandlingTest.
- Change call to BrokerService constructor (parameters changed) in BrokerController.
- Change call to IDSHttpService constructor (parameters changed) in ConnectorRequestServiceImpl.
- Replace ConfigProducer with ConfigurationContainer in IdsUtils, MainController and DescriptionMessageHandler.
- IDS Connector certificate file.
- Detailed Javadoc.
- Endpoint for example usage policies.
- Create NotificationMessageHandler for incoming notification messages. (TODO: not yet working, due to a pending IDS Framework update)
- Integrate IDS policy language.
- Modify policy patterns.
- Adapt policy reader to new policy language.
- Adapt usage control implementation to new patterns.
- Old ODRL and policy resource examples.
- Custom ODRL model.
- Remove external backend application from test setups.
- Update to Information Model v4.0.0.
- Update to Framework v3.1.0.
- Replace config.yaml with config.json.
- Redesign resource model.
- Add representations and multiple source types.
- Distinguish between offered and requested resources in two separate database tables.
- Redesign connector open API.
- Add contract endpoints.
- Add representation endpoints.
- Request data by resource id and endpoint id.
- Removed parameters from connector requests.
- Add two separated resource services.
- Keep the self-description up to data at runtime with every resource change.
- Move the automated policy check to a separate policy enforcement class.
- Improve the requested metadata and data deserializing and saving.
- Improve http utils.
- Improve message handler.
- Return description in IDS format with an odrl usage policy as property.
- Request a specific artifact instead of a data resource.
- Remove IDS configmodel.
- Remove unused communication service classes.
- Remove token service classes.
- Remove ISST private repository and settings.
- Add public ISST repository.
- Add DAT request every hour.
- Add RequestMessageServiceUtils class for response handling.
- Add operator check on COUNT_ACCESS.
- Add h2 remote access.
- Add NO_POLICY pattern.
- Add prohibition of requested metadata update for data consumer.
- Change odrl model (minimize).
- Changed requested metadata + data saving.
- Fix DescriptionMessageHandler policy check.
- Fix request DAT from DAPS.
- Add data resource values: created, internal.
- Add odrl policy model.
- Add example odrl policies.
- Add requested resource (resourceMetadata + data) saving.
- Add policy pattern recognition: PROVIDE_ACCESS, TIME_INTERVAL, INHIBIT_ACCESS, LOG_ACCESS, COUNT_ACCESS, DELETE_AFTER (duration/date).
- Add usage control implementation as data provider: at artifact message handler (PROVIDE_ACCESS, TIME_INTERVAL, INHIBIT_ACCESS).
- Add usage control implementation as data consumer: at data access (TIME_INTERVAL, LOG_ACCESS, COUNT_ACCESS).
- Add automated usage control implementation as data consumer: COUNT_ACCESS, DELETE_AFTER (duration/date).
- Change data resource model: separated uuid and uri from resourceMetadata.
- Add connection to external data resource HTTP API.
- Add connection to external data resource HTTP API with basic auth.
- Change naming to Dataspace Connector.
- Change DescriptionRequestHandler to return IDS metainformation.
- Setup a basic Spring Boot application.
- Integrate the IDS Framework v2.0.12 and Infomodel v3.1.0.
- Provide REST endpoints for resource handling and IDS communication.
- Add a H2 database for saving resources (data & resourceMetadata).
- Provide a documentation for setting up the application with Maven and Docker.
- Add message handling for incoming ArtifactRequestMessages and DescriptionRequestMessages.
- Add IDS Broker communication (register, unregister, update, query).
- Setup a Swagger UI.
- Add basic authentication for the backend API.
- Add proxy and certification basic setup.
- Provide an example Postman collection.