Skip to content

Feature Requests

Feature, docs and use-case samples requests for ServiceStack. If you can, focus on the end-user benefit / use-case, rather than the technical details so we can focus on the end-goal and free us to work on how best to achieve it. Features can also include supporting content, e.g. a starter project on how to use ServiceStack with another product (e.g. SS + SharePoint).

162 results found

  1. 5 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  2. MessageService with Kafka same as current RabbitMQ integration

    Is this something that could be done? Would bring powerful streaming to ServiceStack

    5 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  3. Support for new ACL feature of redis

    redis 6.0.6 supports ACL. ACL is powerfull and secure, which user can write, which user can only read. What wildcard keys can be read...
    Current version of ServiceStack allows password but not a specified username.
    AUTH password -> AUTH username password

    5 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  4. High Availability Pattern

    I'm dubious about whether to suggest this, but something that enabled easier high availability for a SS Service would be great. This would maybe be more like a recipe than a feature, but possibly with features to help support it.

    E.g.
    We run a ServiceStack API Service which depends on redis and postgres, each with replication to secondary nodes which are readonly until we manually execute a failover command. Running multiple ServiceStacks on VPSs (or whatever) is easy, but having them co-ordinate is slightly trickier. So the type of thing I'm suggesting would include

    • Digital Ocean recipe for running up…
    4 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  5. Support Private Constructors in ServiceStack.Text

    When creating immutable objects, it's common to not have a default constructor. ServiceStack.Text supports this presently with the use of FormatterServices.GetUnitializedObject. However, GetUnitializedObject does not do any field initialization. The DataContractSerializer works around this with support of the OnDeserialized attribute; but why would we want to write the initialization code twice? Instead, We should change ServiceStack.Text to fall back to private constructors. Here is some proposed code.

        public static ConstructorInfo GetEmptyConstructor(this Type type)
        {
    

    if NETFX_CORE

            return type.GetTypeInfo().DeclaredConstructors.FirstOrDefault(c => c.GetParameters().Count() == 0);
    

    else

            var ret = type.GetConstructor(Type.EmptyTypes);
            if (ret != null) return ret;
    
            // attempt to use constructors with all
    4 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  6. Security audits

    I would love to see a security audit on the source code done at major milestones. You don't need to do them on each minor version, but one per year would be ideal.

    4 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  7. Ability to define JsConfig.IgnoreAttributesNamed at scope level

    I would like to be able to Ignore certain properties only when returning response from Web API i.e. during Serialization/ Deserialization. While using the same object for saving in Cache, I would like to have all the properties to stored in Cache. Having IgnoreAttributesNamed at scope level will allow me to do the same.

    4 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  8. Allow Stored Procedure for Primary Key

    We would like to use a stored procedure to generate our primary keys in an OrmLite object. The default field almost can be used for this purpose. But I have to use the special version of Insert which only sets certain fields. However, there is no version of that method which also returns the new id generated for the row. Perhaps you could add an AutoIncrement attribute that allows you to specify a stored procedure. Or at least adda version of Insert that only sets certain fields, but still returns the new id.

    4 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  9. Allow Abstract Validators where generic is an Interface to run as part of request cycle.

    When creating a validator class that extends AbstractValidator<T>, the generic must be a concrete class for the validation to actually run once that validator is registered. It would be nice if I could define several interfaces for my messages that I want specific shared validation run against, and then just register a validator for that interface, and have the validation run against any message that comes in that implements that interface.

    I know there are ways to do this through request filters, as well as through attributes on the messages, but the attributes requires having to pull more dependencies into…

    4 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  10. Enable validation of metadata attributes - e.g. IsRequired

    Currently when a field is marked as IsRequired=true via the OpenAPI attribute it has no relevance to validation. However, it seems very reasonable that when someone marks a field as required, they would want validation that said field was indeed supplied in the DTO. Enabling validation on metadata attributes natively would provide developers this funcitonality without requiring they write a seperate validation method which also lists the required fields.

    4 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  11. Expand Generic Type when documenting responses

    We have an application that always return an AppContentResponse<T>. AppContentResponse contains some properties that are present in every response of every method we have, while the T is the actually Type of the response.

    When we look at the metadata documentation, ServiceStack generates the documentation for AppContentResponse<T> without also documenting T. The strange thing is that if I create a class that actually implements AppContentResponse<TypeOfThatResponse>, both types get automatically documented.

    I filed an issue at https://forums.servicestack.net/t/expand-generic-type-when-documenting-responses/5676 if you are looking for more details.

    4 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  12. Add Distirbuted Configuration Management

    with distributed services, the configuration is stored on application configuration files, these are hard to maintain in sync and requires application restart to apply changes.

    the distributed configuration manager can take this issue down, and allow configuration changes at runtime on a single place.

    much like the Netflix Archaius library
    https://github.com/Netflix/archaius/wiki/Features

    3 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  13. Allow Serialization/Deserialization of DTO objects through a Stream for returning unbounded results sets

    following the discussion on the related post (https://plus.google.com/102769881855401822960/posts/FjydVsKJWTT) it would be great to be able to return a result set of DTO objects in a stream (which could be deserialized as they arrived on the client to reduce latency). a custom IEnumerator/IEnumerable result type could be used to hide the specifics of deserializing the objects from the stream.

    3 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  14. Configurable Webservices Host container

    Have a user configurable host container (maybe developed as an example) that would permit to upload "Servicestack components" and let the admin configure custom routes at runtime, giving a single place where to combine different webservices projects, configure authentication, caching and see performance graphs.

    3 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  15. Add convenience links on the API metadata page for parameterless GET requests.

    I would be nice to just click on a link for the GET requests and actually execute the request and see the output. Right now I have to look at the metadata page for the request, copy the url path, and then paste it into browser address tab.

    This probably would not be feasible for POST requests however, unless you want to get fancy with a button or something instead of a link.

    I'm also basically assuming that this would only work for requests with no parameters. Otherwise you'd have to make assumptions of some sort.

    3 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  16. Per-Service Date Format

    Last time I asked it was an all or nothing thing...

    Basically the CMS we have started off with WCF as the default Date format for JSON.

    They then licensed SS and started building new components using SS, and globally (to maintain consistency) kept that crappy unreadable date format.

    So my problem is that I can't globally set ISO as the date format or the entire CMS backend just blows up.

    I would like to be able to attach an attribute to a service method to have it format the dates to ISO on a one-off basis as needed.

    3 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  17. Improvements for batched requests

    I've started working with request batching, which is a really nice feature. Everything works, but there two improvements I'd like to see.

    Firstly, for IReturnVoid requests there is SendAllOneWay, but there is no async version of that method.

    Secondly, I'd like to be able to specify a http Verb with the SendAll methods. The implementation should select the correct method in the service, both when calling a single request method multiple times, but also for the batched method. Right now the batched service methods always need to be Any(), it would be nice to be able to have Delete(OrderID[] orders).

    3 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  18. support caching in java AndroidServiceClient

    Using servicestack client in mobile development with Xamarin gives so much benefits and caching dramatically improves performance and user experience.
    It would be nice to have same caching support for all clients (.NET, JAVA, ..)

    3 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  19. Support AWS S3 Versioning with VirtualFiles.WriteFile

    I believe we can retrieve specific versions of a file via the versionId querystring using VirtualFiles.... however VirtualFiles.WriteFile returns null so we cannot retrieve the x-amz-version-id header. It would be nice if the headers were in the response of VirtualFiles.WriteFile so we could retrieve that.

    3 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  20. Allow field level control in the Request Logger

    The API request logger logs all fields and there is now way to disable any of them. Specifically, logging the users cookie each time takes up a huge amount of space and also makes the display difficult to use. Please add a config option to allow control over which fields get logged.

    3 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  • Don't see your idea?

Feature Requests

Categories

Feedback and Knowledge Base