The format is based on Keep a Changelog
- Support lambda VPC
- Support graal for spring-boot
- Support java 21
- Support spring-boot 3
- Upgrade dependencies and support higher spring-boot
- Support remote debug of local kotless via extension args - debugPort, suspendDebug
- Support java 17
- Introduce support of Azure cloud
- Migrate from JCenter to Space Packages
- A lot of changes inside the platform
- Migrated to Gradle 6.8.1 with Kotlin 1.4.21
- Updated Ktor version to 1.5.0
- Updated Spring Boot version to 2.4.2
- Now Kotless correctly handles favicons thanks to mkuzmin
- Initial GraalVM support
- Works only with Ktor right now
- Ktor Site examples migrated to GraalVM
- Now Kotless should be working on Windows, thanks to zaenk (chmod will not be used on Windows)
- Support for different runtimes: Java 8 and Java 11
- Migrate to Terraform 12 by default
- Problem with LocalStack not stopping after a run
- Reflections dependency reverted to older version because of critical bug in it
- Fix for HTTPRequest -- sometimes user-agent can miss in APIGateway request
- Spring Boot DSL -- Spring Boot serverless container and parser of it. Support dynamic and static routes, warming of lambda, granular permissions. Does not support Scheduled.
- Support local run for Spring Boot DSL via tomcat starter
- Spring Boot examples: shortener and site
- Examples were reworked into one project
workDirectory
is now calledstaticsRoot
- Improvements in all parsers -- now all of them should work a lot faster
- Fixes to documentation in code
- Output to console URL of deployed application
- Support local start for Kotless DSL
- Support @Scheduled execution for local starts
- Use AWS Local Stack for mocking of AWS services during local start
- Extension files will be automatically applied to LocalStack instance
- Support deployment without Route53 record -- will use generated by API Gateway DNS record. Note: Usage of generated record may lead to problems with hardcoded links. Kotless Links API works with them correctly.
- Support headless mode -- without any configuration Gradle project should be successfully imported and local starts will work. Still, configuration is required for actual deployment.
- Ktor DSL -- Ktor Engine and parser for it. Support dynamic and static routes, warming of lambda, granular permissions. Does not support Scheduled.
- Add local run task for Ktor DSL -- now you can run server locally.
- Support of all remaining HTTP methods in Kotless and Ktor DSL
- Ktor examples: add shortener and site
- Support of binary responses for binary MimeTypes
- Scheduled events -- just annotate function with @Scheduled
- Extensions API -- now it is possible to use custom Terraform code along with Kotless generated during deployment.
- URL shortener example -- simple URL shortener written with Kotless
- Separate Terraform synthesizing into Terraform DSL, Generators and Optimizers
- Minor style changes in Gradle DSL
- Multiregional -- now Kotless can be deployed to any region
- Default parameters in functions now back to working
- Format of S3 resource arn in permissions
- Deploy-time check of signatures of annotated functions
- Explicitly declared permissions, e.g.
@S3Bucket(bucket = "my_bucket", mode = Mode.Read
- Works for functions, classes and objects
- Taken from routes and global actions (like
LambdaWarming
,LambdaInit
and so on)
LambdaWarming
sequences - functions to execute each warming cycleLambdaInit
sequences - functions to execute on initialization of lambdaHttpRequestInterceptor
- interceptors for HTTP requests, maybe chained- Possibility to extend serialization and deserialization
- Links built-in support -- base links and links with parameters