Releases: kwojcik-blockether/holy-lambda
v0.6.6
See migration guide
- [bb layer] Upgrade Babashka to v0.7.4
- [holy-lambda] Simplify default & async retrievers
- [bb tasks] Fix tasks
hl:doctorcommand - [holy-lambda] Add images of GraalVM 22.2.0
- [docs] Update docs
- [babashka] Fix typo in babashka tutorial
- [holy-lambda] Fix 1 arity of
#'hr/status
v0.6.5
See migration guide
- [bb layer] Update babashka runtime to version
0.6.5. Babashka version included0.7.0. - [holy-lambda] Bump jsonista to version
0.3.5 - [bb tasks] Update tasks debug info
- [holy-lambda-template] Bump HL version
v0.6.4
0.6.4
- [holy-lambda] Remove debug info of UserAgent header
v0.6.3
0.6.3
See migration guide
- [bb layer] Update babashka runtime to version
0.6.3. Put in ServerlessRepo's README.md all necessary information regarding the layer. - [bb layer] Update babashka to version
0.6.8. - [holy-lambda] Remove
:envsproperty from:ctxto prevent security issues. UseSystem/getenvinstead! - [holy-lambda] Add analytics that sends the version of the framework + Java/Babashka version to AWS. Users can disable this option by setting
disable-analytics?=trueinh/entrypoint. - [docs] Update documentation
v0.6.2
0.6.2
See migration guide
-
[bb tasks] Introduce
bb hl:update-bb-tasksas an automation for updating to stable version of tasks. -
[bb layer] Update babashka runtime to version
0.6.2. Runtime does not precalculates the classpath. Cold start should be lower now! :) -
[bb layer] Use
bb.ednfor specifying dependencies for babashka code instead of relying ondeps.edn. -
[bb layer] Remove
babashka-shimfrom the runtime, remove direct dependency onholy-lambda.
Users should put the newestholy-lambdaversion inbb.ednand usebb hl:babashka:syncto download the dependencies.
Pack dependencies in the layer and reference it's ARN intemplate.yml.Example
AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Description: > Example basic lambda using `holy-lambda` micro library Parameters: Runtime: Type: String Default: provided Timeout: Type: Number Default: 40 MemorySize: Type: Number Default: 128 HL_ENTRYPOINT: Type: String Default: com.company.example-lambda.core Globals: Function: Runtime: !Ref Runtime Timeout: !Ref Timeout MemorySize: !Ref MemorySize Environment: Variables: HL_ENTRYPOINT: !Ref HL_ENTRYPOINT Resources: BabashkaDepsLayer: Type: AWS::Serverless::LayerVersion Properties: LayerName: BabashkaDepsLayer ContentUri: ./.holy-lambda/bb-clj-deps ExampleLambdaFunction: Type: AWS::Serverless::Function Properties: FunctionName: ExampleLambdaFunction Handler: com.company.example-lambda.core.ExampleLambda CodeUri: src Events: HelloEvent: Type: HttpApi Properties: ApiId: !Ref ServerlessHttpApi Path: / Method: GET Layers: - <HERE_PUT_PHISICAL_ID> - !Ref BabashkaDepsLayer ...
v0.6.1
v0.6.0
0.6.0
-
[holy-lambda] Improved performance of the runtime (benchmarks are broken unfortunately, since my network is not reliable)
-
[bb layer] Renamed the
Entrypointenvironment variable for Babashka runtimes toHL_ENTRYPOINT. -
[bb tasks] Rename
hl:synctohl:babashka:sync. Sync downloads onlypodsand Babashka deps. Dependencies for babashka should be specified in bb.edn. -
[bb tasks] Remove
:mvn/local-repofromdeps.edn. Dependencies for Clojure & Native backend are not downloaded to a local directory. -
[bb tasks] Project compilation happens without Docker now.
-
[bb tasks] HL reverts allowance for not specifying the backend name.
-
[bb tasks] Rename
:runtimeinbb.ednto:backendto match the documentation. -
[bb tasks] Remove
:entrypointand:clj-aliassupport. Use:compile-cmdin:buildinstead! -
[docker] Holy Lambda images are now available at ghcr. Please use the new
ghcr.io/fierycod/holy-lambda-builderinstead offierycod/graalvm-native-image. Images don't includeaws,aws sam, andclojure. -
[holy-lambda] Fix
application/jsoncontent type detection -
[docker] Holy Lambda images are now available at ghcr. Please use the new
ghcr.io/fierycod/holy-lambda-builderinstead offierycod/graalvm-native-image. Images don't includeaws,aws sam, andclojure.
See here(https://github.com/FieryCod/holy-lambda/pkgs/container/holy-lambda-builder/versions) -
[docker] Holy Lambda now supports aarch64 for all of the runtimes and is now compatible with MacOS M1 :)
-
[docs] Documentation has been updated to match the newest version
-
[babashka] Old babashka artifact has been deprecated.
Use one of:
-
[babashka layer] Bump babashka to 0.6.2
-
[graalvm] Holy Lambda distributes configuration for GraalVM native-image to let the users use HL without
bb tasks. -
[runtime] Fix
:awsRequestIdctx property to point to runtime:invocation-id. -
[native:conf] Remove warning:
WARNING: Could not resolve fierycod.holy_lambda.core$entrypoint$fn__6578 for reflection configuration. Reason: java.lang.ClassNotFoundException: fierycod.holy_lambda.core$entrypoint$fn__6578.
v0.5.0
Rationale
#68
- [bb tasks] Remove some of the bb tasks:
- bucket:create
- bucket:remove
- stack:invoke
- stack:api
- stack:pack
- stack:deploy
- stack:describe
- stack:destroy
- stack:logs
- [holy-lambda] Renamed tasks:
- bb hl:sync (renamed from bb stack:sync)
- bb hl:compile (renamed from bb stack:compile)
- bb hl:native:conf (renamed from bb native:conf)
- bb hl:native:executable (renamed from bb native:executable)
- bb hl:clean (renamed from bb stack:purge)
- bb hl:version (renamed from bb stack:version)
- bb hl:doctor (renamed from bb stack:doctor)
- [holy-lambda] Performance improvements
- [holy-lambda] Remove deflambda macro, merge mixins. Use plain
defnfor lambda definition.
Holy Lambda exposes a single macro from the core namespaceentrypoint. native-runtime namespace has been renamed to
custom-runtime. custom-runtime namespace is internal, not for public consumption. - [holy-lambda] Remove interceptors support. For API's user can easily integrate Holy Lambda with ring or pedestal. The adapters for the mentioned libraries will be published soon.
- [docker] New compatible
fierycod/graalvm-native-imageimages:- :ce - GraalVM CE 21.2.0
- :dev - GraalVM DEV 21.3.0-dev-20210910_2147
- [bb layer] Layer version matches the holy-lambda version. New release 0.5.1 includes the latest babashka 0.6.1. Layer should be deployed via serverless repository deploy button:
https://serverlessrepo.aws.amazon.com/applications/eu-central-1/443526418261/holy-lambda-babashka-runtime - Fix Clojure tools warnings, about not existing
.jarfile - Don't re-download HL tasks in CI environments
- New documentation
v0.2.3 Fixes & full support for arbitrary responses
-
[bb tasks] Add support for passing arguments to commands in
--style.Example
bb stack:invoke --validation-fn '(fn [response] true)' -
[ci] Run integration tests on all supported GraalVM images
-
[bb tasks] Add experimental support for setting some of HL options via AWS variables. This should ease pain of using HL with AWS vault.
-
[docker] Add
fierycod/graalvm-native-image:devwhich targets GraalVM CE dev releases :) -
[docker] Add zip program for CI based deployments where tasks are run in Docker context
-
[bb tasks] Remove clj-kondo from the required commands
-
[holy-lambda] Interceptors should not throw when response is byte encoded
-
[holy-lambda] Don't use -H:+AllowIncompleteClasspath on behalf of user
-
[holy-lambda] Use
DISABLE_SIGNAL_HANDLERS="true"in bootstrap file -
[holy-lambda] Allow users to support arbitrary response if the response is byte encoded. Opens a way to support transit and other content-types.
-
[holy-lambda] Properly parse response. Add support for AWS Step Functions.
-
[holy-lambda] Use config-merge-dir instead of config-output-dir when executing bb native:conf. User should be allowed to specify custom configuration in
reflect-config.json,resource-config.jsonthat should not be overriden. -
[holy-lambda] Add support for sending a base64 encoded images from HL
hr/png-image
v0.2.2 Support CI deployments. Stabilize HL
-
[docs] Add documentation about using GraalVM-EE
-
[examples] Add basic
cdkexample -
[holy-lambda]
System/exit 1when handler is not found duringnative:conf -
[bb tasks] Don't remove empty
.awsfolder since tasks might not have proper permissions set, bind~/.awsfolder at/.awspath instead. -
[bb tasks] Add support for CI deployments.
-
[bb tasks] Add support for docker
:networkoption -
[docs] Add FAQ, CI support documents
-
[bb tasks] Fix using docker in CI environment
-
[bb tasks] Remove broken
stack:lintcommand. Use plainclj-kondoinstead -
[bb layer] Add a type hint & fix bb layer. Users should update to :runtime:version 0.1.2
-
[CI] Add full test suite for basic lambda examples
-
[bb tasks] Add support for multi-environment deployments
-
[bb tasks] Add
:validation-fnforbb stack:invokecommand:bb stack:invoke :validation-fn '(fn [{:keys [body headers statusCode]}] (= body "Hello world"))'