All notable changes to this project will be documented in this file.
- [bug] Remove DEBUG env override #245
Dependencies updated
- [bug] Unit tests failing #245
Dependency on deprecated request
has been removed, axios
is used instead
- [improvement] Replace deprecated dependency on request #148
- [bug] api_index_template.json is missing in the last patch #238
- Update dependencies to the most recent versions
- [bug] API Responses page in built-in Telemetry UI is not responding with ~1000 endpoints #139
In this major release, swagger-stats fully switches to new UX. More UX settings added, such as multiple color themes for dashboards.
- [bug] Hapi - authentication is not working #109
- [bug] Missing requests in metrics #105
- [bug] Issue during installation of swagger stats #100
- [bug] Authentication does not protect the new UI #93
- [feature] Any way to change swagger-stats ui page title #44 Starting from 0.99.1 page title shows what is passed in the "name" configuration option of swagger-stats
- [bug] Elasticsearch - Crash when elasticsearch's credentials are given #121
- [bug] Define prom-client as Peer Dependency instead of Direct Dependency #126
- [feature] https elasticsearch support #130
- [bug] body response show duplicate data #118
swagger-stats now support data type flattened available in ES 7.X for body of the requests. This way we can store any body payload, and query it efficiently in ES. https://www.elastic.co/guide/en/elasticsearch/reference/current/flattened.html#flattened
- [feature] Add authentication to /swagger-stats/ux URL #97
- [feature] Allow passing of hapi specific options #95
- [bug] append basePath on setCookie #92
- [bug] UX paths are not properly resolved #91
- [feature] Restify support #86
- [bug] Natives package has been deprecated - removed #81
- [bug] openapi3 basePath was removed #81
New option
basePath
allows to specify base path as needed when Openapi 3.0 spec is used.
- [feature] New User eXperience is enabled at
/swagger-stats/ux
New UX is optional and can be used in parallel with leagcy UI. Will keep it optional for several releases, and then make default. Send your feedback !
- [feature] Support for Fastify Framework #62
- [bug] Duration buckets not being used for Prometheus #72
- [feature] Share promClient with parent by exposing or using peerDependencies #61
- [feature] Prefix metrics on /metrics endpoint #50
- [bug] Removed dependency on Inert when using with Hapi #79
-
[feature] Hapijs support #75 - Example how to use
-
[bug] Cannot upload to elk and Built-In API Telemetry #46
-
[bug] Last Errors and Errors tab no populated using FeatherJS #42
-
[bug] Request Content Length null or undefined #40
-
[feature] Allow onAuthenticate to be asynchronous #31
-
[feature] Prevent tracking of specific routes #36
-
[feature] Support for extracting request body #38
Thanks to DavisJaunzems!
- [feature] Elasticsearch support #12
swagger-stats now supports storing details about each API Request/Response in Elasticsearch, so you may use Kibana to perform analysis of API usage over time, build visualizations and dashboards.
Example Kibana dashboards provided in dashboards/elastic6
-
[feature] Apdex score #10
-
[feature] Support Authentication for /stats and /metrics #14
-
[feature] Add label "code" to Prometheus histogram metrics #21
See updated dashboard at Grafana Dashboards
- [bug] Can't start on node v7.10.1, Mac Os 10.12.6 #22
- [feature] Support providing Prometheus metrics via prom-client library #20
- [feature] OnResponseFinish hook: pass request/response record to callback so app can post proceses it add it to the log #5
- [feature] Option to specify alternative URI path for ui,stats and metrics #17
app.use(swStats.getMiddleware({
uriPath: '/myservice',
swaggerSpec:swaggerSpec
}));
$ curl http://<your app host:port>/myservice/stats
- [feature] Added new chart to API Operation Page #16
- handle time histogram
- request size histogram
- response size histogram
- response codes counts
- [feature] Added Prometheus metrics and Grafana dashboards #9
- [feature] Added CPU and Memory Usage Stats and monitoring in UI #8