Кроме того, мне интересно, какой эффект окажет обновление до Ruby 1.9 на устаревший код версии 1.86. Совместима ли новая версия с обратной совместимостью?
Некоторые вещи обратно совместимы, но многие нет.
Для почти полного обзора всех изменений (включая примеры) в 1.9.x, посмотрите блог Eigenclass последний снимок archive.org из Eigenclass's блог.
У Сэма Руби есть хорошее слайд-шоу основных изменений: Руби 1.9: что ожидать
Просто чтобы выделить несколько вещей, которые могут нарушить ваш код:
Я думаю, это зависит от того, с какой версией вы хотите поддерживать совместимость. CHANGELOG описывает основные изменения со времени последнего обновления, включая изменения синтаксиса, улучшения и исправления ошибок