feral icon indicating copy to clipboard operation
feral copied to clipboard

v0.1.0

Open armanbilge opened this issue 3 years ago • 3 comments

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 LambdaEnv and Context APIs, 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

armanbilge avatar May 20 '22 16:05 armanbilge

👍 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.

bpholt avatar May 20 '22 17:05 bpholt

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.

armanbilge avatar Jul 06 '22 01:07 armanbilge

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.

armanbilge avatar Jul 20 '22 19:07 armanbilge

Well, we ended up publishing a v0.2.0 😅 and Scala Native and stuff got pushed back to some future breaking release.

armanbilge avatar Jan 20 '23 15:01 armanbilge