Skip to content

Releases: networknt/light-4j

1.5.5

16 Dec 04:15
Compare
Choose a tag to compare

1.5.5 - 2017-12-15

Added

Changed

  • Fixes #144 Find a way to propagate callback exception to the caller thread in Http2Client
  • Fixes #143 Encrypt the values in secret.yml
  • Fixes #141 Adding java bean initializer and manual injection test cases for service module
  • Fixes #140 make it configurable to get jwt public certificates from cache or from oauth server
  • Fixes #138 Add support for two or more beans initialized by one initializer class and method
  • Fixes #137 Add an API to manipulate SingletonServiceFactory to add new entries programatically
  • Fixes #136 Loading Java bean with initializer class and method in service module
  • Upgrade to 1.5.5

Upgrade Guide

This release is backward compatible and you can just update your pom.xml version from 1.5.4 to 1.5.5 for
your current project. However, to take advantages of this release there are certain configuration files need
to be updated.

1.5.4

22 Nov 14:19
Compare
Choose a tag to compare

1.5.4 - 2017-11-20

Added

Changed

  • fixes #132 service lookup returns null if there is no entry defined in service.yml
  • fixes #131 class cast exception in service module if getting an array from one impl
  • fixes #130 Add a new constant OPENAPI_OPERATION_STRING for OpenAPI 3
  • fixes #129 Improve configurability for networknt.handler.MiddlewareHandler
  • fixes #127 Add support for interface with generic type in service module
  • fixes #126 Update serviceMap key to interface class name instead of class
  • fixes #125 Need to check certain section is empty for header.yml
  • Upgrade to 1.5.4

This release is an upgrade release from 1.5.1 and there are two major changes.

  • Switch startup hook, shutdown hook, middleware handler and routehandler to service.yml instead of Java SPI
  • Add OpenAPI 3.0 support for light-rest-4j

Upgrade Guide

For existing applications built with light-4j 1.5.1, there is no dependency change so you can just update the version number from 1.5.1 to 1.5.4 in your pom.xml. However, there are configuration change in this release to switch Java SPI to service.yml for server startup, shutdown, middleware handler and route handler. It requires you to manually modify your service.yml file (create a new one if there is no service.yml in src/main/resources/config folder) to add these entries. Example can be found at https://github.com/networknt/light-example-4j/blob/master/rest/swagger/petstore/src/main/resources/config/service.yml and the documentation can be found at https://doc.networknt.com/concern/server/

1.5.3

20 Nov 03:58
Compare
Choose a tag to compare

1.5.3 - 2017-11-19

Added

Changed

  • fixes #131 class cast exception in service module if getting an array from one impl
  • Upgrade to 1.5.3

1.5.2

20 Nov 00:46
Compare
Choose a tag to compare

1.5.2 - 2017-11-19

Added

Changed

  • fixes #130 Add a new constant OPENAPI_OPERATION_STRING for OpenAPI 3
  • fixes #129 Improve configurability for networknt.handler.MiddlewareHandler
  • fixes #127 Add support for interface with generic type in service module
  • fixes #126 Update serviceMap key to interface class name instead of class
  • fixes #125 Need to check certain section is empty for header.yml
  • Upgrade to 1.5.2

1.5.1

10 Nov 01:44
Compare
Choose a tag to compare

1.5.1 - 2017-11-8

Added

Changed

  • Fixed #124 Remove mockito dependencies in most modules
  • Fixed #122 Customize return of the status from cross-cutting concerns(Thanks @ddobrin)
  • Fixed #121 Add url debug output in ConsulClientImpl
  • Fixed #120 Split integration tests from unit tests
  • Fixed #119 Server module should only initialize client instance if config server is enabled
  • Fixed #113 Make Jwt token verification cache configurable
  • Upgrade to 1.5.1

Upgrade Guide

This is a minor release to add several enhancements required by different customers. If you are on 1.5.0 release, you don't need to upgrade to this one unless you need features provided by this release. To upgrade from 1.5.0 to 1.5.1, there is one more property added to security.yml

# Enable JWT token cache to speed up verification. This will only verify expired time
# and skip the signature verification as it takes more CPU power and long time.
enableJwtCache: true

With the above config change, you can just change the light-*-4j framework version from 1.5.0 to 1.5.1 in pom.xml of you project.

If you are in version 1.4.x, then it is recommended to regenerate the project or upgrade to 1.5.0 first then upgrade to 1.5.1

1.5.0

21 Oct 03:55
Compare
Choose a tag to compare

1.5.0 - 2017-10-20

Added

  • fixes #118 add a header handler to manipulate request/response headers

Changed

  • fixes #116 add environment tag for consul resgistry and discovery
  • fixes #117 Add SecretConfig to model secret.yml and add consulToken
  • fixes #114 Add utilities classes for light-workflow-4j
  • fixes #112 remove unused dependencies to reduce the final jar size.
  • fixes #111 add utility interfaces for exchange access. (Thanks @sachinwalia2k8)
  • fixes #107 upgrade dependencies to the latest. (Thanks @sachinwalia2k8)
  • Upgrade to 1.5.0

Upgrade Guide

There are several changes in the configuration files and API.

  1. Add environment tag in server.yml and default is disabled.
# environment tag that will be registered on consul to support multiple instances per env for testing.
# https://github.com/networknt/light-doc/blob/master/docs/content/design/env-segregation.md
# This tag should only be set for testing env, not production. The production certification process will enforce it.
# environment: test1
  1. Add consulToken in secret.yml
# Consul service registry and discovery and default is disable.

# Consul Token for service registry and discovery
# consulToken: the_one_ring
  1. Change the Cluster interface to add tag which is breaking change.
public interface Cluster {
    /**
     * give a service name and return a url with http or https url
     * the result is has been gone through the load balance with request key
     *
     * requestKey is used to control the behavior of load balance except
     * round robin and local first which this value is null. For consistent hash
     * load balance, normally client_id or user_id from JWT token should be passed
     * in to route the same client to the same server all the time or the same user
     * to the same server all the time
     *
     * @param protocol either http or https
     * @param serviceId unique service identifier
     * @param tag an environment tag use along with serviceId for discovery
     * @param requestKey load balancer key
     * @return String url
     */
    String serviceToUrl(String protocol, String serviceId, String tag, String requestKey);
}

Dependencies

The dependencies tree can be found here

1.4.6

22 Sep 19:54
Compare
Choose a tag to compare

1.4.6 - 2017-09-22

Added

Changed

  • Upgrade to 1.4.6

1.4.5

22 Sep 15:34
Compare
Choose a tag to compare

1.4.5 - 2017-09-22

Added

Changed

  • fixes #102 Return invalid json error in body handler for malformed body

1.4.4

21 Sep 00:11
Compare
Choose a tag to compare

1.4.4 - 2017-09-20

Added

Changed

  • fixes #101 nothing changed but to release for light-proxy

1.4.3

10 Sep 15:46
Compare
Choose a tag to compare

1.4.3 - 2017-09-10

Added

Changed

  • fixes #94 Calling consul directly with Http2Client instead of consul client