1.5.31 (2019-03-02)
Fixed bugs:
- Maven build error on eclipse #406
Closed issues:
- SSL error - client module - release 1.5.29 #398
- Backwards incompatible changes: client module - release 1.5.29 #397
Merged pull requests:
- Fixing binding to dynamic ports #416 (NicholasAzar)
- fix/#407 the value in values.yml can be set to empty #409 (jiachen1120)
- updating iteration of FormData item #408 (jefperito)
- add code coverage badge #404 (lanphan)
- Feat/#389 status merge #403 (jiachen1120)
- add missing license info, remove unused logback setting #402 (lanphan)
- body: update and add more unittest #401 (lanphan)
1.5.30 (2019-02-21)
Implemented enhancements:
- support a list of config directories in Config module #383
- support absolute path for the config file in Config module #381
- Allow exclusion list of files which should not check/allow for environment variable setting #368
- Environment variable references in the light-4j yaml config files #321
- Read configurations from arbitrary directories #309
Closed issues:
- Config Module - addressing gaps #371
- Validation of server identify in a CaaS environment #358
- cluster.ServiceToUrl hang sometime #303
Merged pull requests:
- update basic-auth and some minor update in audit, balance #400 (lanphan)
- Fixing backwards incompatible interface change in OauthHelper getToken and getTokenFromSaml #399 (NicholasAzar)
1.5.29 (2019-02-16)
Implemented enhancements:
- support flexible config directory in Config module #382
- Correlation module: add ability to control the generation of the CorrelationID #370
- Feat/#41 exception handling #380 (BalloonWen)
Closed issues:
- Add a default config.yml to the light-4j/Config module #394
- output the stacktrace when server registration fails #384
- upgrade jsonpath to 2.4.0 and exclude json-smart #378
- TechEmpower benchmark #369
- Standardize repo line endings on LF #365
- Add a new constant string in http header for service url #362
- If handler path not implemented/wrong path , it will throw the 404 error code instead of 400. #360
- upgrade to undertow 2.0.16.Final #356
- Config module build failing on windows environment #354
- Upgrade jackson version to 2.9.8 #347
- jdk11 release to maven central failed #344
- Performance Optimizations for Max Troughput #342
- GraalVM Native Image #341
- codegen-cli generated code does not compile - openapi-3 #330
- [question] - grpc adoption within light4j #161
- Warnings with Java 9 #103
Merged pull requests:
- fix typo, simplify RoundRobinLoadBalanceTest, add license info #396 (lanphan)
- Fixes #394 add a default config.yml file #395 (ddobrin)
- detail unit test to check content of audit log #390 (lanphan)
- Feat/#383 list config directories #388 (jiachen1120)
- Feat/#381 support absolute path for config file #387 (jiachen1120)
- Feat/#309 read config from arbitrary directories #386 (jiachen1120)
- fixes #384 output the stacktrace when server registration fails #385 (stevehu)
- fixes #378 upgrade jsonpath to 2.4.0 and exclude json-smart #379 (stevehu)
- Feat/#41 exception handling #377 (BalloonWen)
- Fix/config gaps #375 (jiachen1120)
- Fix/error message when fail registration #374 (jiachen1120)
- Allowed exclusion list of files which should not check/allow values injection #373 (jiachen1120)
- Fixing mutual tls on the server side #372 (NicholasAzar)
- Fix/line endings LF #366 (NicholasAzar)
- -added an error message in status.yml for validating response content #364 (BalloonWen)
- Fixes #360 If handler path not implemented/wrong path , it will throw the 404 error code instead of 400. #361 (sreenicibc)
- Validation of server identify in a CaaS environment #358 #359 (dz-1)
- fixes #354 #355 (chenyan71)
1.5.28 (2019-01-13)
Fixed bugs:
- Config module failing if config file has a key which is not a String #353
1.5.27 (2019-01-12)
Closed issues:
Merged pull requests:
- #321 Enhanced config injection to support injecting List and Map #349 (jiachen1120)
- refactored dump handler, add mask feature to it #345 (BalloonWen)
2.0.0-BETA2 (2018-12-29)
Closed issues:
1.5.25 (2018-12-24)
Closed issues:
- give wait a default value for backward compatibility #339
1.5.24 (2018-12-15)
Implemented enhancements:
Closed issues:
- ignore the random number test in balance #338
- add a new services method to the Cluster #336
- make round robin load balance start with random number #335
- A bug that shows Unknown protocol light in service discovery #334
- In consul client the hard coded wait value changed through configuration. #332
- add a new method to get local IP for interactive queries #331
Merged pull requests:
- Issue #332, (API 6) in consul client the wait hard coded value changed through configuration #333 (sreenicibc)
- #326 created a form handler #329 (jiachen1120)
- Refactor the dump handler to support response body logging #328 (BalloonWen)
1.5.23 (2018-12-01)
Closed issues:
1.5.22 (2018-11-10)
Fixed bugs:
- handle the situation that the alias is not server in the server.keystore #317
Closed issues:
- add monad-result module to wrap success T and failure Status #325
- add successful status code to status.yml #324
- gzip and deflate encoding and decoding support in middleware handlers #323
- add static CONFIG_NAME to serverConfig #320
- add another default method in LightHttpHandler to bubble up the status #319
- support default path in handler.yml for single page application #316
- update status.yml ERR10016 to have only one parameter #314
Merged pull requests:
- fixes #316 update resource and handler to support SPA from handler.yml #318 (stevehu)
- Refactored code from main() to init() so server can be embedded. #311 (farrukhnajmi)
1.5.21 (2018-10-26)
Implemented enhancements:
- Collect environment element in the Metrics Handler #310
- Enhance logging in the AuditHandler #295
- Environment config in client only applications #272
Fixed bugs:
- Set correct status code if Method or URI from request could not be resolved in the handler chain #308
1.5.20 (2018-10-05)
Fixed bugs:
- MiddlewareHandler.register is called for each endpoint #305
Closed issues:
- Handler needs to properly escape characters in the Status description #306
- provide default security.yml and move providerId to jwt.yml #304
- Indicate that the BufferSize is too small in client.yml if Body cannot be parsed #302
- Intermittent issues with Consul API discovery #301
- make bufferSize configurable for default buffer pool in Http2Client #299
- Add more debug info during startup for the Kubernetes status.hostIP #297
- Update the config module output to error only when config file not found #294
- Update OAuthHelper to include new method to support SAML grant type flow #290
- server does not create zip file from config server correctly #157
1.5.19 (2018-09-22)
Fixed bugs:
- Consul heartbeat stream limit being exceeded #279
Closed issues:
- move light-tokenization status codes to status.ym in light-4j #289
- remove unused status code from status.yml #288
- add status code for user-management in light-portal #287
- fix a typo in HashUtil #286
- BodyHandler Middleware to support configurable Content-Type #285
- add pattern matching to differentiate email and userId in StringUtils #283
- update EmailSender to trust the host from the email.yml #278
- change email module name to email-sender #277
- create http-url module for url related utility #276
- create a new http-string module that depends on Undertow #275
- add replaceOnce to StringUtil in utility module #274
- set the right default port number for DirectRegistry #273
- add error codes for light-config-server #271
- Created by accident #270
- rename datasource to data-source #269
- rename deref to deref-token #268
- rename limit to rate-limit #267
- rename basic to basic-auth #266
- update deregisterAfter from 90m to 2m #264
- OpenAPI and GraphQL ValidatorHandlers conflict on config file names #252
- add a handler for IP whitelisting #235
Merged pull requests:
- Updated oauth helper files to handle SAMLBearer grant type #292 (dguncb)
- Update Readme #284 (anilmuppalla)
- Related to #249, adds an EndpointSource interface for injecting path,… #282 (logi)
- fixes #279 Consul heartbeat stream limit being exceeded #281 (stevehu)
- enhancement for light-oauth2 provider module #265 (stevehu)
1.5.18 (2018-08-15)
Implemented enhancements:
- Support HandlerProvider definitions in handler.yml configuration definitions #258
- When stopping the server, give 30 seconds grace period to let service discovery propagate to all clients #20
Fixed bugs:
- Fix issue causing path variables not to show up in query params when using new handler config #250
- Reproduce issue in handler chaining, ensure that the MiddlewareHandler interface is respected #247
Closed issues:
- Re-starting Server no longer works #263
- health endpoint with serviceId as path parameter #262
- Address graceful server shutdown while encountering an exception during start-up #261
- add a default consul.yml for consul client #260
- flatten the config files into the same directory for k8s #257
- add getJwtClaimsWithExpiresIn for digital signing only in light-oauth2 token service #256
- remove description in the CorrelationHandler config file #255
- enable http2 for consul client when TLS is enabled #246
- catastrophic setExchangeStatus calls without args #244
- upgrade to undertow 2.0.11.Final #243
- several enhancements for Consul registration #242
- networknt page is not working #238
- extend Http2Client to OAuth 2.0 provider communication to support arbitrary number of parameters #181
Merged pull requests:
- Adding HandlerProvider support to list of handlers. #259 (NicholasAzar)
- Do not require ignored config #254 (logi)
- Descriptive Exception on unknown chain or handler in handler.yml #253 (logi)
- Fix issue causing query params to be missing from exchange. #251 (NicholasAzar)
- Safer set exchange status #245 (logi)
1.5.17 (2018-07-15)
Closed issues:
- update readme.md to fix the document links #239
1.5.16 (2018-07-05)
Implemented enhancements:
Closed issues:
- move HandlerProvider interface to handler package from server #236
- separate de-reference middleware handler to its own module #233
- add error status for token dereference in light-oauth2 token service #230
- add an error status code for light-oauth2 client registration #229
- log the class, method, file and line number for status #228
- move the basic authentication middleware handler from light-rest-4j #226
- enhance client module to add de-reference token in OauthHelper #225
- Add a middleware handler to de-reference opaque access token to JWT #224
- log error if config file cannot be found in all possible locations #223
Merged pull requests:
- Feat/path middleware handler #227 (NicholasAzar)
1.5.15 (2018-06-18)
Implemented enhancements:
- Dynamic server listener port configuration #210
- Unexpected behavior when Status is created for non-existent status code #169
Closed issues:
- add datasource module for most popular relational databases #220
- create LightHttpHandler with default method to handle the error status #217
- A default content-type is not set #216
- add a new status code in status.yml for authenticate class not found #215
- Add a Build Number to the server.yml #214
- add constants to utility Constants for light-router #212
- OAuthHelper needs to handle the error status from OAuth 2.0 provider #202
Merged pull requests:
- Adding InputStream to String conversion utility #219 (NicholasAzar)
- Fix216 #218 (rpinaa)
- testing addition of graceful shutdown handler #213 (NicholasAzar)
1.5.14 (2018-05-19)
Closed issues:
- update client.yml and secret.yml in other modules #211
- Rename resources module to resource for consistency #209
- update client module to support refresh token flow for light-spa-4j #208
- update verifyJwt with ignoreExpiry flag #207
- add default method setExchangeStatus into MiddlewareHandler #206
- move auth and csrf to light-spa-4j repository #205
- add error code for light-spa-4j stateless-token handler #204
- switch StatelessAuthHandler to middleware handler #203
- add stateless auth and csrf handlers for SPA application #201
- pass csrf token in oauth token request #200
- add status code for light-proxy tableau authentication handler #199
- move password in jwt.yml to secret.yml #198
- share the connections to consul in ConsulClientImpl #196
Merged pull requests:
1.5.13 (2018-04-20)
Implemented enhancements:
Closed issues:
- light-codegen command line error handling #195
- upgrade jackson library to 2.9.4 #187
- put client credentials token into authorization header instead of X-Scope-Token header #185
- name convention between metrics and prometheus #165
1.5.12 (2018-04-08)
Closed issues:
- upgrade to prometheus 0.3.0 #192
- rollback zkclient to 0.3 #191
- remove consul client and update version for zkclient and curator #190
- remove antlr4 from dependencies #189
- upgrade jackson 2.9.5 remove swagger from light-4j dependencies #188
- add two more test cases for Http2Client #186
1.5.11 (2018-03-31)
Fixed bugs:
- JWT signing private key cannot be externalized #178
- scope encoding changes space to plus sign in OAuthHelper #172
Closed issues:
- add ERR11300 FAIL_TO_GET_TABLEAU_TOKEN error code in status.yml #184
- check if trace is enabled in Http2Client logger #183
- add isBlank to StringUtil in utility class #180
- split JwtHelper to JwtHelper for token verification and JwtIssuer to issue token #179
- remove Apache commons-lang dependency from mask #177
- remove commons-io dependencies #176
- refactor CorsHttpHandlerTest to use Http2Client #175
- add status code ERR11202 for hybrid-4j get request #173
- remove unused import in DecryptUtil #171
Merged pull requests:
- feat(util): Add toByteBuffer overload util method to convert files. #174 (NicholasAzar)
1.5.10 (2018-03-02)
Closed issues:
- add subject_claims and access_claims constants #170
- Port enabling indicator #168
- add prometheus to the module list in parent pom.xml #164
Merged pull requests:
- prometheus metrics package and class name change #166 (chenyan71)
- get latest develop branch #163 (chenyan71)
1.5.9 (2018-02-21)
Closed issues:
- Support dynamic port binding for Kubernetes hostNetwork #162
- switch light-config-server connection to HTTP 2.0 #159
Merged pull requests:
1.5.8 (2018-02-03)
Closed issues:
- fix a typo in variable JwT_CLOCK_SKEW_IN_SECONDS #158
- accept other optional fields in OAuth2 token response #156
- handle a list of string instead of list of maps in BodyHandler #154
- Add a status code ERR12042 SERVICE_ENDPOINT_NOT_FOUND #153
Merged pull requests:
- Fix HTTP verbs #152 (morganseznec)
1.5.7 (2018-01-09)
Implemented enhancements:
- provide a utility to substitute environment variables in config #149
Closed issues:
- change secret.yml loading from SecretConfig to Map for flexibility #151
- Remove docs folder and repo specific document site once all contents are migrated #139
1.5.6 (2017-12-29)
Fixed bugs:
- Get token un Http2Client line 367 is hard coded using Http2 #146
Closed issues:
- some compiler warnings #148
- Add email sender module and update secret.yml #147
- Add host header for getkey in oauthHelper for HTTP 1.1 #145
1.5.5 (2017-12-15)
Implemented enhancements:
- make it configurable to get jwt public certificates from cache or from oauth server #140
Closed issues:
- Find a way to propagate callback exception to the caller thread in Http2Client #144
- Encrypt the values in secret.yml #143
- Add two more callback functions in Http2Client to return response time #142
- Adding java bean initializer and manual injection test cases for service module #141
- Add support for two or more beans initialized by one initializer class and method #138
- Add an API to manipulate SingletonServiceFactory to add new entries programatically #137
- Loading Java bean with initializer class and method in service module #136
- Reduce token endpoint access timeout to 4 seconds #135
- Remove e.printStackTrace() in the source code #134
1.5.4 (2017-11-21)
Fixed bugs:
- Need to ensure that server lookup returns null if there is no entry defined in service.yml #132
1.5.3 (2017-11-20)
Fixed bugs:
- Fixed the class cast exception in service module if getting an array but only one impl is configured #131
1.5.2 (2017-11-20)
Implemented enhancements:
- Add a new constant OPENAPI_OPERATION_STRING for OpenAPI 3.0 support #130
- Improve configurability for networknt.handler.MiddlewareHandler #129
- Add support for interface with generic type in service module #127
- Update serviceMap key to interface class name instead of class in service module #126
Fixed bugs:
- Need to check certain section is empty for header.yml in HeaderHandler #125
1.5.1 (2017-11-09)
Implemented enhancements:
- Upgrade to Undertow 1.4.20.Final #108
- Implement rpc and websocket support with light-java-rpc #6
- Server module should only initialize client instance if config server is enabled #119
- Make Jwt token verification cache configurable. #113
Closed issues:
- Remove mockito dependencies in most modules #124
- Add pre-release script to update versions #123
- Customize return of the status from cross-cutting concerns #122
- Add url debug output in ConsulClientImpl #121
- Split integration tests from unit tests #120
1.5.0 (2017-10-21)
Implemented enhancements:
- Add SecretConfig to model properties in secret.yml instead of Map. #117
- Change server registry and client discovery to support environment tag for test segregation #116
- Add utilities classes for light-workflow-4j #114
- Remove some dependencies as they are not being used or can be eliminated #112
- Utility methods in server project for accessing path variables #104
Closed issues:
- Add a header handler to manipulate request header based on the config file #118
- Upgrade dependency versions for commons lang + deprecate commons-codec #106
- Implement session manager that can support web server cluster. #73
Merged pull requests:
- Upgraded Undertow, Added Utility Interfaces for Header, path, query extraction #111 (sachin-walia)
- Resolved #1 Upgrading libraries and other changes #107 (sachin-walia)
1.4.6 (2017-09-22)
1.4.5 (2017-09-22)
Closed issues:
- Return invalid json error in body handler for malformed body #102
1.4.4 (2017-09-21)
Implemented enhancements:
- service.yml configuration need to have entry name that is unique in order to support two or more db connection pools #50
- Centralize configurations to light-config-server which is backed by git repositories #29
- Revisit client module for the per route connection pooling in config in cluster/load balance/discovery environment. #24
- [service module] Add support for multiple definitions and bean references #9
Closed issues:
- Update BodyHandler to parse the body and then put the stream back for subsequent handlers #101
- Add a reverse proxy middleware handler #100
1.4.3 (2017-09-10)
Closed issues:
- Calling consul directly with Http2Client instead of consul client #94
1.4.2 (2017-08-31)
Merged pull requests:
1.4.1 (2017-08-30)
Fixed bugs:
- Timeout when looking up from consul with ecwid client #19
Closed issues:
- Upgrade to undertow 1.4.19.Final as there an HTTP 2.0 bug in 1.4.18.Final #98
- Add host head when sending requests to influxdb in InfluxDbHttpSender #97
- Add enableHttp2 in client.yml to control if Http2Client will be using HTTP 2.0 protocol #96
- Refactor server info component object so that it is easy to be consumed by api-certification #95
- update default client.yml to remove the settings for http1.1 #93
- Create a websocket example in light-example-4j to demo how to use websocket endpoint. #64
Merged pull requests:
- Update README.md #92 (joaozitopolo)
- Update SingletonServiceFactory.java #91 (ruslanys)
1.4.0 (2017-08-22)
Implemented enhancements:
- Register JavaTimeModule for the default Jackson ObjectMapper from Config #82
Closed issues:
- Remove Client which depends on apache httpclient and replace with Http2Client #90
- gzip compression #88
- Upgrade to undertow 1.4.18.Final to support http2 #87
- Complete the Http2Client in client module #85
- Dynamically load public key certificate from OAuth2 provider #84
Merged pull requests:
- Config module: Added 2 extra test cases for LocalDateTime and LocalDate #83 (pragmaticway)
1.3.5 (2017-08-01)
Closed issues:
- Remove jsoniter dependencies in mask until it has a feature of jsonpath #81
- Update validatePassword in HashUtil to accept origianlPassword as char[] instead of String #80
- Add TLS certificate and OAuth2 certificate SHA1 fingerprint to the /server/info output #79
- Resolve security issues reported from Fortify scanner #78
- Remove JsonPath in Mask module with JsonIter to simplify dependencies #77
- Add getTempDir for NioUtils and add test cases for zip file manipulation #76
1.3.4 (2017-07-08)
Implemented enhancements:
- test: use random port #55
- JWT token verification with cached token and expire time #47
- Need to encrypt secrets in config files so that they won't be leaked #31
Closed issues:
- InetAddress is not working in Docker for Mac as hostname is not mapped to /etc/hosts #75
- Update ConsulRegistry to refactor discovery cache to one layer from two #74
- Add CodeVerifierUtil to support PKCE in light-oauth2 implementation #72
1.3.3 (2017-06-14)
Closed issues:
- Break the metrics tie to security for client_id #71
1.3.2 (2017-06-14)
Implemented enhancements:
- Request and response filter implementation #58
Closed issues:
- Make UnsafeLongAdderImpl default construction public #70
- Switch to AuditInfo attachment for metrics collection #69
- Add debug level log when InfluxDb reporter is call with counter size. #68
- Add serviceId sId into slf4j MDC so that it can be added to all logging statement along with cId #67
- Switch to undertow server and client truststore and keystore #66
- microservices sample error #65
- Any plan to create tools like "jhispter" to help build microservices? #5
1.3.1 (2017-06-03)
Implemented enhancements:
- Put more comments in source code to improve the readability #60
Fixed bugs:
- Response time and status code is not shown up in audit log #61
Closed issues:
- Update HealthHandler to HealthGetHandler in order to inject into the light-rest-4j generator in light-codegen #63
- Upgrade json-schema-validator to 0.1.7 from 0.1.5 #62
1.3.0 (2017-05-06)
Closed issues:
- Change the project name to light-4j instead of light-java as java is a trademark of Oracle #59
1.2.8 (2017-05-02)
Implemented enhancements:
- Clean up status.yml and add comments for each segment #48
- Add more debug info to metrics as people having trouble to config it right with Influxdb #43
- Upgrade dependencies to the latest version #42
Fixed bugs:
- Client - propagateHeaders expect JWT token to be in the request header or output an error. #41
Closed issues:
- Create a NioUtils with some helpers in utility module #54
- Add NIO utility and status code to support light-codegen #52
- Adding kid to the header of the JWT token issued by light-java. #46
- Bump up scope mismatch log from debug to warn as it is security violation #45
1.2.7 (2017-03-28)
Implemented enhancements:
- Add status code and a util method for light-java-graphql #38
- Separate secrets from config files in order to support Kubernetes secrets and configmap #33
Closed issues:
1.2.6 (2017-03-18)
Implemented enhancements:
- Token scope and spec scope mismatch error is not clear in logs #35
- Switch server and client to HTTP/2 #34
- Config file support yaml format along with json #32
Closed issues:
- NullPointerException when populating a request to call another API due to original token is missing #30
1.2.5 (2017-03-04)
Implemented enhancements:
- Find the best location to inject server info to the routing handler #11
Closed issues:
- Alternate Config impls ... S3, http? #28
1.2.4 (2017-02-20)
Implemented enhancements:
- Add rate limit in order to prevent DDOS attack for public facing services #27
- Allow cors handler to specify which method is allowed. #26
1.2.3 (2017-02-09)
Implemented enhancements:
- Add a system property to redirect jboss logs to slf4j #25
Closed issues:
- Add TLS support for server module #22
- Add cluster module to work with client module for service discovery and load balance #21
1.2.2 (2017-02-04)
1.2.1 (2017-01-25)
1.2.0 (2017-01-22)
Implemented enhancements:
- Integrate service registry and discovery with Server and Client modules #17
- Implement a CORS handler to support calls from Single Page Application from another domain #14
- Update JwtHelper to throw JoseException instead of throwing Exception #12
- Implement service registry and discovery that support consul and zookeeper #10
Closed issues:
- Spin off swagger, validator and security to light-java-rest repo #18
- service - support parameterized constructor instead of default constructor and then set properties #16
Merged pull requests:
1.1.7 (2017-01-08)
1.1.6 (2017-01-02)
Merged pull requests:
1.1.5 (2016-12-24)
1.1.4 (2016-12-13)
1.1.3 (2016-12-03)
1.1.2 (2016-11-29)
1.1.1 (2016-11-27)
Merged pull requests:
- Docs: Fix switched links #4 (spinscale)
- Fixing small issue with documentation's example. (Changing "clone ...… #3 (lkoolma)
1.1.0 (2016-11-07)
1.0.2 (2016-11-04)
Fixed bugs:
- Exchange already complete in jwt token if scope is mismatched #2
1.0.1 (2016-10-30)
1.0.0 (2016-10-21)
0.1.9 (2016-10-18)
0.1.8 (2016-10-11)
0.1.7 (2016-10-05)
0.1.6 (2016-10-02)
0.1.5 (2016-10-01)
0.1.4 (2016-09-30)
0.1.3 (2016-09-28)
0.1.2 (2016-09-25)
0.1.1 (2016-09-18)
* This Change Log was automatically generated by github_changelog_generator