v0.1.0
This has been on my mind, and now that Circe 0.14.2 landed we no longer have milestone dependencies of our own :)
I think the feral-lambda core module has been pretty stable. We did break binary-compatibility when fixing some events, and that may generally be annoying going forward depending on how Amazon evolves their APIs.
Things I'd like to do:
- open up the
LambdaEnvandContextAPIs, I think I saw @bpholt doing some shenanigans to mock them - make sure the API can support graceful shutdown of resources, even if we don't implement it yet. h/t @fdietze for reminding me of this issue
- reassure myself that folks are happy with the API 😅 I was reminded this week that the MTL style can be confusing/controversial, see https://github.com/http4s/http4s/pull/4758#issuecomment-1130153431
- review the events module. de-case-classing may be the best for longterm bincompat, but will be a PITA
- anything else?
There's also a milestone with some issues in it, but they're mostly nice-to-haves. The smithy4s integration would still be good if we are okay to tie our binary-compatibility to them.
https://github.com/typelevel/feral/milestone/1
I'm used to working on projects where bincompat is a Big Deal, and it doesn't have to be here yet. I'd like to stay stable if we can, but worst case is 0.2.0 :)
cc @bpholt and @kubukoz
👍 Feral has been working really well for us and going to 0.1.0 seems like a great next step!
There are some minor tweaks to the CloudFormation custom resource interface that I've been meaning to propose. I'll try to get that written up soon.
Another thing to toss into the mix: possibly a way to support alternative runtimes. I'm hopeful Scala Native support will land in the near future, which will necessitate implementing our own lambda runtime. The interesting thing is said runtime could also cross-compile to JVM and JS, and be an alternative to the official runtimes. There could be some advantages (for example using the WSTP through-and-through, full control of resource lifecycles) so it would be nice to have that flexibility.
Ok, so in light of https://github.com/typelevel/feral/issues/134 and https://github.com/typelevel/feral/issues/246 it seems there's still quite a bit of work to do. Edit: also, there's otel4s looming as a possible successor to natchez.
The good news is, we're only aiming for 0.1.0 here 😁 we can tidy up a couple small things and then I reckon let's just ship 0.1.0 say by the end of the month-ish. Seeing as some future breakage is inevitable, everything else can go towards 0.2.0/1.0.0.
Well, we ended up publishing a v0.2.0 😅 and Scala Native and stuff got pushed back to some future breaking release.