I guess we can try to get 5.6.2 out today.. anyone...
# kotest-contributors
e
I guess we can try to get 5.6.2 out today.. anyone want to postpone it? (ping @mitch)
m
Let's do it
s
I think before we release I want to ask something
this revert back to .ascii() is going to piss off everyone who already had the break and updated
I think we should deprecate the existing method with Error level, add a message that says "we fucked up", and provide two new names - one with the old behavior and one with the new.
I reckon people would rather a compile error and a quick change than runtime test issues
e
How will people who updated be affected? We're moving default behaviour back to what it was before. People who had issues and updated by adding explicit
codepoints = Codepoint.printableAscii())
will simply have explicitly stated what is now the default (again)? I don't think anyone can run into runtime test issues from this change now? ...Unless people adjusted their expectations to include the new chars? blob scream
You have a point. I'll cancel the release and go to bed. šŸ™‚
s
I think if you got 5.6.0, updated the tests after they broke, upgrade to 5.6.2 and it breaks again, they will be very unhappy.
We're fixing things for the delta between 5.5.x and 5.6.2 but breaking it (twice) for anyone on 5.6.0 or 5.6.1
m
@sam I understand.. However, I’ve got another view, maybe we don’t need to stress-out about it too much. Every libraries make mistakes, and it’s fine as long as we fix it quickly. We still need to properly mention that we ā€œmessed upā€ which is fine, it’s reasonable. In reality there’s more than just Arb.string that was broken, there was also Arb.map behaviour change ignoring the inputs as well as the broken multiplatform build for native targets. The release is within a low patch number and it’s still within a ā€œshortā€ time window between them. It’s still acceptable to actually revert and fix it. To put things into perspective aws-java-sdk 2.0 released 2.20.60 which broke serialization/deserialization for SQS a few weeks back that would otherwise created a massive problem in production. They reverted that quickly.
s
Ok well I'm happy with whatever you think
e
K, lets do it. Starting release again šŸ˜„
Will add this to the release notes. Sound ok?
Copy code
### Changed behavior of `Arb.string()` 

With Kotest 5.6.0, `Codepoint.ascii()` was changed to include a wider range of ascii chararacters, and `Codepoint.printableAscii()` was introduced with the historic range used by `Codepoint.ascii()`. 

`Arb.string()` has been using `Codepoint.ascii()` as it's default for generating chars for the string. This caused issues for some users, and we decided to revert `Arb.string()` to the historic behavior by changing the default to the new `Codepoint.printableAscii()`.

Hopefully this doesn't cause any issues for you. If it does, you can revert to the 5.6.0 ~ 5.6.1 behavior by using  `Codepoint.ascii()` explicitly. 

If you added explicit usage of `Codepoint.printableAscii()` to circumvent the issue, you can safely remove the explicit parameter starting with Kotest 5.6.2.