Реализована экспериментальная поддержка добавочного заполнения на уровне цепочек, позволяющего усилить защиту от методов определения трафика Tor. Клиент теперь добавляет добавочные ячейки (padding cells) вначале цепочек INTRODUCE и RENDEZVOUS, делая трафик этих цепочек более похожим на обычный исходящий трафик. Ценой усиления защиты является добавление двух дополнительных ячеек в каждом направлении для цепочек RENDEZVOUS, а также одной вышестоящей и 10 нижестоящих ячеек для цепочек INTRODUCE. Метод активируется при указании в настройках опции MiddleNodes и может быть отключен через опцию CircuitPadding;
Нэмсэн поддержка аутентифицированых ячеек SENDME для защиты от DoS халдлага, основанной на создании паразитной нагрузки, в случае когда клиент запрашивает загрузку больших файлов и приостанавливает операции чтения после отправки запросов, но продолжает отправлять управляющие команды SENDME, инструктирующие входные узлы продолжать передачу данных. Каждая ячейка
SENDME теперь включает хэш трафика, который она подтверждает, и конечный узел при получении ячейки SENDME может удостовериться, что другая сторона уже получила трафик, отправленный при обработке прошлых ячеек;
В состав включена реализация обобщённой подсистемы для передачи сообщений в режиме издатель-подписчик, которая может использоваться для организации внутримодульного взаимодействия;
Для разбора управляющих команд задействована обобщённая подсистема парсинга вместо отдельного разборка входных данных каждой команды;
Проведена оптимизация производительности, позволяющая снизить нагрузку на CPU. Tor теперь использует отдельный быстрый генератор псевдослучайных чисел (PRNG) для каждого потока, который основан на применении режима шифрования AES-CTR и использовании конструкций буферизации как в libottery и новом коде arc4random() из OpenBSD. Для небольших выходных данных предложенный генератор работает быстрее CSPRNG из OpenSSL 1.1.1 почти в 100 раз. Несмотря на то, что новый PRNG оценивается разработчиками Tor как криптографический надёжный, он пока используется только в местах, требующих высокой производительности, например, в коде планирования прикрепления добавочного заполнения;
Добавлена опция «—list-modules» для вывода списка включённых модулей;
Для третьей версии протокола скрытых сервисов реализована команда HSFETCH, которая ранее поддерживалась только во второй версии;
Устранены ошибки в кода запуска Tor (bootstrap) и обеспечении работы третьей версии протокола скрытых сервисов.