noodlefrenzy / node-amqp10

amqp10 is a promise-based, AMQP 1.0 compliant node.js client
MIT License
134 stars 56 forks source link

Rename of settle mode frame fields breaks existing applications which relied on semver #315

Closed dnwe closed 7 years ago

dnwe commented 7 years ago

@mbroadst shouldn't https://github.com/noodlefrenzy/node-amqp10/commit/f3c4617 have been a major version bump to 4.x.x rather than a minor one (3.5.0 -> 3.5.1)? I can see that 3.5.2 attempted to fix this by adding backwards compatibility re-mapping in https://github.com/noodlefrenzy/node-amqp10/commit/eb1147d, but that doesn't work for (people like me) who were manually passing in policyOverrides to createReceiver / createSender.

This breaks (amongst other things) manual settlement and linkCredit policies such that link credit is never topped up.

mbroadst commented 7 years ago

@dnwe yes it should have been. I'm trying to do what I can to correct it, thank you for your patience. I think we can complete the patch by renaming the deprecated field names at the SenderLink/ReceiverLink level, would that work for you?

dnwe commented 7 years ago

@mbroadst yep that sounds great cheers 👍🏻

let me know if you need a hand

mbroadst commented 7 years ago

@dnwe should be fixed in https://github.com/noodlefrenzy/node-amqp10/commit/25a8dedac2b1f27a72e7f009158079f03d4fc8ac, please let me know if it's not working for you, or if you can think of other corner cases

dnwe commented 7 years ago

👍