News and noteworthy
v5.2.0 - work in progress
- The GitHub project was renamed from
- The internal submodule names were adopted:
- The Maven artifact IDs were changed according to the new submodule names
- All internal package names were changed to reflect the new naming (
com.helger.peppol.smpserver.*was changed to
- System property names, configuration file names or configuration properties are NOT changed. If you don't develop against phoss SMP, nothing changed for you
- The internal submodule names were adopted:
- Slightly changed the wording in the small hint menu in the secure area (see issue #100)
- Changed the order on the "SMP Settings" page, so that "SMK/SML" comes before "Directory" (because it is more important)
- The "Tasks/problems" page now also checks, if the SMP is registered to the SML (see issue #101)
- The page "Certificate information" now knows about the "TOOP Pilot" PKI
- Added a new button on page "Transport Profiles" to ensure all default transport profiles are present
- Added new backend MongoDB (see issue #105)
v5.1.2 - 2019-05-28
- A new configuration option
webapp.propertiescan be used to turn off the login possibility from /public URLs (see issue #102)
- The Docker internal environment variable
VERSIONwas renamed to
SMP_VERSIONto avoid conflicts
- The Docker images now use Tomcat 9 with JRE 11 as the basis
v5.1.1 - 2019-04-23
- The random generator initialization that caused long initialization delays ways fixed (through ph-commons 9.3.2)
- The default read timeout for the SML connection was updated from 5 to 30 seconds issue #99
- The Docker images use the non-blocking random by default
v5.1.0 - 2019-03-20
- Updated user interface to use Bootstrap 4.3.1
- Reworked the REST API error handling, so that errors are propagated more clearly (see issues issue #72 and issue #80).
- Added new configuration file property
smp.rest.log.exceptionswith the default value of
- Added new setting if Directory is required or not. Certain warnings are enabled/disabled depending on that status.
- The Status API got a new item
smp.pd.neededthat contains the new setting if the Directory is needed or not.
- The certificate update API was integrated in the SMP (see issue issue #70).
- When using identifier type
simpleit is now possible to created process identifiers without a scheme (see issue issue #87).
- Added new task/problem checks for "global debug" and "global production" settings.
- The Status API got a new item
smp.publicurlthat contains the public URL from the configuration file
- The Status API got a new item
smp.forcerootthat contains the setting from the configuration file
- If Directory automatic update is enabled, any ServiceInformation change triggers a Directory update if a Business Card is available for the respective Service Group (see issue issue #94).
X-Frame-OptionsHTTP header is now by default set to
SAMEORIGINto avoid click-jacking attacks.
- The REST API implementation was reworked to be more secure and less prone to attacks.
- The Business Card page now always shows the possibility to manually update a ServiceGroup in the Directory
v5.0.8 - 2018-10-30
- The simple login from the
/publicnow uses HTTP method POST instead of GET (security issue)
- An issue with case sensitivity in the writing REST API to create service groups was fixed, if a case-insensitive identifier factory is in used (e.g. "peppol") (see issue #57).
v5.0.7 - 2018-10-29
- Added new
booleanto enable WS debug logging
- Renamed the administration page "SML information" to "SML configuration"
- Instead of maintaining the SML URL manually in the settings, you now need to chose one of the configured "SML configurations". This implies that the configuration property
- The name of the Directory can now be customized using
webapp.directory.name. By default it is "PEPPOL Directory" but it may be "TOOP Directory" for TOOP as well. This is a pure user interface configuration item and has no functional implications.
- It's now possible to edit the extension of an Endpoint on the UI (see issue #74).
- Improved the visualization of extensions when viewing the details of an object
- In case a BusinessCard exists without a
ServiceGroup, this no longer causes an exception
- If PEPPOL PKI v3 is configured, a certificate chain of 3 elements is expected
- The Endpoint tree view now also has a button to directly query the endpoint
- Updated to PEPPOL Directory API 0.6.2
- Error handling was improved if an error occurred when communicating with the SML.
- The Status API got a new item
- The SQL backend now uses MySQL Connector/Java 8.0.x. I had issues with the timestamp handling which forced me to add
useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTCto the JDBC connection URL. But the solution is still binary compatible with the previous MySQL 5.1 connector version.
- Fixed an error with same internal ID when copying Business Cards on the UI
v5.0.6 - 2018-06-04
- Fixed an error with rolling back SML transactions (see issue #71)
- The UI now has a possibility to explicitly unregister a Service Group from the SML without deleting it
- Added the possibility to configure the execution time warning (SQL version only)
- The field "is deprecated?" of transport profiles can now be handled via the UI
- A new Status API was introduced to query configuration parameters (see issue #73).
- Added a possibility to disable the status API via the Configuration
v5.0.5 - 2018-04-16
- Fixed a stupid error that the deletion of a ServiceGroup is not properly propagated to the PEPPOL Directory
- Updated to Jersey 2.27
- Updated the default truststore so that the SSL certificates of the DG DIGIT SML are contained, as there seems to be an issue with the latest Java 8 update.
- The "Create Business Card" page only shows Service Groups that don't have a Business Card yet
v5.0.4 - 2018-03-27
- A suspicious comment indicating that PEPPOL Directory is not supported by SQL backend was fixed
/list/REST APIs are now available for the OASIS BDXR as well
- The sub-projects previously licensed under EUPL 1.1/MPL 1.1 are now licensed under MPL 2.0
- The automatic PEPPOL Directory update on import/REST API was fixed (see issue #52)
- The list of managed participants on the public start page can be disabled (see issue #58). Configure via property
- Warning about disabled SML can be turned off (see issue #53). Configure via property
- Added configurable timeouts from SMP to SML using the properties
sml.request.timeout.msas mentioned in issue #67.
Certificate informationpage now has explicit support for the new OpenPEPPOL PKI v3
- By using the predefined truststore path
peppolsupport for OpenPEPPOL PKI v2 and v3 is provided
- By updating to PEPPOL Directory 0.6.0 the extended PD Client configuration in file
pd-client.propertiescan be used. See https://github.com/phax/peppol-directory/#pd-client for details.
v5.0.3 - 2017-07-21
- Initial support for SMP Docker images was added
- Fixed NPE in REST API if an invalid data format was used
- Made SML registration IP and hostname configurable (see issue #49)
- Existing service groups can now be subsequently registered to the SML (see issue #51)
- The "SML registration" pages now contains a note, if the SMP is already registered to the SML.
- The default page of the PEPPOL Directory was changed to
https://directory.peppol.eu- because of the very special https setup currently used, an update to the PD client library v0.5.1 is highly recommended
- An error prevented Business Cards from being imported correctly - Thanks Ger for pointing this out
- An exception when using the PEPPOL REST API in combination with an Endpoint without an URI was fixed
- The Docker image got
vimby default (see issue #45)
v5.0.2 - 2017-04-04
- Fixed an NPE in "Check DNS state" when an empty participant identifier scheme is used
- Added a new entry to the "Tasks/problems" page if the default password of the default Admin user was not changed
- Improved and unified logging a bit
- Vagrant configuration has been updated to work with the new structure from 5.0.1
- Made the public start page static to decrease server load. The previous layout can be restored by switching the property
- Added support for a writable REST API to create/update/delete BusinessCards per API (see issue #43)
v5.0.1 - 2016-11-27
- There are now 2 separate web applications for the SQL and the XML backend to resolve a problem with WildFly if a
persistence.xmlis in the class path but the XML backend is used.
- An incompatibility with .NET using the inclusive canonicalization algorithm was fixed ("\r\n" vs. "\n")
- The canonicalization algorithm used in the signature was changed to "exclusive" as stated in the PEPPOL SMP specification. The OASIS BDXR version still requires the use of the "inclusive" version.
v5.0.0 - 2016-11-15
- Naming the solution "phoss SMP" plus branding
- The first SMP solution to be officially CEF conformance tested - read the test protocol - read more on https://ec.europa.eu/cefdigital/wiki/display/CEFDIGITAL/phoss+SMP+first+implementation+to+pass+CEF+eDelivery+OASIS+SMP+Conformance+Tests
- Added the new logo into the application
v5.0.0 Release Candidate 2 - 2016-11-07
- Fixed extension UI handling for BDXR service groups (see issue #30)
- Delete Business Card when Service Group gets deleted (see issue #31)
- Using specific namespace prefixes for SMP REST responses ('smp' in PEPPOL mode and
bdxrin BDXR mode)
- The endpoint list can now also be view as a tree structure (see issue #36)
- Identifier case sensitivity (or insensitivity) is now based upon the used identifier schemes (to comply with the generic BDXR SMP CS03 specification). In BDXR mode all identifier types are case insensitive where in PEPPOL mode only the participant identifiers are case insensitive (when using the
- Service groups, endpoints and Business Cards can now be exported and imported to simplify the migration with all data to a different SMP (see issue #37)
- Added the possibility to delete empty processes and empty document types from the list of endpoints.
- A simple Vagrant setup for SMP was provided by @jerouris and can be found at https://github.com/phax/phoss-smp/tree/peppol-smp-server-parent-pom-5.0.0-rc2/vagrant
v5.0.0 Release Candidate 1 - 2016-10-13
- A special Upgrade Guide V5 was created
- PEPPOL Directory automatic update was added (see issue #25)
- When running in BDXR mode, the Signature and Digest algorithm was fixed to SHA256
- The SQL implementation for the business cards is in place (see issue #28)
v5.0.0 Beta 1 - 2016-08-06
- JDK8 is be the minimum runtime requirement, the configuration is totally backwards compatible
- The REST-API of the SMP can now supply either the PEPPOL XML format (in namespace http://busdox.org/serviceMetadata/publishing/1.0/) or the BDXR SMP XML format (in namespace http://docs.oasis-open.org/bdxr/ns/SMP/2016/05) (see issue #29)
- The "SMP - SML tools" page from http://peppol.helger.com has been integrated (see issue #22)
- It's possible to customize the SMLs to use inside the tool (see issue #23)
- A truststore for https connection with the SML can now be configured
- Keystore and truststore can be reloaded at runtime
- Identifier types are now customizable (see issue #20)
- The "minimum SQL" implementation introduced in 4.1.1 was removed again because the original requestor no longer uses it.
- Improved the integration of the PEPPOL Directory configuration into the system
- New pages for bulk changing URLs and certificates are present (see issues #4 and #27)
- Certain settings can now be changed at runtime:
- Enable or disable the writable REST APIs
- Enable or disable the PEPPOL Directory integration and specify the hostname
- Enable or disable the connection to the SML and the specify the management endpoint
- The "Transport profiles" page was moved into the "Administration" sub menu
v4.1.2 - 2016-03-05
- This is the last version supporting JDK 7
- Added experimental support for PEPPOL Directory Business Cards (properties
smp.peppol.directory.hostname) - see PEPPOL Directory Integration
v4.1.1 - 2016-02-23
- Added a new "minimum SQL" SMP implementation without a GUI - as simple as possible: peppol-smp-server-webapp-sqlmin
- All service group (participant) identifiers are now treated case insensitive.
- Fixed the handling of the SML migration keys as SMK 3 limits them to 24 characters
v4.1.0 - 2015-12-07
- Changed the application title to "ph-peppol-smp-server"
- Fixed some internal URL encodings in links (on the UI)
- Endpoint reference URLs are now optional - creating empty Address elements
- Fixed a problem that consecutive PUTs for service information caused an internal error and required an intermediate DELETE
- Deletion of redirects via the REST API works
- Separated the version number into a separate properties file (version.properties)
- Fixed an EclipseLink caching issue that "find"s after delete still delivered a result (SQL backend only)
- Added new smp-server property
smp.publicurlto specify the public (outside) URL of the SMP server in an easy way
- Added the possibility to define custom transport profiles and use them for your endpoints
v4.0.3 - 2015-11-09
- Fixed a severe bug - the SML deletion of service groups did not work with the SQL backend - the XML backend is not affected!
- A new page "Tasks and problems" showing potential misconfiguration and action items for all service groups was added
- Added new version number property ('webapp.version' in file webapp.properties)
v4.0.2 - 2015-11-05
- Added the configuration option
smp.rest.writableapi.disabledto disable the non-standard writable REST API programmatically. See Configuration for details.
- Updated the SML client so that it works with the new CIPA SMK 3.0.0 (passing SMP-ID when deleting a participant)
v4.0.1 - 2015-10-08
- fixed a problem that some signed serialized REST responses could not be validated correctly
v4.0.0 - 2015-10-04
- Initial version with management GUI and replaceable backend