What's Changed
This is major release with a focus on long-term realignment of web (formerly rest) and auth modules.
Web (Rest) Overhual
The Rest module is one of the core pillars of the Travetto framework, and was built upon the idea of wrapping existing Node frameworks (express, koa, fastify). While this worked, initially, gaps started to show up across the different implementations. The implementations relied upon the framework specific middleware for most of the HTTP related operations (cookies, body parse, compression, decompression, etc), and they all did not work the same way.
With the this release, Travetto has dropped implicit support for external frameworks. This means that the Web module is now a standalone framework, and is a peer to the frameworks its replacing. All the standard middleware that was previously external framework dependent, has been rewritten as core Travetto intercpetors. This new web framework departs from express/connect structure, and aligns with a request/response model that is similar to AWS's lambda event model.
Speaking of lambda, another fallout of the rest module deprecation, is that the various lambda implementations have been removed, making way for a single lambda interface.
Additionally, the RPC module has been promoted to general availability and has replaced the Rest-Client module. The Web framework has also been reorganized to ensure that the endpoint structure is aligned with method invocations. This means that all request contextual data (the request object itself, principal, or session information), is no longer able to be declared on the endpoint, but will be defined via a new decorator @ContextParam.
Auth Overhaul
General Improvements
Whats Next?
Also, with the notice that Typescript will be moving to Go for version 7+, we will continue to keep an eye on what the story is for custom code transformers. There is a high chance the transformation logic, that is currently in Typescript will need to be ported to Go. The window for the change is still years out, but is worth keeping in mind.