Skip to content

Latest commit

 

History

History
91 lines (79 loc) · 9.87 KB

ReleaseNotes.md

File metadata and controls

91 lines (79 loc) · 9.87 KB

Bridge Service - RELEASE NOTES

2.11.18

2.11.17

  • New Feature #160 Introduce Extraction Plugins. We have now introduced a new plugin mechanism so you can define how an object you are expecting should be deserialized. Please refer to the chapter on "Deserialization Plugins" in the README doc.
  • New Feature #162 Deserializing Date Objects. We now allow the deserialization of Date objects. You can decide the formatting of the value. For more information please refer to Formatting Dates in the README doc.
  • #159 Errors when deserializing Milti-Part Mime Object: We have included a couple of resilience features to better handle the deserialization of complex Objects. This includes:
    • Nested scraping. We allow a nested scraping of objects.
    • Ignoring calls that throw errors. We now log the error and continue with the next call.
    • Ignoring methods returning objects that we do not have the rights to execute/access.
  • New Environment Variables
    • IBS.DESERIALIZATION.DEPTH.LIMIT : This value sets the maximum depth of the deserialization. By default, we go to a depth of 1.
    • IBS.DESERIALIZATION.DATE.FORMAT : The format in which the date should be deserialized. By default, it is "NONE" meaning no date transformation is performed.
    • IBS.PLUGINS.PACKAGE : The package path in which the IBS should search for the plugins you write. By default, we look in this package : "IBS.PLUGINS.PACKAGE"
  • #176 ClassCastException when the second call argument is an array. We discovered a bug regarding arrays. Whenever the second argument was an array, we would get a ClassCastException.

2.11.16

2.11.15

2.11.14

2.11.13

DEPRECATED due to false merge

2.11.12

  • Disabled automatic mode as discovered some issues with the loading (Issue #55).

2.11.11

2.11.10

This is the first version that is on the public github. Hence we have the issue numbers being reset. Old issue titles are marked in bold:

  • Call Timeout Management: Introducing the timeout, mechanism. We have a global timeout, and a call session timeout. We also log the individual call durations in the return payload.
  • Object Instance Management : We can now instantiate objects and call their instance methods.
  • Integro Independance: We are now completely independant of integro as a library. For testing purposes we now use dedicated classes that are available in the module "bridgeService-data". This can be included in a deployment by setting demo.project.mode=compile.
  • multi-module solution: Moved to a multi-module approach. This we can better manage and maintain the dependant test classes.
  • Public GitHub: Migrated from the Adobe Enterprise artefactory to the public GitHub, adapted deployment scripts and devOps methods.
  • Available JavaDoc: Made the javaDoc available.

2.11.5

  • Java 11 Compatibility: Integro Bridge Service is now Java 11 compatible. From now on the standard builds are in Java 11. (Java 8 is also available, but is made on demand).
  • Dynamically load all called classes: Previously, we were loading a preset set of packages for managing the static variable contexts in calls. We now automatically include the classes that are being called. This solves the following issues:
    • Ensuring that the system value handler is included in the static paths: We were discovering that static variables are not automatically included in the static cpath context.
    • Issue with Server=null when calling PushNotifications with IBS: We discovered that when the environment variables are in one context, and that the following java call isn't, we would not have access to those variables.
  • Renamed Configuration class com.adobe.campaign.tests.service.ConfigValueHandler to com.adobe.campaign.tests.bridge.service.ConfigValueHandlerIBS. This is to avoid confligt with projects using the same design pattern.
  • Added Continuous Integration Scripts.

2.0.4

  • Environment variables are always strings: Facing issues with integegers in environment variables not being picked up, we decided to force all environment variables as Strings.
    • We now include two new Exceptions:
      • IBSConfigurationException : thrown whenever the configuration we set (currently only for the setting of the environment variables) does not match an existing class/method.
      • IBSRunTimeException : When for some reason the payload has issues non-related to JSON.

2.0.0

  • Implementation of the Injection model. IntegroBridgeService is added as a dependency in projects and can now be spawned in any environment.
    • Move from an aggregator model to an insertion model. From now on IBS is put in the libraries that we want to interface.
    • externalizing environment variables
    • Updated the README to include clearer information about call chaining
    • The classpath is no longer hard-coded
    • introduced continuous integration
    • Allow projects injecting the IBS to append their version number to the IBS test end point
    • Make SSL params in main configurble

1.0.0

  • First working version. Using Aggregator model, containing Integro-ACC