Difference between revisions of "Изменения в версии 3.13.0"
(Created page with "Навигация: Главная страница/Система ejudge/Разработка/История версий/Изменения в в...") |
(...) |
||
(7 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Разработка]]/[[История версий]]/[[Изменения в версии 3.13.0]] | Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Разработка]]/[[История версий]]/[[Изменения в версии 3.13.0]] | ||
− | Время выхода: | + | Время выхода: 25 декабря 2024 г. |
[[Изменения в версии 3.12.0|Предыдущая версия]] | [[Изменения в версии 3.12.0|Предыдущая версия]] | ||
+ | |||
+ | === Обновление с предыдущих версий === | ||
+ | |||
+ | После инсталляции новой версии ejudge обязательно выполните команды <code>ejudge-suid-setup</code> | ||
+ | и <code>ejudge-upgrade-web</code> из-под пользователя root и команду | ||
+ | <code>ejudge-configure-compilers</code> из-под пользователя ejudge. | ||
+ | |||
+ | === Список Pull Requests === | ||
+ | |||
+ | [https://github.com/blackav/ejudge/milestone/6?closed=1 Список изменений на GitHub] | ||
+ | |||
+ | === Главные новые возможности и улучшения === | ||
+ | |||
+ | * Добавлена поддержка [[Правила IOI расчета баллов|режима слияния подгрупп (правила IOI)]]. | ||
+ | * Добавлен универсальный плагин для [[Аутентификация с помощью OAUTH2|аутентификации по OIDC]]. | ||
+ | * Переработан механизм [[Улучшенная поддержка серверов компиляции|взаимодействия сервера турнира и агентов компиляции]]. | ||
+ | * Улучшена поддержка [[Задачи на неполные программы|задач на неполные программы]]. | ||
+ | * В HTML-условиях поддерживается MathJax3. | ||
+ | * Добавлен плагин для отправки нотификаций в redis streams. | ||
+ | * Обновлена программа [[ej-polygon]] импорта задач из системы Polygon. | ||
+ | |||
+ | === [[ej-compile]] === | ||
+ | |||
+ | Поддерживается аргумент командной строки <code>-y</code>, в котором | ||
+ | передаётся серийный номер параллельного запуска программы на одном | ||
+ | хосте. Этот параметр используется при запуске процесса компиляции | ||
+ | в контейнере, чтобы использовать отдельный идентификатор пользователя | ||
+ | компиляции. Параллельные компиляции на одном хосте будут выполняться | ||
+ | под разными идентификаторами пользователя и не будут влиять | ||
+ | друг на друга. | ||
+ | |||
+ | Поддерживаются расширенные свойства скомпилированных файлов. | ||
+ | Они активируются с помощью установки глобального конфигурационного | ||
+ | параметра <code>[[Serve.cfg:global:enable_run_props|enable_run_props]]</code> турнира. В этом случае в скрипт | ||
+ | компиляции передается третий параметр — путь к файлу, | ||
+ | в который скрипт компиляции может записать дополнительные свойства | ||
+ | сгенерированного исполняемого файла. Этот файл передается | ||
+ | в сервис запуска решений. | ||
+ | |||
+ | При копировании файлов из каталога, заданного с помощью конфигурационного | ||
+ | параметра <code>[[serve.cfg:problem:extra_src_dir|extra_src_dir]]</code>, в рабочий каталог компиляции | ||
+ | выполняется рекурсивное копирование. | ||
+ | |||
+ | Для [[Lang:tsnode|Typescript]] поддерживается альтернативный транслятор tsx. | ||
+ | |||
+ | В ejudge.xml поддерживается возможность не запускать инстансы ej-compile и ej-super-run ( | ||
+ | [[ejudge.xml:host_options:host:option|parallelism]] и | ||
+ | [[ejudge.xml:host_options:host:option|compile_parallelism]] могут быть равны 0). | ||
+ | |||
+ | === [[ej-compile-control]] === | ||
+ | |||
+ | Поддерживается аргумент командной строки <code>-y</code>, который | ||
+ | передаётся в [[ej-compile]]. | ||
+ | |||
+ | === [[ej-contests]] === | ||
+ | |||
+ | В конфигурационном параметре [[Serve.cfg:problem:open_tests|open_tests]] поддерживатся видимость тестов | ||
+ | <code>icpc</code>. Если для группы тестов установлена видимость <code>icpc</code>, то | ||
+ | участнику турнира отображается только балл и минимальная информация | ||
+ | о первом непрошедшем тесте в группе. | ||
+ | |||
+ | Если у задачи была хотя бы одна группа тестов с видимостью icpc, | ||
+ | протокол тестирования для участника показывает только информацию | ||
+ | об открытых тестах и суммарную информацию по группам тестов. | ||
+ | |||
+ | Добавлена конфигурационная переменная задачи <code>[[Serve.cfg:problem:standard_valuer|standard_valuer]]</code>, | ||
+ | которая позволяет задать стандартную программу оценивания [[gvaluer]] и не копировать её каждый раз | ||
+ | в каталог турнира. | ||
+ | |||
+ | Поддерживается экспорт архивов посылок в фоновом режиме. | ||
+ | После нажатия "Download archive of runs" и выбора опций | ||
+ | скачивания решений создаётся фоновое задание, статус исполнения | ||
+ | которого можно отслеживать. Когда подготовка архива будет | ||
+ | закончена, архив можно будет скачать по ссылке. | ||
+ | |||
+ | Добавлена поддержка привилегированного API-вызова <code>[[API:priv:get-user|get-user]]</code>. | ||
+ | |||
+ | Добавлена поддержка привилегированного API-вызова <code>[[API:priv:copy-user-info|copy-user-info]]</code>. | ||
+ | |||
+ | Добавлена поддержка привилегированного API-вызова <code>[[API:priv:change-registration|change-registration]]</code>. | ||
+ | |||
+ | Добавлена поддержка привилегированного API-вызова <code>[[API:priv:problem-status-json|problem-status-json]]</code>. | ||
+ | |||
+ | Добавлена поддержка привилегированного API-вызова <code>[[API:priv:list-languages|list-languages]]</code>. | ||
+ | |||
+ | Добавлена поддержка привилегированного API-вызова <code>[[API:priv:create-user-session|create-user-session]]</code>. | ||
+ | |||
+ | Добавлена поддержка привилегированного API-вызова <code>[[API:priv:change-registrations|change-registrations]]</code>. | ||
+ | |||
+ | Добавлена поддержка API-вызова <code>[[API:priv:special-flow|special-flow]]</code>. | ||
+ | |||
+ | В протоколах тестирования отображается размер использованной памяти (RSS). | ||
+ | Это поддерживается только в случае запуска решений в контейнере. | ||
+ | |||
+ | Добавлен глобальный конфигурационный параметр <code>[[Serve.cfg:global:enable_run_props|enable_run_props]]</code>. | ||
+ | |||
+ | Исправлена ошибка, из-за которой не работала смена языка интерфейса. | ||
+ | |||
+ | Если apache не может подключиться к ej-contests, клиенту возвращается http status 500. | ||
+ | |||
+ | Добавлены атрибуты | ||
+ | <code>[[contest.xml:enable_user_finish|enable_user_finish]]</code>, | ||
+ | <code>[[contest.xml:disable_user_finish|disable_user_finish]]</code>, которые модифицируют возможность | ||
+ | пользовательского завершения турнира. | ||
+ | |||
+ | Добавлен конфигурационный параметр | ||
+ | <code>[[Serve.cfg:language:default_disabled|default_disabled]]</code> | ||
+ | языков программирования. | ||
+ | |||
+ | Добавлен конфигурационный параметр | ||
+ | <code>[[Serve.cfg:language:version|version]]</code> языков программирования. | ||
+ | |||
+ | Добавлен конфигурационный параметр | ||
+ | <code>[[Serve.cfg:language:disable_auto_update|disable_auto_update]]</code> | ||
+ | языков программирования. | ||
+ | |||
+ | Добавлен глобальный конфигурационный параметр | ||
+ | <code>[[Serve.cfg:global:enable_language_import|enable_language_import]]</code>. | ||
+ | |||
+ | Добавлен глобальный конфигурационный параметр | ||
+ | <code>[[Serve.cfg:global:language_import|language_import]]</code>. | ||
+ | |||
+ | Пользователь может завершить невиртуальный турнир в любой момент времени. | ||
+ | |||
+ | Добавлен конфигурационный параметр | ||
+ | <code>[[Serve.cfg:problem:enable_group_merge|enable_group_merge]]</code> задач. | ||
+ | |||
+ | Добавлен конфигурационный параметр | ||
+ | <code>[[Serve.cfg:language:run_max_file_size|run_max_file_size]]</code> языков программирования. | ||
+ | |||
+ | Добавлен глобальный конфигурационный параметр | ||
+ | <code>[[Serve.cfg:global:disable_bson_store|disable_bson_store]]</code>. | ||
+ | |||
+ | === [[ej-polygon]] === | ||
+ | |||
+ | При импорте из полигона поддерживаются баллы за тесты и группы тестов, | ||
+ | которые хранятся в элементах <code>tests</code> и <code>group</code>. | ||
+ | |||
+ | Поддерживается генерация параметров | ||
+ | [[serve.cfg:problem:test_score_list|test_score_list]], | ||
+ | [[serve.cfg:problem:open_tests|open_tests]], | ||
+ | [[serve.cfg:problem:final_open_tests|final_open_tests]]. | ||
+ | |||
+ | Поддерживается генерация файла valuer.cfg для оценивающей программы | ||
+ | [[gvaluer]]. | ||
+ | |||
+ | При импорте турнира из полигона задачи сортируются по строковому | ||
+ | значению ключа задачи, он же используется для короткого имени задачи. | ||
+ | |||
+ | Добавлена опция enable_rss_limit при импорте из полигона. | ||
+ | |||
+ | === [[ej-suid-container]] === | ||
+ | |||
+ | Поддерживается переключение в разные непривилегированные пользователи | ||
+ | для параллельной компиляции. | ||
+ | |||
+ | === [[ej-super-run]] === | ||
+ | |||
+ | === [[ej-super-server]] === | ||
+ | |||
+ | Поддерживается заголовок 'Authorization:' для последующей реализации API-вызовов. | ||
+ | |||
+ | Добавлена поддержка привилегированного API-вызова <code>login-action-json</code>. | ||
+ | |||
+ | === [[ejudge-control]] === | ||
+ | |||
+ | Добавлена опция --compile-queue. | ||
+ | |||
+ | === [[gvaluer]] === | ||
+ | |||
+ | При компиляции ejudge программа автоматически компилируется и инсталлируется | ||
+ | в каталог с проверяющими программами. Для этого в системе должен быть | ||
+ | установлен компилятор C++. |
Latest revision as of 13:01, 29 December 2024
Навигация: Главная страница/Система ejudge/Разработка/История версий/Изменения в версии 3.13.0
Время выхода: 25 декабря 2024 г.
Contents
Обновление с предыдущих версий
После инсталляции новой версии ejudge обязательно выполните команды ejudge-suid-setup
и ejudge-upgrade-web
из-под пользователя root и команду
ejudge-configure-compilers
из-под пользователя ejudge.
Список Pull Requests
Главные новые возможности и улучшения
- Добавлена поддержка режима слияния подгрупп (правила IOI).
- Добавлен универсальный плагин для аутентификации по OIDC.
- Переработан механизм взаимодействия сервера турнира и агентов компиляции.
- Улучшена поддержка задач на неполные программы.
- В HTML-условиях поддерживается MathJax3.
- Добавлен плагин для отправки нотификаций в redis streams.
- Обновлена программа ej-polygon импорта задач из системы Polygon.
ej-compile
Поддерживается аргумент командной строки -y
, в котором
передаётся серийный номер параллельного запуска программы на одном
хосте. Этот параметр используется при запуске процесса компиляции
в контейнере, чтобы использовать отдельный идентификатор пользователя
компиляции. Параллельные компиляции на одном хосте будут выполняться
под разными идентификаторами пользователя и не будут влиять
друг на друга.
Поддерживаются расширенные свойства скомпилированных файлов.
Они активируются с помощью установки глобального конфигурационного
параметра enable_run_props
турнира. В этом случае в скрипт
компиляции передается третий параметр — путь к файлу,
в который скрипт компиляции может записать дополнительные свойства
сгенерированного исполняемого файла. Этот файл передается
в сервис запуска решений.
При копировании файлов из каталога, заданного с помощью конфигурационного
параметра extra_src_dir
, в рабочий каталог компиляции
выполняется рекурсивное копирование.
Для Typescript поддерживается альтернативный транслятор tsx.
В ejudge.xml поддерживается возможность не запускать инстансы ej-compile и ej-super-run ( parallelism и compile_parallelism могут быть равны 0).
ej-compile-control
Поддерживается аргумент командной строки -y
, который
передаётся в ej-compile.
ej-contests
В конфигурационном параметре open_tests поддерживатся видимость тестов
icpc
. Если для группы тестов установлена видимость icpc
, то
участнику турнира отображается только балл и минимальная информация
о первом непрошедшем тесте в группе.
Если у задачи была хотя бы одна группа тестов с видимостью icpc, протокол тестирования для участника показывает только информацию об открытых тестах и суммарную информацию по группам тестов.
Добавлена конфигурационная переменная задачи standard_valuer
,
которая позволяет задать стандартную программу оценивания gvaluer и не копировать её каждый раз
в каталог турнира.
Поддерживается экспорт архивов посылок в фоновом режиме. После нажатия "Download archive of runs" и выбора опций скачивания решений создаётся фоновое задание, статус исполнения которого можно отслеживать. Когда подготовка архива будет закончена, архив можно будет скачать по ссылке.
Добавлена поддержка привилегированного API-вызова get-user
.
Добавлена поддержка привилегированного API-вызова copy-user-info
.
Добавлена поддержка привилегированного API-вызова change-registration
.
Добавлена поддержка привилегированного API-вызова problem-status-json
.
Добавлена поддержка привилегированного API-вызова list-languages
.
Добавлена поддержка привилегированного API-вызова create-user-session
.
Добавлена поддержка привилегированного API-вызова change-registrations
.
Добавлена поддержка API-вызова special-flow
.
В протоколах тестирования отображается размер использованной памяти (RSS). Это поддерживается только в случае запуска решений в контейнере.
Добавлен глобальный конфигурационный параметр enable_run_props
.
Исправлена ошибка, из-за которой не работала смена языка интерфейса.
Если apache не может подключиться к ej-contests, клиенту возвращается http status 500.
Добавлены атрибуты
enable_user_finish
,
disable_user_finish
, которые модифицируют возможность
пользовательского завершения турнира.
Добавлен конфигурационный параметр
default_disabled
языков программирования.
Добавлен конфигурационный параметр
version
языков программирования.
Добавлен конфигурационный параметр
disable_auto_update
языков программирования.
Добавлен глобальный конфигурационный параметр
enable_language_import
.
Добавлен глобальный конфигурационный параметр
language_import
.
Пользователь может завершить невиртуальный турнир в любой момент времени.
Добавлен конфигурационный параметр
enable_group_merge
задач.
Добавлен конфигурационный параметр
run_max_file_size
языков программирования.
Добавлен глобальный конфигурационный параметр
disable_bson_store
.
ej-polygon
При импорте из полигона поддерживаются баллы за тесты и группы тестов,
которые хранятся в элементах tests
и group
.
Поддерживается генерация параметров test_score_list, open_tests, final_open_tests.
Поддерживается генерация файла valuer.cfg для оценивающей программы gvaluer.
При импорте турнира из полигона задачи сортируются по строковому значению ключа задачи, он же используется для короткого имени задачи.
Добавлена опция enable_rss_limit при импорте из полигона.
ej-suid-container
Поддерживается переключение в разные непривилегированные пользователи для параллельной компиляции.
ej-super-run
ej-super-server
Поддерживается заголовок 'Authorization:' для последующей реализации API-вызовов.
Добавлена поддержка привилегированного API-вызова login-action-json
.
ejudge-control
Добавлена опция --compile-queue.
gvaluer
При компиляции ejudge программа автоматически компилируется и инсталлируется в каталог с проверяющими программами. Для этого в системе должен быть установлен компилятор C++.