Skip to content

Releases: bbilger/jrestless

v0.6.0

17 Nov 22:09
Compare
Choose a tag to compare

New Features

  • Jersey version 2.26 is used now: #41
  • (initial) support for Fn Project has been added; thanks to this PR: #43

Breaking Changes / Migration

There are a few breaking changes (https://jersey.github.io/documentation/latest/user-guide.html#mig-2.26) in Jersey 2.26 but most of these changes affect JRestless' internals, only.

You are, however, required to add an additional dependency:

# Gradle
compile group: 'org.glassfish.jersey.inject', name: 'jersey-hk2', version: '2.26'

# Maven
<dependency>
    <groupId>org.glassfish.jersey.inject</groupId>
    <artifactId>jersey-hk2</artifactId>
    <version>2.26</version>
</dependency>

Known Issues

Aside from the HK2 injection manager (jersey-hk2) mentioned above, Jersey offers an alternative CDI 2 SE injection manager (jersey-cdi2-se).
The CDI 2 SE injection manager (jersey-cdi2-se) is, however, not yet supported by JRestless because of a bug which by the way affects all containers: https://github.com/jersey/jersey/issues/3621

BUT: you can still use CDI as usual via org.glassfish.jersey.ext.cdi:jersey-weld2-se; see https://github.com/bbilger/jrestless-examples/tree/master/aws/gateway/aws-gateway-cdi

v0.5.1

21 Apr 21:56
Compare
Choose a tag to compare

New Features

JRestless now supports Cognito (Federated) Identity and IAM authentication. (#35)

The new AwsSecurityContextFilter sets the according Principal (CognitoUserPoolAuthorizerPrincipal, CustomAuthorizerPrincipal, CognitoIdentityPrincipal or IamPrincipal) when available. AwsSecurityContextFilter gets registered through the GatewayFeature.

Breaking Changes

CustomAuthorizerFilter and CustomUserPoolAuthorizerFilter are replaced by AwsSecurityContextFilter.

v0.5.0

12 Mar 20:17
Compare
Choose a tag to compare

New Features

Breaking changes

breaking changes

  • *TYPES are not exposed in the *Features anymore => define them
    yourself
  • SimpleRequestHandler#init(Application, Binder, ServiceLocator) has
    been removed => use #init(Application, ServiceLocator) and override
    #createBinder

v0.4.0

14 Dec 22:06
Compare
Choose a tag to compare

0.4.0

New Features

  • Binary support: binary data can be returned from endpoints, now. (#13)
  • SNS support: SNS events can be handled by JAX-RS endpoints, now. By default the topic and the subject are used to generate the request URI and the message body is assumed to be JSON. Those assumption can easily be overwritten in the SnsRequestObjectHandler. (#5)
  • Security: when a Custom Authorizer or a Cognito User Pool Authorizer is configured for an API Gateway endpoint, then the data returned by the authorizer automatically gets translated into a Principal including all claims, that can easily be injected into a resource via the SecurityContext. (#12)
  • Jersey: Version 2.25 of Jersey is used now.

Fixed Bugs

  • #14: Maven can be used, now without any workarounds
  • #6: Request objects can be injected into resources as proxies, now. (Context, GatewayRequest, ServiceRequest and SNSRecord)

Module Changes

  • com.jrestless.aws:jrestless-aws-gateway-core and com.jrestless.aws:jrestless-aws-service-core have been merged into com.jrestless.aws:jrestless-aws-core.
  • com.jrestless.aws:jrestless-aws-sns-handler has been introduced.

Incompatible Changes

  • Impl classes have been renamed to Default.
  • The visibility of most methods in *Handler classes has been changed from public to protected.
  • GatewayIdentity and GatewayRequestContext are not injectable directly anymore. So one has to inject GatewayRequest and access GatewayRequestContext like thisgatewayRequest.getRequestContext() and GatewayIdentity like this gatewayRequest.getRequestContext().getIdentity().
  • GatewayResourceConfig, and ServiceResourceConfig have been dropped. Use a plain ResourceConfig and register GatewayFeature, ServiceFeature or SnsFeature; depending on the function type you use.
  • GatewayRequest and ServiceRequest are no longer available in the ContainerRequestContext but they can be injected (@Inject) everywhere.

v0.3.0

17 Oct 19:42
Compare
Choose a tag to compare
  • Add support for AWS Lambda service functions.
  • Add support to call AWS Lambda service functions using feign and the AWS SDK - allowing you to call those functions transparently via REST without using API Gateway.

v0.2.0

09 Oct 22:40
Compare
Choose a tag to compare

use the new Lambda Function Proxy and catch-all paths provided by API Gateway (this reduces the framework's complexity and limitations significantly especially since the generation of a swagger definition is not necessary anymore)

v0.0.1

17 Aug 22:42
Compare
Choose a tag to compare
v0.0.1 Pre-release
Pre-release

Initial release