WARNING .NET 4.0 builds will cease after August 1, 2016
We want to warn everyone that we will be upgrading all packages to .NET 4.5 and stop providing .NET 4.0 builds after August 1, 2016 now that Microsoft no longer supports them. If you absolutely need supported .NET 4.0 builds after this date please leave a comment on:
v4.0.54 is another jam-packed release with a lot of features across the board, the release notes is longer than normal which I’ll do my best to summarize:
An exciting new plugin available from the ServiceStack.Admin NuGet package which provides an instant automatic UI for all your AutoQuery services. As it’s super quick to add we’ve enabled it on a number of existing live demos which you can try out:
It also ships with a number of productive features out-of-the-box:
Marking up Services - Use
[AutoQueryViewer]attribute to mark up look and default behavior of Services
- Filter Services - If you have a lot of Services, this will help quickly find the service you want
- Authorized Only Services - Users only see the AQ Services they’re authorized to, which lets you customize the UI for what each user sees
- Multiple Conditions - The UI makes it easy to create complex queries with multiple conditions
- Updated in Real-Time - AQ Services are refreshed and App State is saved as-you-type
- Change Content Type - The short-cut links can be used to access results in your desired format
- Customize Columns - Customize results to only return the columns you’re interested in
- Sorting and Paging - Results can be sorted by any column and paged with nav links
A quick showcase of some of these features are available on YouTube: Instant AutoQuery UI Viewer to query any AutoQuery Service - YouTube
A number of new Enhancements were also added to AutoQuery Services:
- Parameterized AutoQuery - AQ Services are now parameterized with Convention Templates converted to use db params
- Customizable Fields - You can now customize which fields you want returned using new Fields property
- Named Connection - As part of our new Multitenancy features AQ Services can be easily configured to run on multiple db’s
- T4 Templates - OrmLite’s T4 templates now have options for generating AutoQuery Services and named connections
We’ve added a couple of demos showing how easy it is to create rich, interactive mobile and web apps with Server Events:
The new Xamarin.Android demo shows how to use the .NET PCL typed Server Events Client to connect to an existing chat.servicestack.net back-end and communicate with existing Ajax web clients. It also shows how to use Xamarin.Auth to authenticate with ServiceStack using Twitter and OAuth.
A quick demo is available from: Using Server Events to create a real-time Android Chat App with Xamarin.Android - YouTube
Networked Time Traveller Shape Creator
We’ve given the existing Time Traveller Shape Creator networking capabilities which now let you “Remote Desktop” into and watch other users view the app. This was surprisingly simple to do with Redux, just 1 React Component and 2x 1-line ServiceStack ServerEvent Services.
Live demo at: http://redux.servicestack.net
Update Channels on Live Subscriptions
You can now update the channels your active SSE subscription is connected to without re-connecting. This is enabled everywhere, in Memory + Redis SSE backends as well as typed API’s for .NET and Ajax clients.
TypeScript React App (beta)
To help developers familiarize themselves with these technologies we’ve also published an in-depth step-by-step guide for beginners that starts off building the simplest HelloWorld TypeScript React App from scratch then slowly growing with each example explaining how TypeScript, React and Redux can be used to easily create the more complex networked Time Travelling Shape Creator, available at: GitHub - ServiceStackApps/typescript-redux: Adventures in TypeScript, React + Redux
Customize JSON Responses on-the-fly
The JSON/JSV responses for all your services can now be customized on-the-fly by your Service consumers so they’re able to access your JSON responses in their preferred configuration using the
?jsconfig modifier, e.g:
It also supports the much shorter Camel Humps notation:
Most JsConfig config options are supported.
Improved support for Multitenancy
There are a number of new features and flexibile options available to make Multitenancy easier to support where you can easily change which DB is used at runtime based on an incoming request with a request filter.
We’ve added a number of examples in the release notes to show how this works.
ServiceClient URL Resolvers
You can use the new
UrlResolver delegates available on every .NET Service Client to change which url each request is made with.
This feature makes it easy to enable high-level discovery and health/failover features as seen in the new ServiceStack.Discovery.Consul Community project which maintains an active list of available load-balanced ServiceStack Services as well as auto-registering the Services each instance supports taking care of managing the different endpoints for each Service where all Typed requests can be made with a single Service Client and Consul takes care of routing to the appropriate active endpoint.
Multiple File Uploads
The new PostFilesWithRequest API’s on every ServiceClient for sending mutliple file uploads with a single Request.
LocalCache property gives your Services access to a Local Memory Cache in addition to your registered ICacheClient
[EnumAsInt]attribute can be used as an alternative to
[Flags]for storing enums as ints in OrmLites but serialized as strings
- Free-text SQL Expressions are now converted to Parameterized Statements
- New SelectFields API provides an smart API to reference and return custom fields
db.Exists()API’s have been optimized to return only a single scalar value
- Max String column definition on MySql now uses LONGTEXT
JsConfig.SkipDateTimeConversionto skip built-in Conversion of DateTime’s.
ISO8601DateTimeDateHandler formats to emit only the Date or Date and Time
Support added to support Stripe’s unconventional object notation for complex Requests. This feature is used
in the new
Minor ServiceStack Features
- Old Session removed and invalided when generating new session ids for a new AuthRequest
- New ResourcesResponseFilter, ApiDeclarationFilter and OperationFilter added to SwaggerFeature to modify response
Nameproperty added to
IHttpFilesin Response.Files collection
Ipv6Addressesadded to ?debug=requestinfo
StaticContentHandlerfor returning custom text or binary responses in
And that’s a wrap, apologies for the length of the TL;DR despite my best efforts to condense. For even more details on each feature please see the release notes: https://servicestack.net/release-notes