Skip to content
This repository has been archived by the owner on Mar 31, 2022. It is now read-only.

DSC v7.0.0 - Extended Route Functionality

Compare
Choose a tag to compare
@juliapampus juliapampus released this 31 Jan 12:50
· 25 commits to main since this release
ce64251

WARNING - MAJOR CHANGES: Before updating, please read this guide!

In CHANGELOG.md:

Added

  • 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 /data endpoint 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 DataSourceDesc for types REST and DATABASE to allow adding database driver and URL.
  • Create datasource beans from DataSources of type DATABASE automatically.
  • Add database migration feature.
    • Offer possibility to migrate databases to v7.0.0 starting from v5.0.0.
  • Add portainer.application.scheme to application.properties.. Default is set to http.

Changed

  • Change jdk version from 11 to 17.
  • Change encoding of local data from UTF-16 to UTF-8.
  • Change relation between Route and Artifact to 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 location of Endpoint from URI to String.
  • Replace template engine Velocity with Freemarker.
  • Remove suffix settings from ConfigurationDesc attributes (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 Messages to _Messaging.
      • Rename tag Camel to Routes (Apache Camel).
      • Rename tag Connector to _Connector.
      • Rename tag Configurations to _Configurations.
    • Create tag _Utils.
      • Move /api/examples/validation and /api/examples/policy to _Utils.
      • Move /api/utils/enum to _Utils.
    • Remove annotation @hidden from 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/negotiation and /api/configuration/pattern to _Configurations.
  • Change REST endpoints.
    • PUT /api/routes/{id}/endpoint/start expects a URI instead of a UUID.
    • PUT /api/routes/{id}/endpoint/end expects a URI instead of a UUID.
    • Change POST /api/configmanaer/enum/{enumName} to GET /api/utils/enums and 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, and DATA_SOURCE_TYPE.
      • Change return value of SECURITY_PROFILE to the internal model. Add IDS_SECURITY_PROFILE for the ids enum.
      • Change return value of CONNECTOR_STATUS to the internal model. Add IDS_CONNECTOR_STATUS for the ids enum.
    • Change /api/configmanaer/route/error to /api/camel/routes/error.
  • 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 type in DataSource transient, as type information is persisted through the dtype column created through the @Inheritance annotation.
  • Rename param of /describe from actionType to type and change it to type ActionType.
  • Change strings of the following enums:
    • PolicyPattern: added strings.
    • UsageControlFramework: e.g. INTERNAL to Internal.
    • ActionType: e.g. START to Start.
    • EndpointType: e.g. APP to App.
    • Event: e.g. UPDATED to Updated.
  • 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.

Fixed

  • XML-escape URLs before injecting them into Camel route templates.
  • Add exception handling for SSLHandshakeExceptions caused by PKIX errors.
  • Insert user input for title and description to example policies at /api/examples/policy.
  • Make /database accessible again.
  • Add class type check to rule comparison.
  • Remove @column(unique = true) from AppStore entity.
  • 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.

Removed

  • Remove entity ConnectorEndpoint and all corresponding classes.