Releases: exoego/aws-lambda-scalajs-facade
v0.12.1 🌈
Hilight
- Scala 3 support
***Handlers
are now plainjs.Function
See v0.12.0 release note for detail
Sorry, v0.12.0 is canceled due to failure of release 😅
🧰 Maintenance
- Update scalafmt-core to 3.4.3 @scala-steward (#331)
- Update scalafmt-core to 3.4.2 @scala-steward (#330)
- Update scalafmt-core to 3.4.0 @scala-steward (#326)
- Update scalafmt-core to 3.3.3 @scala-steward (#325)
- Update scalafmt-core to 3.3.2 @scala-steward (#324)
- Update scala3-library_sjs1 to 3.1.1 @scala-steward (#328)
- Update sbt-tpolecat to 0.1.22 @scala-steward (#333)
- Update sbt-scalajs, scalajs-compiler, ... to 1.9.0 @scala-steward (#332)
- Update sbt to 1.6.2 @scala-steward (#327)
- Setup release action @exoego (#336)
- Bump actions/checkout from 2.4.0 to 3 @dependabot (#334)
v0.12.0 🌈
Release of v0.12.0 FAILED
Please use v0.12.1 or above instead.
Hilight
Scala 3 support
This facade now leverages Scala 3's union type and literal types to encode "enum"s.
E.g.)
type CognitoUserPoolChallengeName =
"PASSWORD_VERIFIER" | "SMS_MFA" | "DEVICE_SRP_AUTH" | "DEVICE_PASSWORD_VERIFIER" | "ADMIN_NO_SRP_AUTH" | "SRP_A"
~Handler
s are now plain js.Function
Previously, all ~Handler
types were js.Object
which is can not be directly used as AWS Lambda handler.
Now you can use ~Handler
straightforward like below)
import scala.concurrent.{ExecutionContext, Future}
import scala.scalajs.js
import scala.scalajs.js.JSConverters._
import scala.scalajs.js.annotation._
import net.exoego.facade.aws_lambda._
object Main {
@JSExportTopLevel("handler")
val handler: AsyncAPIGatewayProxyHandler = (event, context) => {
val json = js.JSON.stringify(event)
js.Dynamic.global.console.log(json)
implicit val ec = ExecutionContext.global
handle(event).toJSPromise
}
private def handle(event: APIGatewayProxyEvent)(implicit ec: ExecutionContext): Future[APIGatewayProxyResult] = Future {
APIGatewayProxyResult(
statusCode = 200,
body = "hello " + event.body,
headers = js.defined(js.Dictionary("Content-Type" -> "text/plain"))
)
}
}
🚀 Features
- [sqs] Allow (Async)SQSHandler returning SQSBatchResponse @exoego (#303)
- [ses] improve typing @exoego (#214)
- [ses] Add DmarcPolicy @exoego (#302)
- [msk] Add MSK event handler @exoego (#193)
- [lex] Limit number of elements in LexSlotDetail resolutions @exoego (#218)
- [kinesis] Add sourceKinesisStreamArn & metadata @exoego (#305)
- [iot] Add IoT PreProvisioningHook @exoego (#221)
- [cognito] Add custom email sender @exoego (#309)
- [cloudfront] Add CloudFrontFunctionsEvent @exoego (#311)
- [appsync] Update AppSyncResolverEvent @exoego (#238)
- [appsync] Add AppSyncIdentityOIDC, AppSyncIdentityLambda, AppSyncAuthorizerEvent @exoego (#312)
- [appsync] Add AppSync Resolver event handler @exoego (#198)
- [apigw] Generalize API GW Proxy Event @exoego (#300)
- Switch to scalajs-dynamodb-shared @exoego (#322)
- Remove v0.10.0-deprecated members @exoego (#299)
- Drop Scala 2.12 @exoego (#296)
- Change (Async)Handler to js.Function so it can be handler directly @exoego (#313)
- Add Scala 3.1.0 support @exoego (#301)
🐛 Bug Fixes
- [ses] Fix SESMailCommonHeaders replyTo @exoego (#217)
- [connect] Fix connect-contact-flow queue type @exoego (#225)
🧰 Maintenance
- update to Scala.js 1.3.0 @exoego (#199)
- Upgrade to GitHub-native Dependabot @dependabot-preview (#242)
- Update/sbt 1.5.8 @exoego (#291)
- Update to Scala 2.12.13 @exoego (#220)
- Update scalafmt-core to 3.3.1 @scala-steward (#319)
- Update scalafmt-core to 3.3.0 @scala-steward (#316)
- Update scalafmt-core to 3.2.2 @scala-steward (#310)
- Update scalafmt-core to 3.2.1 @exoego (#294)
- Update scalafmt-core to 3.2.0 @scala-steward (#283)
- Update scalafmt-core to 3.0.8 @scala-steward (#275)
- Update scalafmt-core to 3.0.7 @scala-steward (#274)
- Update scalafmt-core to 3.0.6 @scala-steward (#271)
- Update scalafmt-core to 3.0.5 @scala-steward (#270)
- Update scalafmt-core to 3.0.4 @scala-steward (#269)
- Update scalafmt-core to 3.0.3 @scala-steward (#267)
- Update scalafmt-core to 3.0.2 @scala-steward (#266)
- Update scalafmt-core to 3.0.1 @scala-steward (#265)
- Update scalafmt-core to 3.0.0 @scala-steward (#263)
- Update scalafmt-core to 2.7.5 @scala-steward (#196)
- Update scalafmt-core to 2.7.4 @exoego (#192)
- Update scalafmt-core to 2.7.3 @scala-steward (#189)
- Update scalafmt-core to 2.7.2 @scala-steward (#187)
- Update scala-library to 2.13.8 @scala-steward (#320)
- Update scala-library to 2.13.7 @scala-steward (#276)
- Update scala-library to 2.13.6 @scala-steward (#246)
- Update scala-library to 2.12.15 @scala-steward (#268)
- Update scala-library to 2.12.14 @scala-steward (#249)
- Update sbt-tpolecat to 0.1.20 @scala-steward (#252)
- Update sbt-tpolecat to 0.1.19 @scala-steward (#248)
- Update sbt-tpolecat to 0.1.18 @scala-steward (#247)
- Update sbt-tpolecat to 0.1.17 @scala-steward (#234)
- Update sbt-tpolecat to 0.1.16 @scala-steward (#212)
- Update sbt-tpolecat to 0.1.15 @scala-steward (#202)
- Update sbt-tpolecat to 0.1.14 @scala-steward (#194)
- Update sbt-sonatype to 3.9.9 @scala-steward (#262)
- Update sbt-sonatype to 3.9.7 @scala-steward (#233)
- Update sbt-sonatype to 3.9.6 @scala-steward (#232)
- Update sbt-sonatype to 3.9.5 @scala-steward (#201)
- Update sbt-sonatype to 3.9.10 @scala-steward (#264)
- Update sbt-scalajs, scalajs-library, ... to 1.6.0 @scala-steward (#255)
- Update sbt-scalajs, scalajs-library, ... to 1.4.0 @scala-steward (#219)
- Update sbt-scalajs, scalajs-compiler, ... to 1.8.0 @exoego (#292)
- Update sbt-scalajs, scalajs-compiler, ... to 1.7.1 @scala-steward (#272)
- Update sbt-scalajs, scalajs-compiler, ... to 1.7.0 @scala-steward (#261)
- Update sbt-scalajs, scalajs-compiler, ... to 1.5.1 @scala-steward (#236)
- Update sbt-scalajs, scalajs-compiler, ... to 1.5.0 @scala-steward (#223)
- Update sbt-scalajs, scalajs-compiler, ... to 1.3.1 @scala-steward (#203)
- Update sbt-scalafmt to 2.4.6 @scala-steward (#315)
- Update sbt-scalafmt to 2.4.5 @exoego (#293)
- Update sbt-scalafmt to 2.4.4 @scala-steward (#280)
- Update sbt-scalafmt to 2.4.3 @scala-steward (#258)
- Update sbt-release to 1.1.0 @scala-steward (#257)
- Update sbt-release to 1.0.15 @scala-steward (#227)
- Update sbt-pgp to 2.1.2 @scala-steward (#224)
- Update sbt-pgp to 2.1.1 @scala-steward (#211)
- Update sbt-pgp to 2.0.2 @scala-steward (#208)
- Update sbt-ci-release to 1.5.10 @scala-steward (#323)
- Update sbt to 1.6.1 @scala-steward (#318)
- Update sbt to 1.6.0 @scala-steward (#317)
- Update sbt to 1.5.5 @scala-steward (#259)
- Update sbt to 1.5.4 @scala-steward (#256)
- Update sbt to 1.5.3 @scala-steward (#251)
- Update sbt to 1.5.2 @scala-steward (#244)
- Update sbt to 1.5.1 @scala-steward (#241)
- Update sbt to 1.5.0 @scala-steward (#237)
- Update sbt to 1.4.9 @scala-steward (#231)
- Update sbt to 1.4.8 @scala-steward (#230)
- Update sbt to 1.4.7 @scala-steward (#222)
- Update sbt to 1.4.6 @scala-steward (#216)
- Update sbt to 1.4.5 @scala-steward (#213)
- Update sbt to 1.4.3 @scala-steward (#204)
- Update sbt to 1.4.2 @scala-steward (#200)
- Update sbt to 1.4.1 @scala-steward (#197)
- Update sbt to 1.4.0 @scala-steward (#190)
- Update aws-sdk-scalajs-facade-dynamodb to 0.33.0-v2.892.0 @scala-steward (#240)
- Update aws-sdk-scalajs-facade-dynamodb to 0.32.0-v2.798.0 @scala-steward (#207)
- Update aws-sdk-scalajs-facade-dynamodb to 0.31.0-v2.731.0 @scala-steward (#188)
- Update Scala 2.13 and use it as default (faster compile) @exoego (#215)
- Update CI configs @exoego (#206)
- Update .mergify.yml @exoego (#254)
- Remove unnecessary command @exoego (#290)
- Re-implement factory methods part2 @exoego (#304)
- Re-implement factory methods @exoego (#298)
- Re-implement apply method part2 @exoego (#308)
- Push events for caching @exoego (#235)
- Prepare for releasing 0.12.0 @exoego (#314)
- Mergify: configuration update @exoego (#209)
- Include dependencies @exoego (#295)
- Drop Factory macro for Scala 3 compat @exoego (#297)
- Bump scalafmt @exoego (#282)
- Bump olafurpg/setup-scala from 12 to 13 @dependabot (#260)
- Bump olafurpg/setup-scala from 11 to 12 @dependabot (#253)
- Bump olafurpg/setup-scala from 10 to 11 @dependabot (#250)
- Bump coursier/cache-action from v5 to v6 @dependabot (#243)
- Bump actions/checkout from 2.3.5 to 2.4.0 @dependabot (#277)
- Bump actions/checkout from 2.3.4 to 2.3.5 @dependabot (#273)
- Bump actions/checkout from 2 to 2.3.4 @dependabot (#245)
- Bump Scala 2.13 @exoego (#228)
v0.11.0 🌈
Changes
🚀 Features
🐛 Bug Fixes
🧰 Maintenance
- Update scalafmt-core to 2.7.1 @scala-steward (#185)
- Update scalafmt-core to 2.7.0 @scala-steward (#181)
- Update sbt-scalajs, scalajs-compiler to 1.2.0 @scala-steward (#182)
v0.10.0 🌈
Highlight
- Scala.js 1.x support only. (v0.9.0 was final release for Scala.js 0.6)
- Factory methods for JS traits are now generated by macro.
- Some new Lambda events and bugfixes.
🚀 Features
- [sqs] Additional SQSRecordAttributes to support FIFO SQS queue @exoego (#174)
- [cognito] Add granular events for Cognito Userpool handlers @exoego (#177)
- [codebuild] Add Codebuild Cloudwatch Handler @exoego (#161)
- [amazon-connect] Add Amazon Connect Contact Flow facade @exoego (#166)
- [alb] Make some field of ALBResult optional @exoego (#160)
🐛 Bug Fixes
📚 Docs
🧰 Maintenance
- format: Increase maxColumn for my wide monitor @exoego (#167)
- Use factory macro to reduce boilerplate @exoego (#149)
- Update scalajs-types-util to 0.3.0 @scala-steward (#150)
- Update scalafmt-core to 2.6.4 @scala-steward (#169)
- Update scalafmt-core to 2.6.3 @scala-steward (#159)
- Update scalafmt-core to 2.6.2 @scala-steward (#158)
- Update scalafmt-core to 2.6.1 @scala-steward (#146)
- Update sbt-sonatype to 3.9.4 @scala-steward (#157)
- Update sbt-sonatype to 3.9.3 @scala-steward (#147)
- Update sbt-scalajs, scalajs-compiler to 1.1.1 @scala-steward (#156)
- Update sbt-scalafmt to 2.4.2 @scala-steward (#172)
- Update sbt to 1.3.13 @scala-steward (#152)
- Update base aws-sdk version @exoego (#176)
- Sort changes by title @exoego (#173)
- Remove useless inline annotation @exoego (#171)
- Remove members deprecated in 0.9.0 @exoego (#148)
- Releasing v0.10.0 @exoego (#178)
- Format cleanup @exoego (#168)
- Drop Scala.js 0.6.x since it reached EOL @exoego (#175)
- Do not add macro as transitive dependency @exoego (#170)
- Bump Scala versions and address warnings @exoego (#163)
- Add js.native since so factory methods are used instead of dirty overriding @exoego (#165)
v0.9.0
💥 This release introduces some breaking changes.
🚀 Features
- Allow more types for JWT claims in API Gateway request @exoego (#143)
- Make
ScheduledEvent.detail
generic @exoego (#141) - Remove deprecated members @exoego (#139)
- Add API Gateway Proxy V2 support @exoego (#138)
🐛 Bug Fixes
🧰 Maintenance
- Update scalafmt-core to 2.6.0 @scala-steward (#144)
- Update Scala.js to 1.1.0 @exoego (#142)
- Update sbt-tpolecat to 0.1.12 @scala-steward (#137)
- Update sbt to 1.3.12 @scala-steward (#136)
- Update sbt to 1.3.11 @scala-steward (#135)
- Update scalafmt-core to 2.5.3 @scala-steward (#134)
- Update Scala 2.12.x @exoego (#133)
- Update Scala.js 0.6.33 @exoego (#132)
- Update sbt-scalafmt to 2.4.0 @scala-steward (#130)
v0.8.0
v0.7.0 🌈
Changes
🚀 Features
- Add userNotFound @exoego (#116)
- Add xray trace header to SQS event @exoego (#107)
- Add clientMetadata to Cognito Request @exoego (#106)
- Add new API Gateway Authorizer types, deprecating old ones @exoego (#102)
- Add protocol to APIGatewayEventRequestContext @exoego (#99)
🐛 Bug Fixes
🧰 Maintenance
- Release 0.7.0 @exoego (#119)
- [release] Unset Scala-js 1.x version so default version in plugins.sbt used @exoego (#118)
- Allow using with later aws-sdk-scalajs-facade @exoego (#117)
- Update sbt to 1.3.10 @scala-steward (#115)
- Update sbt-scalafmt to 2.3.4 @scala-steward (#114)
- Update sbt-scalafmt to 2.3.3 @scala-steward (#113)
- Update sbt to 1.3.9 @scala-steward (#110)
- Update sbt-sonatype to 3.9.2 @scala-steward (#109)
- Update sbt-sonatype to 3.9.1 @scala-steward (#108)
- Format in single line so Scala Steward can update @exoego (#105)
- Update sbt-scalajs, scalajs-compiler to 1.0.1 @scala-steward (#104)
- Update sbt-scalafmt to 2.3.2 @scala-steward (#103)
- Fix mismatch of default SCALAJS_VERSION @exoego (#101)
- Update sbt-tpolecat to 0.1.11 @scala-steward (#98)
v0.6.0
From this version, this facade finally supports Scala.js 1.0.01.0.0-RC2.
Scala.js 0.6.x will be supported until 0.6.x reaches EOL.
This release is almost identical to v0.5.0, except the DynamoDB dependency was updated to
"net.exoego" %%% "aws-sdk-scalajs-facade-dynamodb" % "0.29.0-v2.624.0"
.
v0.5.0
libraryDependencies += "net.exoego" %%% "aws-lambda-scalajs-facade" % "0.5.0"
Published for Scala 2.12/2.13 and Scala.js 0.6.32.
Unfortunately Scala.js 1.0.0 support is blocked by scalatest, so will be added later.
- Bugfix
- Improvement
Handler[T,R]
and its sub types should be newable/extendable. #84- Refine Lex #88
- Refine CloudFront #87
- Remove unused type aliases #85
- New handler:
S3BatchHandler
#76 - New property #76
principalOrgId
added toAPIGatewayEventRequestContext.Identity
glacierEventData
added toS3Event
body
added toCloudFrontRequest
NoEcho
added toCloudFormationCustomResourceDeleteEvent