Skip to content

Releases: delphi-blocks/WiRL

Release 4.5

21 Nov 09:42
Compare
Choose a tag to compare

🚀 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

24 Oct 09:50
Compare
Choose a tag to compare

💥 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

05 Aug 15:22
Compare
Choose a tag to compare

💥 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

13 Feb 09:32
Compare
Choose a tag to compare

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

26 Jan 09:35
Compare
Choose a tag to compare

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

07 Jan 14:39
Compare
Choose a tag to compare

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

26 Jun 14:44
Compare
Choose a tag to compare

High level features (since the 2.0.1 release)

  • Using Neon Serialization Library

Other changes and bugfixes

  • Various bugfixes

Release v2.0.1

21 Feb 16:57
Compare
Choose a tag to compare

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

05 Dec 18:07
Compare
Choose a tag to compare

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

Release v1.0

06 Jun 21:06
Compare
Choose a tag to compare

Feature complete for a v1.0 release

First production ready release of WiRL. If you want to use the downloaded zip, please also download the file JWT.zip and unzip in the "Libs" directory.

JWT submodule (zip)