BIZ

TMS XData

Delphi framework for multi-tier REST/JSON HTTP/HTTPS application server development and ORM remoting.


Release

v2.7 (October 8, 2017)

Version history

Version History

Display:


v2.7

  • New : TXDataRequestHandler.ManagedObjects property.
  • New : Support for default parameter values in service operations from non-Delphi clients (default parameters were already supported in Delphi clients).
  • New : Several new types supported in service operations. Generic arrays, Generics lists of primitive types, Sets, TStrings type.
  • New : OpenAPI/Swagger support.
  • New : JsonNamingStrategy attribute.
  • New : JsonInclude attribute in PODO classes.
  • New : JsonEnumValues attribute.
  • Fixed : Error when using params of type TDate (TDateTime was not affected) in service operations (Regression).
  • Fixed : Design-time wizard icon not showing correctly in Delphi 10.2 Tokyo.

v2.6

  • New : XDataProperty and XDataExcludeProperty attributes.
  • New : TXDataSeverModule.UnknownMemberHandling property.
  • New : Support for passing parameters by reference in service operations.
  • New : JsonProperty and JsonIgnore attributes.
  • New : Filter functions startswith, endswith and contains.
  • New : Filter function concat.
  • Fixed : Using TStream as a parameter for service operations was causing "JSON converter not found" error.

v2.5

  • New : Linux support using Delphi 10.2 Tokyo and later.
  • Fixed : Location header of POST responses now uses host of the client request, not the host configured in XData module.

v2.4

  • New : Delphi 10.2 Tokyo Support
  • Fixed : Server-side stack overflow when trying to load a proxy property sent by the client, if the parent entity of that proxy was merged into the current Object Manager

v2.3

  • New : Demo project showing authentication using JWT (JSON Web Token)
  • Fixed : XData Server Wizard generating corrupted source code when TMS Component Pack was installed
  • Fixed : Sporadic server error loading proxied lists sent by the client
  • Fixed : JWT encoding not working on XE6

v2.2

  • New : Url convention now allows $count path segment to retrieve number of entities in a resource.
  • Fixed : TXDataClient.Service failing for Android clients when compiling in Release config
  • Fixed : RefCount property was wrongly being serialized in PODO objects from mobile clients

v2.1

  • New : TXDataServerModule.SerializeInstanceType property controls how xdata type metadata will appear in JSON response
  • New : TXDataServerModule.SerializeInstanceRef property controls how instances of same object will be represented in JSON response
  • New : Support for entities that have associations in ID (primary key containing foreign keys)
  • New : Support for Variant-type parameters in service operations when using GET HTTP method.
  • New : Support for Nullable values in PODO classes
  • New : Breaking change: TXDataServerModule.PutMode property controls how PUT will behave at server-side
  • New : $expand query option allows clients to have full control on how associated entities appear in JSON response.
  • Improved : Errors on query syntax now return http code 400 instead of 500
  • Fixed : JSON Proxies (@xdata.proxy) sent by the client were not being solved when reading such properties at server-side
  • Fixed : Association references (@xdata.ref) were not being solved when receiving entities in service operations parameters.

v2.0

  • New : TXDataServerModule.SetEntitySetPermissions allows configuring what operations are available in each resource type
  • New : Service operations can now receive and return any type of object. This increases flexibility significantly as you can use any type of object for structure input/output parameters, or to send/receive DTO classes, etc.
  • New : Service operations can now receive and return TJSONAncestor objects (Delphi XE6 and up only). This allows full control over the JSON request and response.
  • New : Service operations can now receive and return TCriteriaResult objects, making it easy to return Aurelius query results that use projections.
  • New : Server-Side Events allow subscribing listeners events and perform additional server-side logic
  • New : Method TXDataModelBuilder.RemoveEntitySet for more flexibility when building XData models.
  • New : JWT (Json Web Token) authentication and Basic authentication, thanks to new TMS Sparkle
  • New : Delphi 10.1 Berlin support
  • New : Authentication and authorization mechanism, based on TMS Sparkle
  • New : $inlinecount query option allow retrieving the total number of entities when using paged results
  • Improved : TXDataOperationContext.Current now also available in entity resources
  • Improved : All server-side operation (entity CRUD, service operation execution) are now performed in database transactions

v1.6

  • New : Design-time wizard to create a XData Server with a few clicks
  • Fixed : Service operation using enumerated types as parameters or function results not working properly
  • Fixed : EntitySet requests were not taking xdata-expandlevel header into consideration. This is a breaking change.

v1.5.1

  • New : Delphi 10 Seattle support

v1.5

  • New : TXDataServerModule.DefaultExpandLevel allows defining the expand level of JSON responses when it's not defined by client request
  • New : TXDataOperationContext Request and Response properties gives full control for service implementations to customize the processing of client requests
  • New : TXDataClient.HttpClient property provides low level access to the Http client and allows using OnSendingRequest events to customize requests
  • New : Several built-in functions available to increase flexibility when querying objects in REST requests. New available functions are Upper, Lower, Length, Substring, Position, Year, Month, Day, Hour, Minute and Second
  • Fixed : TXDataClient Get, Delete, Patch and Put operations were broken when using entities with composite id
  • Fixed : POST requests not working correctly with entities with composite key
  • Fixed : Data Modification requests sending content-type header with parameter (for example, ";charset=UTF8") were causing errors

v1.4

  • New : URIPathSegment attribute allows specifying a different name for operation/service to be used in URL
  • New : HttpMethod attribute allows specifying the HTTP method a service operation should respond to
  • Fixed : GET requests with query order was sometimes causing the same column to appear multiple times in a "ORDER BY" SQL clause

v1.3.1

  • New : Support for Delphi XE8

v1.3

  • New : Support for CORS (Cross-origin resource sharing) preflighted requests

v1.2.0.1

  • Improved : Installer

v1.2

  • New : TXDataClient methods Get, Post, Put, Delete and List allows easy and high-level access to XData server objects from Delphi clients
  • New : Server support for "x-http-method-override" header (allowing clients to tunnel HTTP methods to server through POST requests)
  • New : Android and iOS support for XData client objects
  • Fixed : Service operations returning nil entities should respond with status code 404
  • Fixed : Issues with floating-point literals in Query URL with non-English server systems

v1.1

  • New : UserName and Password properties in TXDataServerModule for basic authentication protection
  • New : Service Operations allow adding custom business logic to your server using interfaces and methods
  • New : Multi-Model design makes it easy to create multiple servers with different mapping, types and service operations
  • Fixed : Malfunctioning with $skip and $top query options

v1.0.1

  • New : Added Delphi XE7 support
BIZ

for Delphi XE2, XE3, XE4, XE5, XE6, XE7, XE8, 10 Seattle, 10.1 Berlin, 10.2 Tokyo (Prof/Enterprise/Architect)


View licensing FAQ

Single developer license


license for 1 developer € 495


order now
add to cart

Small team license


license for 2 developers € 745


order now
add to cart

Site license


unlimited developers in the company € 1695


order now
add to cart


CreditCards and PayPal Accepted


This product is also available in the following bundle(s):

Bookmarks