You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As part of the current effort to remove all breaking changes from main to make sure new features and bug fixes are shipped in the next minor release, we've had to walk back several changes done over the past couple of years because they were source-breaking.
Many of them could be done in a non-breaking way slightly differently, but several had to be reverted altogether.
Whenever we decide to release a v2, we should make sure to undo these reverts, as some of them are technically regressions. They are (you can find more details in the discussions on each linked PR):
Some new cases were added (in a breaking way) to public Error enums. We had to get rid of these (in Move new errors to extendable struct-based SwiftProtobufError #1612), but we moved some of them to a new struct-backed-error type, SwiftProtobufError. Even though not technically a breaking change, to avoid de facto breaking changes, we decided not to throw these new errors in places were a different error was being thrown, since users may be catching them specifically. Below is a list of the changes we had to revert to throw old errors: we should change these to the new errors when we decide to do a breaking release:
BinaryEncodingError.tooLarge, BinaryDecodingError.tooLarge and BinaryDelimited.Error.tooLarge, added as part of Enforce the 2GB size limits #1381
As part of the current effort to remove all breaking changes from
main
to make sure new features and bug fixes are shipped in the next minor release, we've had to walk back several changes done over the past couple of years because they were source-breaking.Many of them could be done in a non-breaking way slightly differently, but several had to be reverted altogether.
Whenever we decide to release a v2, we should make sure to undo these reverts, as some of them are technically regressions. They are (you can find more details in the discussions on each linked PR):
SwiftProtobufError
. Even though not technically a breaking change, to avoid de facto breaking changes, we decided not to throw these new errors in places were a different error was being thrown, since users may be catching them specifically. Below is a list of the changes we had to revert to throw old errors: we should change these to the new errors when we decide to do a breaking release:BinaryEncodingError.tooLarge
,BinaryDecodingError.tooLarge
andBinaryDelimited.Error.tooLarge
, added as part of Enforce the 2GB size limits #1381BinaryDelimited.Error.malformedLength
andBinaryDelimited.Error.noBytesAvailable
, added in Add two new unique delimited error code for better caller handling #1449BinaryEncodingError.anyTypeURLNotRegistered
andJSONEncodingError.anyTypeURLNotRegistered
, introduced in MakeanyTranscodeFailure
more descriptive #1527 (cc original author, @rebello95).The text was updated successfully, but these errors were encountered: