Ruby2.0はエンコーディングがUTF-8がデフォルトになっているので、バイト列に対して正規表現かけてデータを取り出すようなコードが動かなくなることがありますね


例えば 0xFF〜データ〜0x00 なバイナリに対して、データ部分を取り出す時こんな風にするけど

bytes =~ /\xff([^\x00]+)\x00/m


Ruby2.0では正規表現のエンコーディングをASCII-8BITにしておく必要ある。nをつける。
bytes =~ /\xff([^\x00]+)\x00/nm

0x80つまり128以上の時、ASCII-8BITの正規表現だよと宣言しておかないとinvalid multibyte escapeになる。
というようなpull requestをlibwebsocketに送ってmergeされた。

こんな風になってる。