Skip to content

Releases: Skullabs/kikaha

2.1.6.Final

08 Mar 17:14
Compare
Choose a tag to compare

Bug Fixes

#248 Deployed artifact through CodeDeploy does not have on its content the "conf" folder
#246 Reverse proxy does not support SSL endpoints
#247 Remove signature from uber jars

2.1.5.Final

13 Feb 02:15
Compare
Choose a tag to compare

Bug Fixes

#246 Reverse Proxy does not support SSL routes
#247 Remove signature from uber jars

2.1.2.Final

15 Nov 18:41
Compare
Choose a tag to compare

Bug Fixes

  • Fixed issue related to deployments outside us-east-1 region
  • Small fixes on issues related to AWS Lambda Deployments

2.1.1.Final

27 Oct 13:35
Compare
Choose a tag to compare

Bug Fixes

  • #234 Remove exception when webapp directory not exists
  • #232 Developers should be able to configure JVM parameters easily

2.1.0.Final

27 Oct 13:33
Compare
Choose a tag to compare

We are thrilled to announce the 2.1.0.Final version. It was a huge effort to improve the Kikaha's core, improve its API and provide a more friendly development environment with (almost) no breaks on its backward compatibility.

Cloud Friendly Architecture

Since our last stable version (2.0.x) we have drastically improved the internal design of Kikaha, allowing it to become even friendlier to the Cloud. Here are some highlights.

  • ServiceRegistry: a mechanism to notify an external Service Registry the presence of a Kikaha application instance on your farm. Out-of-box were included two ServiceRegistry implementations: consul.io and AWS Application Load Balancer.
  • Distributed Configuration: allows DevOps team to configure Kikaha using an external (or centralized) configuration service. Currently we support only consul.io and AWS EC2 Tags.
  • AWS Lambda Support: Convert your REST endpoints to Lambda Functions with (almost) no changes on your source code.
  • AWS CodeDeploy support: Deploy your applications any where with AWS CodeDeploy.
  • Codahale's Metric support: Codahale's is a great metric API implementation (with have a very strong community) that would provide you insights of how your application behaves at production.
  • AWS X-Ray: Gathers and send metrics to X-Ray in order to provide you insights of how your application behaves at production.

Introducing the uWorkers API

uWorkers was designed to behave quite similar to the Akka's actor API, but with a friendly and non-verbose syntax. It provides Kikaha's application a way to handle huge workloads in a predictive way. Its inbox mechanism is fully customizable and lets you to distribute tasks on your cluster. Although the default mechanism is in-memory, there is already an SQS implementation available. RabbitMQ and Kafka is coming soon.

Create even more testable codes

2.1.x version introduced a very convenient way to test your code base. With KikahaRunner and KikahaServerRunner you can, respectively, unit test your injectable code and create integration tests easily simulating your production environment for each test you need.

Redesigned Security API

We did a great effort on making the Security module more configurable, understandable and easier to customize:

  • All its sensible configuration entry points have default values
  • Created the JSON Authentication Mechanism
  • Created the Database Identity Manager
  • Created the SessionStore mechanism, to make easier to customize how to store (or not) the session on the server side. By default, the server will not store any session on the server side.
  • Created the SessionIdManager, to make easier to identify which user are accessing the server. By default, it will rely on the former JSESSION mechanism to identify the current user.
  • Added success and failure events on AuthenticationMechanism in order to make easier to interact with the authentication life cycle.
  • Added Auth0 support.
  • Easier to handle JWT authentication.
  • Created the PasswordEncoder mechanism. By default it set to use Plain-Text, but BCrypt is also available.

Even more smart-routes

We have created a lot of smart-routes to let developers focus on what really matters to their business and avoiding waste time on repetitive tasks. The most important ones are: CORS support, Filter mechanisms and automatic Authentication endpoints.

Another enhancements

  • #172 Allow developers to set custom Headers as response for every received request
  • #201 Added 'byte[]' as parameter on Unserializer interface
  • #203 Added Protobuf support
  • #204 Allow developers to use the Content-Type defined on Response.headers() to serialize the output response
  • #227 Allow "webjar" deployments
  • Added Rocker Template support (thanks to Jay Milagroso for your excellent contribution).

Bug Fixes

  • #202 server.urouting.default-content-type configuration doesn't apply to DefaultResponse.contentType
  • #219 Fixes on file upload
  • Allow to attempt a new login request with an already logged in session

2.0.2-Final

23 Aug 22:40
Compare
Choose a tag to compare

Bug Fixes

#169 Custom QualifiedExtractor cannot instantiate classes

2.0.1-Final

05 Aug 22:14
Compare
Choose a tag to compare

Enhancements

Updated to Undertow 1.4.x version.

Bug Fixes

#167 Maven's package goal does not attach the webapp folder correctly
#168 DefaultSecurityContext throws NPE if the SessionStore fails to create a Session

2.0.0-Final

05 Aug 21:35
Compare
Choose a tag to compare

Enhancements / New features

Better Dependency Injection engine

#68 tRip project, once proved to be mature and used under heavy-load environment, was merged and completely reviewed into a module on the Kikaha's core. This new engine became focused on JSR-299/330 annotations providing better integration with the most used design patterns that interoperates with DI pattern. Also, it made simple and fun to create standalone applications - in a Spring-boot fashion. Its main feature was kept intact - pre-generate its dependencies at compile time.

Smart Routes

At this release, the former Reverse and Proxy routing rules were grouped into a set of automatic routing rules called Smart Routes. We will call Smart Routes every route that can change the default behavior of standard requests. With Smart Routes you can redirect, intercept, filter and also proxy requests to another server.
#60: Add CORS support
#159 Developers should able to configure CORS to allow credentials
#150 Include an auto-redirect rule similar to reverse and rewrite ones
#148 Allow developers to Filter requests in a Servlet Filter fashion

WebSocket improvements

#158 WebSocket 'onText' should be able to handle Objects
#157 WebSocket messages should be handled at the Workers thread pool
#161 Allow receive JSON serialized objects on WebSocket routes

Other important enhancements

#139 Created a new (and faster) configuration module, based on the popular YML format
#141 New modular (and simple) system - it allows developers to easily customized Kikaha (or Undertow runtime)
#122 Better feedback handling missing Content-Types
#135 Better 404 experience when no mustache template is found
#164 Allow receive primitive type as parameters received from Http requests
#147 Included a more convenient API to handle requests through the Undertow API
#151 Better experience when dealing with user sessions (logged in users, attaching attributes, logout, etc..)
#154 Headers sent as response should use HttpString to store their names
#146 Allow start Undertow in HTTP 2.0 mode (it still requires Jetty ALPN to run)

Bug Fixes

#152 Cannot find unserializer for Content-Types that also have charset encoding define
#153 Cannot send parameters with primitive types on routing methods (see #164)
#155 Cannot handle NullPointerException when no custom ExceptionHandler is available
#156 Cannot start Kikaha on Windows
#163 CORs' Smart Route does not allow PUT request (even if configured for PUT requests)

2.0.0-beta3

27 May 16:53
Compare
Choose a tag to compare
2.0.0-beta3 Pre-release
Pre-release
Fixes on Smart Routes' unit test

2.0.0-beta1

04 May 13:07
Compare
Choose a tag to compare
2.0.0-beta1 Pre-release
Pre-release
Version 2.0.0-beta1