This is a huge release that was a long time in the making Please see the release notes for the full details: https://servicestack.net/release-notes
I’ll do my best to summarize below:
There’s a new JSON ServiceClient available based on Microsoft’s async HttpClient instead of .NET’s HttpWebRequest which can also be used with ModernHttpClient’s thin wrappers over iOS’s native NSURLSession or OkHttp on Android
Encrypted Messaging is an exciting new feature lets you use message-level encryption to Securely call any Service over unsecured HTTP! It includes a familiar productive end-to-end typed API that works with both JSON Service Clients. It requires minimal configuration and allows for flexible full-encryption or hybrid encryption strategies.
There’s a new ServiceStackEclipse plugin providing cross-platform Add ServiceStack Reference integration with Eclipse on Windows, OSX and Linux!
ServiceStack IDEA now supports Intellij Java Maven projects and is available from Intellij’s Plugin Repository yielding a more stream-lined install experience.
ssutils.exe is a Command line ServiceStack Reference tool available in a single cross-platform .NET command-line .exe making it easy for build servers and automated tasks or command-line runners of your favorite text editors to easily Add and Update ServiceStack References!
Xamarin.Auth with ServiceStack
The new TechStacksAuth example repository shows how you can use the Xamarin.Auth Component to remotely Authenticate with back-end ServiceStack OAuth providers.
Custom Client Caching Strategy
The new filters added on Service Clients let you implement a custom caching strategy.
We’ve added new Client and Server features that make it easier to populate version numbers on API requests.
The new CancellableRequestsFeature makes it easy to design long-running Services that can be cancelled by and independent request
AutoQuery now supports executing additional aggregate queries on the returned QueryResponse. It also adds response filters so you extend responses with you’re own functionality, which includes a basic calculator example showing you how.
OrmLite Dynamic Result Sets
OrmLite has added support for returning unstructured result sets unknown at compile time in either a List, Dictionary<string,object> or object return types.
OrmLite DB Parameter API’s
There are new overloads which accept IDbDataParameter’s allowing finer-grained control of custom parameterized queries.
- Customize null values
- Case Insensitive References
- Enhanced CaptureSqlFilter
- T4 Template support for Table Valued Functions
Enable Session Ids on QueryString
You can turn on specifying session ids via the QueryString, this makes it possible for IE9’s SSE polyfills to support Authenticated clients.
Skip Password Verification for InProcess Requests
When enabled this lets InProcess Service Requests login as a specific user without needing to provide their password.
New CustomValidationFilter Filter
Another option for customizing Authentication validation
The UserName validation for all Auth Repositories have been consolidated in a central location.
Configurable Session Expiry
Permanent and Temporary Sessions can now be configured separately with different Session Expiries.
- New API’s
- Large performance improvement for saving large values (>8MB)
- JsConfig.ExcludeDefaultValues reduces payloads by omitting properties with default values
- Serialize any property or field annotated with the [DataMember] attribute, inc. private fields
- Update RecyclableMemoryStream
- New extension methods
Updates to Swagger, automatic defaults for unannotated Services. More customizable behavior with attributes
- Finer-grain control over what Services and Types are exported in WSDL’s and XSD’s.
- Customizable SOAP Responses.
Simple Customer REST Example
Stand-alone Customer REST Example showing a complete DB example of creating a Typed Client / Server REST Service.
That’s just the highlights, there’s more features and the full details in the release notes: