Genesys Cloud - Developer Announcements!

 View Only

Sign Up

Platform API SDK for Java – Removing dependency on Joda-Time (breaking change)

  • 1.  Platform API SDK for Java – Removing dependency on Joda-Time (breaking change)

    Posted 3 hours ago

    Summary

    The Platform API SDK for Java currently includes a dependency on Joda-Time 3rd party library.

    As the Joda-Time is considered to be in maintenance mode, with no planned major enhancements, the dependency on this 3rd party library will be removed from the Platform API SDK for Java, leveraging the standard Java Time library in the future.

    The Joda-Yime library is still leveraged in a couple of models (classes) to represent a local date time property.

    Models/Classes:

    • model/Schedule.java (properties: start, end - as org.joda.time.LocalDateTime)
    • model/EdgeAutoUpdateConfig.java (properties: start, end - as org.joda.time.LocalDateTime)

    The start & end properties from the Schedule model/class will be modified and represented as java.time.LocalDateTime.

    The start & end properties from the EdgeAutoUpdateConfig model/class will be modified and represented as java.time.LocalDateTime.

    This change applies to new versions of the Platform API SDK for Java released on and after Wednesday, May 6, 2026.

    Effective Date

    Wednesday, May 6, 2026

    Customer Impact

    Impact - When updating your project dependencies to a version of the Platform API SDK for Java released on and after Wednesday, May 6, 2026:

    Breaking change for Schedule and EdgeAutoUpdateConfig classes, when accessing the start or end properties.

    These properties will be represented as a java.time.LocalDateTime.

    Although the java.time.LocalDateTime represents the same notion (a local date time - with no specified timezone) than org.joda.time.LocalDateTime, the classes themselves implement different constructors, different parsing or transformation methods, different methods to manipulate local data times.

    Be careful about the use of local date time in your code, when manipulating values, serializing or deserializing it, and verify that the change to java.time.LocalDateTime doesn't require adjustements.

    E.g:

    toString() method on org.joda.time.LocalDateTime and on java.time.LocalDateTime will return an equivalent result for a date/time like "2026-03-20T10:58.57.000".

    But it will return a different value (still compliant) for a date-time like "2026-03-20T10:58.00.000" ("2026-03-20T10:58.00.000" on org.joda.time.LocalDateTime, "2026-03-20T10:58" on java.time.LocalDateTime).

    A pre-release of the Platform API SDK for Java reflecting this change is available in the prerelease-04-2026 branch of the platform-client-sdk-java repository: https://github.com/MyPureCloud/platform-client-sdk-java/tree/prerelease-04-2026.

    If any differences are detected during pre-release testing, please contact the designated support channels listed below.

    Impacted Resources

    Models/Classes:

    • model/Schedule (properties: start, end - update to java.time.LocalDateTime)
    • model/EdgeAutoUpdateConfig (properties: start, end - update to java.time.LocalDateTime)

    And models/classes which includes a Schedule or EdgeAutoUpdateConfig property (e.g. Site, Edge, OutboundRoute, ScheduleEntityListing)

    Endpoints from Architect Api and Telephony Providers Edge Api:

    e.g.

    GET api/v2/architect/schedules/{scheduleId}

    PUT api/v2/architect/schedules/{scheduleId}

    GET /api/v2/architect/schedules

    POST /api/v2/architect/schedules

    ...

    GET /api/v2/telephony/providers/edges/sites/{siteId}

    PUT /api/v2/telephony/providers/edges/sites/{siteId}

    ...

    Issue References

    [DEVTOOLING-1615]

    Contacts

    @Jerome Saint-Marc  

    Please reply to this announcement with any questions. This helps the wider developer community benefit from the discussion. We encourage you to use this thread before contacting the designated person directly. Thank you for your understanding.