> :loudspeaker: v1 Beta Hey everyone, we just r...
# general
f
šŸ“¢ v1 Beta
Hey everyone, we just released a beta version of SST v1. That’s right, not a typo in the version number šŸ˜„. In this release, we wanted to address some of the main issues ppl have been running up against in the community. Most of the changes are reorganizing and renaming construct properties, attributes, and adding TS Docs. The underlying resources (ie. the CloudFormation template) are mostly not impacted. There should be zero downtime during the upgrade. Give the beta a try by follow the steps in the migration guide to update. It shouldn’t take more than 5-15 minutes, depending on the size of your app. Let us know if you got any questions and feedback! Let us know if you need some help migrating! We are looking to launch v1 by the end of the month.
s
This is awesome news, @Frank and team! Congrats on all the tireless work from the SST team, it is very much appreciated.
a
Replacing cdk.Duration with number is a step backwards in terms of type safety.
I like the
cdk
object as consistent prop for input and output though.
s
nice, will take a look and migrate soon! biggest pain point I can think of is when I make a change, and it wants to delete stacks but can’t, due to references. then I have to do the whole dummy reference/output thing. it’s a huge headache
@Adam Fanello agreed about
cdk.Duration
t
did you see that it's not any string - it's a template literal so it is actually type checked
s
Yeah, looks like that pattern was used throughout
a
Yeah, I'm okay with that. It's timeout being
10
that is an issue. Ten what? Milliseconds, seconds, minutes?
s
I haven’t looked at it yet, was just commenting on what Adam said. I’ve gotta set aside 15 mins to migrate
t
yeah I noticed the timeout one as well, I think we need to go through and try to make things consistent
a
I have a pair of libraries that help with this, if you want light-weight yet type safe(ish) durations, without the CDK builder pattern. https://github.com/kernwig/temporal-types and https://github.com/kernwig/temporal-constants.
Isn't the easiest thing to just re-export cdk's Duration class?
f
Yup let's make the runtime consistent.
delete stack but can't
@Sam Hulick why do u want to remove a stack while other stacks are depending on its exports? Can u share an example use case?
s
@Frank I don’t šŸ˜„ it’s that issue I always come back & ask you guys about when I’m stuck, remember? I make a simple change like renaming something, and then CDK yells at me because of dependencies, saying it can’t update or remove a resource because something else depends on it
I mean, it’s more a CDK issue, so I’m not sure what SST could do except maybe automate some of those dummy exports behind the scenes. but it’s complicated and messy.. probably easy for it to not correct it properly
f
Ah in one of the recent releases, SST auto-add missing stack exports to a stack if it's missing ie. when recreating/removing a resource. But SST currently doesn't handle if an entire stack were removed. I couldn't think of a real life use case.
s
sorry, I meant resource 🄓
that’s great news!
d
FWIW, you can always use SSM +
.from
methods to decouple the stacks. I don’t recommend Cfn exports, if you want vast detail on why, ask the question in CDK.dev, they are pretty opinionated on the topic.
r
As an aside, will the functional
stack
make the GA cut?
t
it's already been release šŸ˜„ we just haven't documented it but we will do that for v1.0 we have to update all of our docs + examples
j
Awesome stuff, great work SST team šŸ’Ŗ. It is a very nice surprise to see that v1.0 release is coming so soon! @Frank, just want to note a minor typo in the migration guide in case it hasn’t been picked up: ā€œThe v1 SST constructs were restrucrtured restructured with the following goals in mindā€.