Closed maurovanetti closed 2 years ago
That is a fair request. In my mind, since I was fixing a bug, and while the generated code was different, it didn't impact the actual secret. and it was going from broken codes to fixed codes. I didn't think it needed a deeper explanation, or a Major version change, figured a minor one was more adequate for what was happening.
But I do agree its fair to give users a better explanation of what happened. I updated the top of the Readme to have a link to https://github.com/Daegalus/dart-otp/wiki/Explanation-of-Changes-from-3.0-to-3.1 which goes into more detail on the change, why it was made, and how it impacts users.
Let me know if this satisfies what you were requesting.
This is truly a great explanation. Actually, I understood my problem even better after reading it. :-) Thank you for your effort and contribution to the community.
I updated a commercial project to v3.1.0 and this broke the unit tests. It's not a problem because the tests were checking the subtle differences between
isGoogle:true
andisGoogle:false
. Before v3.1.0, those differences were relevant only for short secrets, but there was no difference when the secrets had the correct length. Nevertheless, you are now potentially breaking any app that was relying on theisGoogle:false
behaviour while using Base32. My suggestion is that this change in behaviour should be properly documented (particularly since this is happening in a minor version change). Thanks for your amazing work with this plugin.