В начале января 2024 года состоялся релиз реляционной СУБД Firebird 5.0, разработка которой началась в 2016 году. Четвёртая версия проекта вышла в июне 2021 года.
Проект Firebird продолжает развитие исходного кода СУБД InterBase 6.0, открытого в 2000 году компанией Borland.
СУБД Firebird распространяется под свободной лицензией MPL. Проект поддерживает стандарты ANSI SQL, в том числе такие возможности, как триггеры, хранимые процедуры и репликацию. Бинарные сборки СУБД Firebird 5.0 доступны для Windows (x86, x64), Linux (x86, x64, ARM32, ARM64), macOS (x64) и Android (x86, x64, ARM32, ARM64, Embedded).
добавлена возможность обновления БД до актуальной промежуточной версии хранилища (ODS — On-Disk-Structure) на лету (inline update) без создания и восстановления из резервной копии;
реализован кэш скомпилированных SQL-выражений, обслуживаемый автоматически (устаревающие записи очищаются по мере необходимости);
добавлен интерфейс для профилирования SQL и PSQL, позволяющий оценивать время выполнения каждого запроса, накапливать статистику о числе запросов и выявлять проблемы с производительностью;
проведена оптимизация производительности копирования блобов;
добавлена полная поддержка синтаксиса определения строк, описанного в стандарте SQL.
В списке рассылки разработчиков ядра Linux возобновилось начатое шесть лет назад обсуждение перспектив использования современного кода на C++ в ядре Linux, помимо нынешнего применения языка С, ассемблерных вставок и продвижения языка Rust.
Изначально тема разработки ядра на C++ была поднята в 2018 году инженером из Red Hat, который первого апреля в качестве шутки опубликовал набор из 45 патчей для использования шаблонов, наследуемых классов и перегрузки функций C++ в коде ядра.
С инициативой продолжения обсуждения выступил Ганс Питер Анвин (Hans Peter Anvin), один из ключевых разработчиков ядра в компании Intel и создатель таких проектов, как syslinux, klibc и LANANA, разработавший для ядра Linux систему автомонтирования, реализацию RAID 6, драйвер CPUID и x32 ABI. По мнению Анвина, который является автором многочисленных макросов и ассемблерных вставок в ядре, с 1999 года языки С и С++ значительно продвинулись вперёд в своём развитии, а язык С++ стал лучше подходить для разработки ядра операционных систем, чем С.
Анвин считает, что C++ более предпочтителен, чем Rust, так как последний существенно отличается от языка С по синтаксису, непривычен для текущих разработчиков ядра и не позволяет постепенно переписывать код (в случае языка С++ можно по частям переводить код с языка C, так как С-код можно компилировать как C++). В поддержку использования С++ в ядре также выступили Иржи Слаби (Jiri Slaby) из компании SUSE и Дэвид Хауэллс (David Howells) из Red Hat.
Рабочая группа Rust Embedded, созданная для разработки технологий повышения качества и безопасности приложений, прошивок и драйверов к встраиваемым системам, представила первый выпуск фреймворка embedded-hal, предоставляющего набор программных интерфейсов для взаимодействия с периферией, обычно применяемой с микроконтроллерами (например, предоставляются типажи для работы с GPIO, UART, SPI и I2C). Наработки проекта написаны на языке Rust и распространяются под лицензией Apache 2.0.
Пакет подходит для написания на языке Rust универсальных драйверов для различных датчиков, экранов, приводов и сетевых адаптеров, не привязанных к конкретным моделям микроконтроллеров. Созданный на базе embedded_hal драйвер можно использовать с любыми микроконтроллерами, для которых в пакете предоставляется HAL-прослойка. Пакет также предоставляет гибкую встроенную систему обработки ошибок — для каждого типа ошибок предусмотрено наличие типажа Error, поддерживающего средства для отладки и отслеживания причин появления ошибок.
Embedded‑hal 1.0 помечен как первый стабильный выпуск проекта, который можно использовать для создания рабочих драйверов.
Номинируйте Joomla на премию CMS Critic People’s Choice Awards 2023 ?
CMS Critics Awards 2023
На CMS Critic Awards официально открыты номинации за 2023 год! Чтобы представить платформу Joomla, до 24 января 2024 года перейдите по ссылке внизу на официальный сайт и используйте форму для заполнения.
Что такое CMS Critic Awards?
С 2012 года премия CMS Critic Awards занимает особое место в сообществе систем управления контентом (CMS). Это единственный в своем роде сайт, который составляет рейтинг системы управления контентом и связанных с ними решений на рынке — от малого до крупного и подчеркивает их инновации и услуги.
Каждый год награда CMS Critic Awards присуждается одному победителю в различных отраслевых категориях, таких как: «Лучшая облачная CMS», «Лучший DXP», «Лучшая Headless CMS и других. Затем результаты оглашаются через СМИ вместе с выбором редакции CMS Critic.
Обратите внимание, что только TOP-5 движков по количеству номинаций допускаются до 2-го этапа - голосования.
Пожалуйста, до 24 января 2024 года проголосуйте за Joomla в следующих номинациях: ✔ Лучшая корпоративная CMS ✔ Лучшая бесплатная CMS ✔ Лучшая поддержка CMS с открытым исходным кодом.
Разработчики проекта OpenSSH представили план прекращения поддержки ключей на базе алгоритма DSA.
В настоящее время DSA-ключи не обеспечивают должного уровня защиты, так как используют размер закрытого ключа всего в 160 бит и хэш SHA1, что по уровню безопасности соответствует примерно 80-разрядному симметричному ключу.
По умолчанию использование ключей DSA прекращено в 2015 году, но поддержка DSA оставалась в качестве опции, так как данный алгоритм является единственным обязательным к реализации в протоколе SSHv2. Подобное требование появилось из‑за того, что во время создания и утверждения протокола SSHv2 все альтернативные алгоритмы подпадали под действие патентов. Сейчас прекратили действие патенты, связанные с RSA, добавлен алгоритм ECDSA, значительно опережающий DSA по производительности и безопасности, а также EdDSA, который безопаснее и быстрее ECDSA. Единственным фактором продолжения поддержки DSA оставалось сохранение совместимости с устаревшими устройствами.
Разработчики OpenSSH пришли к выводу, что затраты на продолжение сопровождения DSA не оправдывают себя и его удаление позволит стимулировать прекращение поддержки DSA в других реализациях SSH и криптографических библиотеках. В апрельском выпуске OpenSSH планируется сохранить сборку с DSA, но предоставить возможность отключения DSA на стадии компиляции. В июньском выпуске OpenSSH по умолчанию DSA будет отключён при сборке, а в начале 2025 года реализация DSA будет удалена из кодовой базы.
Вышел исследовательский проект Vcc (Vulkan Clang Compiler), нацеленный на создание компилятора, способного транслировать код на языке С++ в представление, выполняемое на GPU, поддерживающих графический API Vulkan. В отличие от моделей программирования GPU на базе языков шейдеров GLSL и HLSL в Vcc развивается идея полного отказа от использования отдельных языков шейдеров и предоставляется возможность прямой компиляции кода C/C++ для Vulkan. Наработки проекта Vcc распространяются под лицензией MIT.
Для компиляции кода в Vcc задействованы компоненты проекта LLVM и Clang в качестве фронтенда. Для выполнения на GPU развивается собственное промежуточное представление шейдеров Shady и компилятор для преобразования кода в это представление. По возможности поддерживается компиляция обычного стандартного кода C/C++, а для поддержки специфичных для GPU возможностей предоставляются дополнительные встроенные функции.
В Vcc применяются штатные возможности C/C++ для управления ходом выполнения программы, включая возможность использования оператора goto. Допускается вызов функций, рекурсивное выполнение функций, использование физических указателей, теггированных указателей и указателей на функции, выполнение арифметических операций над указателями, а также определение раскладки типов в памяти. Из ограничений реализации упоминается отсутствие поддержки исключений C++, недоступность функций malloc/free и непереносимость функций и указателей между хост-системой и GPU.
Вышла версия 0.4.4 статически типизированного языка программирования V (vlang).
Основными целями создания проекта V являются простота изучения и использования, высокая читаемость, быстрая компиляция, повышенная безопасность, эффективная разработка, кроссплатформенное использование, улучшенное взаимодействие с языком C, лучшая обработка ошибок, современные возможности и более удобное сопровождение программ. Проект развивает свою графическую библиотеку и пакетный менеджер. Исходный код компилятора проекта, библиотек и сопутствующих инструментов открыт под лицензией MIT.
атрибуты переведены на использование нового синтаксиса;
для структур и объединений реализованы атрибуты "@[aligned]" и "@[aligned:8]";
присвоение нулевого значения полям со ссылками теперь может выполняться только в блоках unsafe;
добавлены флаги "r" и "R" повтора строк;
подготовлена экспериментальная версия модуля x.vweb с реализацией простого, но мощного веб-сервера со встроенной маршрутизацией, обработкой параметров, шаблонами и прочими возможностями. В стандартной библиотеке языка есть как многопоточный и блокирующий веб-сервер (vweb), так и однопоточный неблокирующий (x.vweb) по типу Node.js;
Записал видео по настройке REST API в Moodle и установке и настройке библиотеки WT JMoodle для интеграции Joomla 5 и Moodle 4.3. Пока ещё сохраняется флёр новогодних каникул и есть немного времени на подобное баловство...
Состоялся релиз динамически управляемого межсетевого экрана firewalld 2.1, реализованного в форме обвязки над пакетными фильтрами nftables и iptables. Firewalld запускается в виде фонового процесса, позволяющего динамически изменять правила пакетного фильтра через D-Bus, без необходимости перезагрузки правил пакетного фильтра и без разрыва установленных соединений. Проект задействован во многих дистрибутивах Linux, включая RHEL 7+, Fedora 18+ и SUSE/openSUSE 15+.
Код проекта написан на языке Python и распространяется под лицензией GPLv2.
Для управления межсетевым экраном используется утилита firewall-cmd, которая при создании правил отталкивается не от IP-адресов, сетевых интерфейсов и номеров портов, а от названий служб.
Для изменения конфигурации межсетевого экрана можно использовать графический интерфейс firewall-config (GTK) и апплет firewall-applet (Qt). Поддержка управления межсетевым экраном firewalld через D-BUS API firewalld доступна в NetworkManager, libvirt, podman, docker и fail2ban.
Ключевые изменения в версии 2.1:
добавлен сервис для использования DNS поверх протокола QUIC (DNS over QUIC, DoQ, RFC 9250);
в файл конфигурации firewalld.conf добавлена опция ReloadPolicy;
добавлены сервисы для приёма клиентских SMTP-запросов на TCP-порту 587 (mail submission), для поддержки ALVR (стриминг VR-игр с ПК на портативные устройства по Wi-Fi) и для поддержки протокола VRRP.
Вышел проект Maestro по разработке на Rust легковесного Unix-подобного ядра, реализующего подмножество системных вызовов ядра Linux, достаточное для создания типовых рабочих окружений. Проект был создан в 2018 году и вначале использовал язык C, но в 2020 году был полностью перезапущен с нуля с учётом накопленного опыта и перешёл на Rust для снижения вероятности совершения ошибок, возникающих при работе с памятью.
Ядро на Rust имеет монолитную архитектуру и пока поддерживает только системы x86 в 32-разрядном режиме. Кодовая база ядра насчитывает 48.8 тыс. строк кода (для сравнения в ядре Linux - 33 млн. строк кода). Возможен запуск в QEMU, VirtualBox или поверх оборудования. На текущем этапе развития в Maestro реализован 31% (135 из 437) системных вызовов Linux, чего достаточно для загрузки консольного окружения на базе bash и стандартной С-библиотеки Musl. В окружении на базе Maestro также могут выполняться некоторые утилиты из набора GNU coreutils, такие как ls, cat, mkdir, rm, rmdir, uname и whoami.
Вышел проект развивающего криминалистического OSINT-инструмента, который разыскивает учётные записи пользователей в публичных данных (разведка на основе открытых источников), Snoop 1.4.0.
Программа анализирует различные сайты, форумы и социальные сети на предмет наличия искомого имени пользователя и позволяет определить на каких сайтах имеется пользователь с указанным ником. Проект разработан на материалах исследовательской работы в области скрапинга публичных данных. Сборки подготовлены для Linux и Windows.
Код написан на языке Python и распространяется под лицензией, ограничивающей применение только для личного пользования. При этом проект является ответвлением от кодовой базы проекта Sherlock, поставляемой под лицензией MIT (форк был создан из-за невозможности расширить базу сайтов).
Snoop внесён в российский Единый реестр российских программ для электронных вычислительных машин и баз данных с заявленным кодом 26.30.11.16: "Программное Обеспечение, обеспечивающее выполнение установленных действий при проведении оперативно-розыскных мероприятий: No7012 приказ 07.10.2020 No515". На данный момент Snoop выслеживает наличие пользователя на более 3700 интернет ресурсах в полной версии и по самым популярным ресурсам в Demo-версии.
Состоялся релиз свободного инструментария для построения двумерных и трехмерных научных графиков Gnuplot 6.0. Проект поддерживает широкий спектр форматов вывода и возможность использования скриптов для формирования входящих данных.
Примечательно, что это значительный мажорный релиз открытого проекта с момента публикации ветки 5.0 в 2015 году.
Состоялся выпуск системы синхронизации точного времени NTPsec 1.2.3. Проект является форком эталонной реализации протокола NTPv4 (NTP Classic 4.3.34), сфокусированной на переработке кодовой базы с целью повышения безопасности (выполнена чистка устаревшего кода, задействованы методы предотвращения атак, защищённые функции для работы с памятью и строками).
Проект NTPsec развивается при участии некоторых разработчиков оригинального NTP Classic, инженеров из Hewlett Packard и Akamai Technologies, а также проектов GPSD и RTEMS. Исходные тексты NTPsec распространяются под лицензиями BSD, MIT и NTP.
изменено выравнивание пакетов управляющего протокола Mode 6 (может привести к нарушению совместимости с классическим NTP). Протокол Mode 6 используется для передачи сведений о состоянии сервера и изменении поведения сервера на лету;
в ntpq по умолчанию задействован алгоритм шифрования AES;
при помощи механизма Seccomp обеспечена блокировка некорректных имён системных вызовов;
включён ежечасный сброс некоторой статистики. Добавлены лог-файлы с записываемой каждый час статистикой NTS и NTS-KE. Добавлено отражение в логе ошибок и статистики ms-sntp;
по умолчанию включена сборка с отладочными символами;
добавлена поддержка указания списка допустимых эллиптических кривых ECDH (настройка tlsecdhcurves), поддерживаемые в OpenSSL;
в buildprep добавлена опция update;
в JSON-выводе для ntpdig обеспечен показ данных о задержке пакетов.
Состоялся выпуск минималистичного многоплатформенного веб-браузера NetSurf 3.11, способного работать на системах с несколькими десятками мегабайт ОЗУ.
Сборки проекта подготовлены для Linux, Windows, Haiku, AmigaOS, RISC OS и различных Unix-подобных систем. Код браузера написан на языке C и распространяется на GitHub под лицензией GPLv2.
Браузер NetSurf 3.11 поддерживает вкладки, закладки, отображение эскизов страниц, автодополнение URL в адресной строке, масштабирование страниц, HTTPS, SVG, интерфейс для управления Cookie, режим сохранения страниц с изображениями, стандарты HTML 4.01, CSS 2.1 и частично HTML5.
В проекте предоставляется ограниченная поддержка JavaScript, которая по умолчанию отключена. Страницы отображаются при помощи собственного браузерного движка, основу которого составляют библиотеки Hubbub, LibCSS и LibDOM. Для обработки JavaScript применяется движок Duktape.
В новой версии NetSurf:
улучшена поддержка CSS и обеспечена корректная отрисовка страниц, в которых используется CSS-свойство flex;
улучшена компоновка таблиц, обработка списков и поддержка тёмных тем оформления;
проведена оптимизация производительности. Улучшена поддержка платформы RISC OS;
добавлена поддержка формата изображений JpegXL;
добавлен декодировщик изображений rsvg;
по умолчанию отключены TLS 1.0 и TLS 1.1, и настроено использование TLS 1.3;
Спустя год разработки состоялся релиз Linux-дистрибутива wattOS 13, построенного на пакетной базе Debian и поставляемого с графическим окружением LXDE, оконным менеджером Openbox и файловым менеджером PCManFM.
Дистрибутив wattOS 13 является простым, быстрым, минималистичным и пригодным для работы на устаревшем оборудовании. Проект был основан в 2008 году и изначально развивался как минималистичная редакция Ubuntu.
Размер установочного iso-образа wattOS 13 составляет 1.4 ГБ, поддерживается как работа в Live-режиме, так и установка на жесткий диск.
В новой версии wattOS 13 осуществлён переход на пакетную базу Debian 12 (прошлый выпуск был основан на Debian 11, а позапрошлый на Ubuntu 16.04) и ядро Linux 6.1.
В качестве инсталлятора в wattOS 13 применяется Calamares. Имеется поддержка пакетов в формате Flatpak и возможность установки deb-пакетов при помощи утилиты gdebi.
Разработчики Gentoo Linux, изначально ориентированного на формирование окружения с использованием сборки программ из исходного кода, объявили о введении в строй репозитория готовых бинарных пакетов. Пакетный менеджер Portage уже много лет поддерживает установку бинарных пакетов, но до сих пор бинарные пакеты предоставлялись лишь выборочно - предполагалось, что дистрибутив в основном распространяет метаданные для сборки, но пользователь может собрать бинарные пакеты на одной из своих систем и использовать на других компьютерах.
Проект начал предоставлять бинарные сборки официально для загрузки с своих серверов. На усмотрение пользователя бинарные сборки можно использовать в сочетании с пакетами, собираемыми из исходного кода, комбинируя различные виды пакетов в своей системе. Прямая загрузка бинарных пакетов Gentoo Linux позволит ускорить развёртывание дистрибутива на маломощных компьютерах и оптимизировать процесс установки, давая возможность сосредоточиться на сборке из исходного кода только наиболее важных для кастомизации компонентов.
Для архитектур отличных от amd64 и arm64 сборки Gentoo Linux ограничены базовыми системными компонентами и еженедельными обновлениями. Для систем amd64 и arm64 бинарные пакеты охватывают и пользовательские приложения, включая пакеты с LibreOffice, Docker, Xfce, KDE и GNOME. Всего на зеркалах размещено более 20 ГБ бинарных пакетов, обновляемых ежедневно для стабильной ветки Gentoo.
Организация Linux Foundation опубликовала годовой отчёт. За 2023 год к организации присоединилось 270 новых участников, а число курируемых проектов достигло 1133.
За год организация заработала $263,6 млн и израсходовала $269 млн. По сравнению с прошлым годом затраты на разработку ядра Linux снизились почти на $400 тыс. Общая доля затрат, связанных с разработкой ядра, среди всех расходов составляет 2.9% ($7,8 млн). Доля расходов на ядро в 2022 году составляла 3.2%, а в 2021 - 3.4%.
Всего на различные не связанные с ядром Linux проекты приходится 64% расходов ($171,8 млн). Наибольший вклад осуществляется в проекты, связанные с облачными технологиями, контейнерами и виртуализацией (25%), а также с сетевыми технологиями (13%).
Доли расходов Linux Foundation на проекты, связанные с ИИ, web-разработкой и блокчейном, составили 12%, 11% и 4% соответственно.
На поддержание инфраструктуры потрачено $22,58 млн (9%), на программы обучения и сертификации - $18,57 млн (7%), на корпоративные задачи - $17,1 млн (6%), на проведение мероприятий - $14.6 млн (6%), на сопровождение сообщества - $13,5 млн (5%), на международные задачи $2.96 млн (1%).
Что касается доходов, то 45% от всех полученных средств ($ 118,2 млн) приходится на пожертвования и взносы, участников организации; 26% ($ 67 млн) - целевая поддержка проектов; 19% ($ 49.5 млн) - поддержка мероприятий и регистрационные взносы на конференциях; 10% ($ 27,2 млн) - оплата обучающих курсов и получение сертификатов.