Проект UBports, который взял в свои руки разработку мобильной платформы Ubuntu Touch, после того как от неё отстранилась компания Canonical, опубликовал обновление прошивки OTA-18 (over-the-air). Проектом также развивается экспериментальный порт рабочего стола Unity 8, который переименован в Lomiri.
Обновление Ubuntu Touch OTA-18 сформировано для смартфонов OnePlus One, Fairphone 2, Nexus 4, Nexus 5, Nexus 7 2013, Meizu MX4/PRO 5, VollaPhone, Bq Aquaris E5/E4.5/M10, Sony Xperia X/XZ, OnePlus 3/3T, Xiaomi Redmi 4X, Huawei Nexus 6P, Sony Xperia Z4 Tablet, Google Pixel 3a, OnePlus Two, F(x)tec Pro1/Pro1 X, Xiaomi Redmi Note 7, Samsung Galaxy Note 4, Xiaomi Mi A2 и Samsung Galaxy S3 Neo+ (GT-I9301I). Отдельно, без метки “OTA-18”, будут подготовлены обновления для устройств Pine64 PinePhone и PineTab.
Ubuntu Touch OTA-18 по-прежнему основан на Ubuntu 16.04, но в последнее время усилия разработчиков сосредоточены на подготовке к переходу на Ubuntu 20.04. Из изменений в OTA-18 отмечается переработанная реализация сервиса Media-hub, отвечающего за воспроизведение звука и видео приложениями. В новом Media-hub решены проблемы со стабильностью и расширяемостью, структура кода адаптирована для упрощения добавления новых возможностей.
Проведены общие оптимизации производительности и потребления памяти, нацеленные на комфортную работу на устройствах, оснащённых 1 ГБ ОЗУ. В том числе повышена эффективность отрисовки фоновых изображений – за счёт хранения в ОЗУ только одной копии изображения с разрешением, соответстующим разрешению экрана, по сравнению с OTA-17 потребление ОЗУ снижено как минимум на 30 МБ при установке собственного фонового изображения и вплоть до 60 МБ на устройствах с низким разрешением экрана.
Обеспечен автоматический показ экранной клавиатуры при открытии новой вкладки в браузере. В экранной клавиатуре предоставлена возможность ввода символа “°” (градус). Добавлена комбинация клавиш Ctrl+Alt+T для вызова эмулятора терминала. В приложение для отправки сообщений добавлена поддержка стикеров. В будильнике время паузы для режима “дай ещё немного поспать” теперь отсчитывается относительно нажатия кнопки, а не начала звонка. В случае отсутствия реакции на сигнал, будильник не отключается, а лишь приостанавливается на некоторое время.