github phax/phoss-smp phoss-smp-parent-pom-8.7.0
v8.7.0

5 hours ago
  • Fixed the NullPointerException "The value of 'KeyStoreType' may not be null!" on the Tasks and Problems and the Certificate information pages, if the Peppol Directory integration is enabled but pdclient.keystore.type or pdclient.truststore.type is not configured.
    Since peppol-directory-client 1.0.0 these two properties have no implicit default JKS anymore, so the pages now report the missing property instead of failing.
    See #586.
  • (SQL) Fixed the SQL backend reporting a failed SML registration or deregistration of a Service Group as a generic "Error creating ServiceGroup" / "Failed to delete ServiceGroup" internal error.
    The RegistrationHookException was wrapped in an SQLException by the database transaction handling and therefore not recognized, so the SML fault details were lost.
    The REST API now returns the same SML error message as the other backends.
    See #585.
  • The REST APIs PUT /migration/inbound/{ServiceGroupId}/{MigrationKey} and PUT /migration/inbound now support a participant that is migrated from this SMP to this SMP, like the Migrate to this SMP page already did.
    If the Service Group exists and an outbound migration for it is in progress, the Service Group is kept, Migrate() is called at the SML, the inbound migration is stored and the outbound migration is set to MIGRATED.
    Previously this case was rejected with HTTP 400 "The Service Group '...' already exists.", and the only workaround (finalizing the outbound migration) deleted the Service Group including all its registrations and the Business Card.
    The response contains the additional attribute outboundMigrationFinalized in this case.
    See #584.
  • Added optional HTTP caching headers for the REST API endpoints GET /{ServiceGroupId} and GET /{ServiceGroupId}/services/{DocumentTypeId}.
    The new configuration property smp.rest.cache.http.maxage enables Cache-Control: public, max-age=N.
    The new configuration property smp.rest.cache.http.etag enables a strong ETag (SHA-256 of the response) and 304 Not Modified responses for conditional requests.
    Both are disabled by default and independent of smp.rest.cache.enabled.
    See #581.
  • Added the new REST APIs POST /endpoints/url/bulk-change and POST /endpoints/certificate/bulk-change for the bulk change of endpoint URLs and endpoint certificates, like the Bulk change URL and Bulk change certificate pages already did.
    The JSON body contains oldURL, newURL and optionally serviceGroupID for the URL change, and oldCertificate and newCertificate (PEM) for the certificate change.
    The optional URL parameter wait=true makes the call return 200 with the number of changed endpoints after the change is done; otherwise the change runs in the background and 202 is returned.
    Only one bulk change per kind may run at a time (UI and API share the lock); a second call returns 503.
    See #314 and #315 - thx @walles12 for the initial pull request #479.
  • Added the new Bulk change technical contact URL page in the Endpoints menu and the REST API POST /endpoints/technicalcontacturl/bulk-change to change the technical contact URL of multiple endpoints at once.
    The new methods getEndpointTechnicalContactUrlUsageMap and updateAllEndpointTechnicalContactUrls were added to ISMPServiceInformationManager and implemented for the XML, SQL and MongoDB backends.
    See #434.
  • Added the new Bulk change service validity page in the Endpoints menu and the REST API POST /endpoints/servicevalidity/bulk-change to change the service activation date and/or the service expiration date of all endpoints of a document type at once.
    Each date can be kept, set or removed.
    The new methods getEndpointDocumentTypeUsageMap and updateAllEndpointServiceValidity were added to ISMPServiceInformationManager and implemented for the XML, SQL and MongoDB backends.
    See #135.
  • The Repair SML differences page now shows the participants of the selected report entry and repairs only the selected ones, instead of all-or-nothing.
    Nothing is selected by default.
    The number of shown participants can be limited to 100, 1000, 10000 or all, and an information is shown if the report contains more participants than are shown.
    The selection needs a separate confirmation before anything is sent to the SML or created locally.
    The constructor of SMLRepairJob got an additional optional parameter with the selected participants.
    See #579 - thx @netsual

Full Changelog: phoss-smp-parent-pom-8.6.2...phoss-smp-parent-pom-8.7.0

Don't miss a new phoss-smp release

NewReleases is sending notifications on new releases.