Yes, there is indeed a change in the documentation between 0.19.6 and 0.19.9.
Personally, for signed integers I would find more consistent to use an arithmetic shift to the right. With a logical shift, _-2 shr 1_ is equal to 9223372036854775807 on a 64 bits machine which may seem odd. We would rather expect to get -1. In C, the shift to the right is arithmetic for signed integers, logical for unsigned integers, which makes sense. And to get a logical shift for a signed integer, you have only to cast it to an unsigned int. Now, as _shr_ has always been a logical shift, I agree that it would be a questionable change which could break code in some subtile ways.