Releases: delphi-blocks/WiRL
Releases · delphi-blocks/WiRL
Release 4.6.0
🚀 High level features (since the 4.5.0 release)
- 💥 Engines can decide if they want to handle a given URL (BasePath)
- 💥 SinkPaths config to manage no-response paths (like favicon.ico, etc...)
- 🚀 Added "multipart/form-data" support to TWiRLClient
- 🚀 Experimental [SingleRecord] to get a single record (instead of an array) from a dataset
- 🚀 Ability to retrieve the response content as an object (Response.Content.AsType)
🧰 Other features, changes and bugfixes
- ➕ Better management of client side exceptions (EWiRLClientProtocolException and EWiRLClientResourceException)
- ➕ New TWiRLContent.AsType overload to "fill" an existing object
- ➕ Resources can use absolute URLs ignoring those in TWiRLClientApplication and TWiRLClient
- ➕ Introduced arrays support for WiRLConverters
- 🛠️ Support for ISO date in WiRL.Data.Resolver
- 🛠️ Updated JWT library to v3.3.1
- 🛠️ Update Neon library to v3.0.0
- 🛠️ Updated OpenAPI library to v2.2.0
- 🪛 Fixed the attributes array parameter for message body reader and writer
WiRL Team
Release 4.5
🚀 High level features (since the 4.0.1 release)
- 🏛️ Support for Delphi 12 Athens
- 💥Support for use of class functions in IncludeIf.CustomFunction parameter to NeonIncludeAttribute. This enables the use of CustomFunction when generating OpenAPI schemas. Thanks to @veikkonurmonen
- 🚀 Experimental support for GraphQL
- 🚀 TWiRLClientResource can now read an array of datasets
- 🚀 TWiRLGarbageCollector now descend from TComponent so you can use it as Owner for other components
🧰 Other features, changes and bugfixes
- ➕ Refactoring of all conditional defines. Removed VERxxx in favor of HAS_* defines ().
- ➕ Support for lowercase headers, required for HTTP/2
- ➕ JWT verification is now optional, you can (trust!) and load JWT claims without verification (useful using external ID providers)
- ➕ Added IWiRLTuple interface and TWiRLTuple class
- ➕ Added EWiRLBadRequestException exception
- 🛠️ Better code in date conversion (to a TValue)
- 🛠️ Improvement on TBasicAuth and TBearerAuth
- 🛠️ The OpenAPI engine now uses the App's Neon configuration
- 🪛 Prevent TJSONHelper.JSONCopyFrom from duplicating pairs if they already exist on the Destination
- 🪛 Fixed a bug in the message body reader finding algorithm
- 🪛 Fixed the TWiRLSuperObjectProvider
- 🪛 Cleaning the application entities cache on shutdown
- 🪛 Fixed: HTTP method PATCH has also body
Release 4.0.1
💥 Major features (since the 🔖 4.0.0 release)
Core features
- ✨ Delphi 11 (Alexandria) support!
- ✨ Authorization-check algorithm refactoring. Now PermitAll checks against the presence and validity of the token (
⚠️ possible breaking change) - ✨ Added FireDAC custom Media Types (application/vnd.embarcadero.firedac*)
- ✨ New Garbage Collector!
- ✨ Now it's possible to "assign" objects to the Garbage Collector (injectable via [Context]) and leave the destruction of objects to WiRL
🌟 Minor features, changes and bugfixes
- ✨ Improved OpenAPI 3 support
- 🛠️ Updated swagger-ui bundle
- 🛠️ Now it's possible to have different OpenAPI configuration for different Apps
🐛 Bugfixes
- 🛠️ Removed RESTComponents package dependency
- 🐛 Fixed a bug in the MatchPath routine
Release 4.0.0
💥 Major features (since the 🔖 3.0.1 release)
Core features
- 💥 New TWiRLConvert class
- ✨ Currency support for WiRLConverter
- ✨ Added support for gzip content encoding
Client features
- 💥 Completely new WiRL client components
- ✨ Fluent-linke interface to invoke resource
- ✨ Simple syntax with generics to invoke requests
- ✨ New TWiRLClient with an API similar to TNetHttpClient
- 💥 New ClientResource Editor
- 💥 New TWiRLClientResource component editor
- 💥 New WiRLClient Debugger
- ✨ Support for client side filters
- ✨ Support for client exceptions
- ✨ Support for MessageBody Writers and Readers (WiRL Client)
Server features
- 💥 Full support for OpenAPI 3.0 document generation
- 💥 Complete Swagger UI support
- 💥 Added CORS filter and CORS app configuration
- 💥 Added Compression configuration. Now to use compression you have to configure the plugin
- 💥 New WiRL Server wizard
- ✨ Added support for PreMatchingResourceAttribute Filters
🌟 Minor features, changes and bugfixes
- ✨ Added support for gzip content encoding
- ✨ MessageBody Readers can now use existing object
- 🛠️ Better handling of HTTP calls
- ✨ Support for client parameters (QueryParams and PathParams) other than string (and bug fixes)
- ✨ Now it is possible to use TWiRLConverter with TWiRLResource (PathParam, QueryParam)
- ✨ Better support for context injection
- 🛠️ Several tests added
🐛 Bugfixes
- 🛠️ Modified params decoding to accept international floating point notation
- 🐛 Fixed memory leak on TWiRLClient using NetHttp components
- 🐛 Fixed a configuration bug on TWiRLConvert
- 🐛 Fixed an issue in TDictionary enumeration which led to the wrong composition of the URL string
- 🐛 Fixed bug #29: Parameters default is lost
- 🐛 Fixed TWiRLURL injection and a memory leak Workaround for Delphi issue: RSP-11620
- 🐛 Fixed memory leak setting JSON Schema as TJSONObject
- 🐛 Fixed memory leak in TWiRLWriterRegistry.ProducesAcceptIntersection
Release v3.0.1
This is a bugfix release
🌟 Other features, changes and bugfixes
- 🐛 Fixed bug in TWiRLAuthBasicResource.ExtractData
- 🐛 Updated Neon Packages
- 🐛 Fixed bug in Neon.Core.Persistence.Swagger.pas (TNeonSchemaGenerator must serialize directly TStream and TDataSet)
Release v3.0.0
This is a major release, with some breaking changes in the configuration area (servers, engines, & apps). Please refer to the documentation page about configuration
✨ High level features (since the 🔖 2.6.0 release)
- ✨New engine to use WiRL as a HTTP Proxy
- ✨JSONP support to help with the "Same origin policy" restriction
- 💥 Support for generic configuration
- ✨Generic configuration provided for: Auth, JWT, Neon
- ✨Support for exceptions mapping
- ✨Initial support for SuperObject
🌟 Other changes and bugfixes
- 🛠️ Batch files to build demos
- 🐛 Various improvements and bugfixes
Release v2.6.0
High level features (since the 2.5.0 release)
- Swagger documentation improved! Now generates models for all types, better tags grouping (of paths)
- Now the TPosixDaemon.Setup accept a redirection parameter
- Added support for multipart/form-data
- Added JSONP support
- Now it's possible to use RSA signed JWT tokens
- Updated submodules Libs/JWT and Libs/Neon
Other changes and bugfixes
- Various improvements and bugfixes
Comments
The next release will be a major release, with some breaking changes in the configuration area (servers, engines, & apps)
Release v2.5.0
High level features (since the 2.0.1 release)
- Using Neon Serialization Library
Other changes and bugfixes
- Various bugfixes
Release v2.0.1
High level features (since the 2.0 release)
- Added UseUTCDate as configuration for the TWiRLApplication
- TParamReader now handles boolean params
- TParamReader now handles record params (MessageBodyParam)
- License changed to Apache License 2.0
- New Demo (17) showing the use of different types of parameters
Other changes and bugfixes
- The MessageBodyReader was not "injected" before its execution
- The TWiRLObjectProvider.ReadFrom method did not take into account the serializer configuration
- TSimpleTypesMBWriter.WriteTo now handles correctly ordinal types
- In 10.3 Rio the JSON Pair enumerator if of type TJSONObject.TEnumerator
- Now all the exceptions are passed to the IWiRLHandleException Listener objects (EWiRLWebApplicationException.HandleException now it's called two times)
Release v2.0.0
High level features (since 1.0 release)
- Added complete serializer library (soon to be renamed Neon)
- Added support for Linux
- Custom engines feature for the client (Indy, NetHttp)
- Design time editors for resources, filters, writers and readers
- FireDAC delta management
- Windows service example
- Added support for redirection directly in a resource's definition
- Added support for Delphi 10.3 Rio
- Updated JWT library
Other features, changes and bugfixes
- Performance imporvement
- General bugfix