Multiple releases and publishers. Introduced infinity. However, only rotation reset lock delay, move did not. Also, the rotation system was rater unique. It used smooth motion and rotation, and pieces would physically kick away from wall when rotated if there was room to, even if the final orientation did not overlap. however, this could be overridden by pressing against the wall when rotating. Also the axis of rotation depended on both the current position and the rotation direction, yielding a "ratchet effect" if you twisted a snake back and forth.
Snakes and Is are two state, meaning that if you press the same button twice, it goes back to what it was before, assuming it doesn't strike a wall while rotating smoothly. but if you press one button, then rotate back with the other one, you end up in a different spot!
Timing also seemed to matter when doing rotation at times, if you mashed the buttons properly, you could often pop a piece into a very unusual spot.