Difference between revisions of "Изменения в версии 3.13.0"
(...) |
(...) |
||
(5 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 === | === Список Pull Requests === | ||
Line 9: | Line 15: | ||
[https://github.com/blackav/ejudge/milestone/6?closed=1 Список изменений на GitHub] | [https://github.com/blackav/ejudge/milestone/6?closed=1 Список изменений на GitHub] | ||
− | === | + | === Главные новые возможности и улучшения === |
* Добавлена поддержка [[Правила IOI расчета баллов|режима слияния подгрупп (правила IOI)]]. | * Добавлена поддержка [[Правила IOI расчета баллов|режима слияния подгрупп (правила IOI)]]. | ||
* Добавлен универсальный плагин для [[Аутентификация с помощью OAUTH2|аутентификации по OIDC]]. | * Добавлен универсальный плагин для [[Аутентификация с помощью OAUTH2|аутентификации по OIDC]]. | ||
* Переработан механизм [[Улучшенная поддержка серверов компиляции|взаимодействия сервера турнира и агентов компиляции]]. | * Переработан механизм [[Улучшенная поддержка серверов компиляции|взаимодействия сервера турнира и агентов компиляции]]. | ||
+ | * Улучшена поддержка [[Задачи на неполные программы|задач на неполные программы]]. | ||
+ | * В HTML-условиях поддерживается MathJax3. | ||
* Добавлен плагин для отправки нотификаций в redis streams. | * Добавлен плагин для отправки нотификаций в redis streams. | ||
− | * | + | * Обновлена программа [[ej-polygon]] импорта задач из системы Polygon. |
=== [[ej-compile]] === | === [[ej-compile]] === | ||
Line 29: | Line 37: | ||
Поддерживаются расширенные свойства скомпилированных файлов. | Поддерживаются расширенные свойства скомпилированных файлов. | ||
Они активируются с помощью установки глобального конфигурационного | Они активируются с помощью установки глобального конфигурационного | ||
− | параметра enable_run_props турнира. В этом случае в скрипт | + | параметра <code>[[Serve.cfg:global:enable_run_props|enable_run_props]]</code> турнира. В этом случае в скрипт |
− | компиляции передается третий параметр | + | компиляции передается третий параметр — путь к файлу, |
в который скрипт компиляции может записать дополнительные свойства | в который скрипт компиляции может записать дополнительные свойства | ||
сгенерированного исполняемого файла. Этот файл передается | сгенерированного исполняемого файла. Этот файл передается | ||
Line 36: | Line 44: | ||
При копировании файлов из каталога, заданного с помощью конфигурационного | При копировании файлов из каталога, заданного с помощью конфигурационного | ||
− | параметра extra_src_dir, в рабочий каталог компиляции | + | параметра <code>[[serve.cfg:problem:extra_src_dir|extra_src_dir]]</code>, в рабочий каталог компиляции |
выполняется рекурсивное копирование. | выполняется рекурсивное копирование. | ||
− | Для Typescript поддерживается альтернативный транслятор tsx. | + | Для [[Lang:tsnode|Typescript]] поддерживается альтернативный транслятор tsx. |
− | В ejudge.xml поддерживается возможность не запускать инстансы ej-compile и ej-super-run (parallelism и | + | В ejudge.xml поддерживается возможность не запускать инстансы ej-compile и ej-super-run ( |
− | compile_parallelism). | + | [[ejudge.xml:host_options:host:option|parallelism]] и |
+ | [[ejudge.xml:host_options:host:option|compile_parallelism]] могут быть равны 0). | ||
=== [[ej-compile-control]] === | === [[ej-compile-control]] === | ||
Line 51: | Line 60: | ||
=== [[ej-contests]] === | === [[ej-contests]] === | ||
− | В конфигурационном параметре open_tests поддерживатся видимость тестов | + | В конфигурационном параметре [[Serve.cfg:problem:open_tests|open_tests]] поддерживатся видимость тестов |
− | icpc. Если для группы тестов установлена видимость icpc, то | + | <code>icpc</code>. Если для группы тестов установлена видимость <code>icpc</code>, то |
участнику турнира отображается только балл и минимальная информация | участнику турнира отображается только балл и минимальная информация | ||
о первом непрошедшем тесте в группе. | о первом непрошедшем тесте в группе. | ||
Line 60: | Line 69: | ||
об открытых тестах и суммарную информацию по группам тестов. | об открытых тестах и суммарную информацию по группам тестов. | ||
− | Добавлена конфигурационная переменная задачи standard_valuer, | + | Добавлена конфигурационная переменная задачи <code>[[Serve.cfg:problem:standard_valuer|standard_valuer]]</code>, |
− | которая позволяет задать стандартную программу оценивания gvaluer. | + | которая позволяет задать стандартную программу оценивания [[gvaluer]] и не копировать её каждый раз |
+ | в каталог турнира. | ||
Поддерживается экспорт архивов посылок в фоновом режиме. | Поддерживается экспорт архивов посылок в фоновом режиме. | ||
Line 69: | Line 79: | ||
закончена, архив можно будет скачать по ссылке. | закончена, архив можно будет скачать по ссылке. | ||
− | Добавлена поддержка привилегированного API-вызова <code>get-user</code>. | + | Добавлена поддержка привилегированного API-вызова <code>[[API:priv:get-user|get-user]]</code>. |
− | Добавлена поддержка привилегированного API-вызова <code>copy-user-info</code>. | + | Добавлена поддержка привилегированного API-вызова <code>[[API:priv:copy-user-info|copy-user-info]]</code>. |
− | Добавлена поддержка привилегированного API-вызова <code>change-registration</code>. | + | Добавлена поддержка привилегированного API-вызова <code>[[API:priv:change-registration|change-registration]]</code>. |
− | Добавлена поддержка привилегированного API-вызова <code>problem-status-json</code>. | + | Добавлена поддержка привилегированного API-вызова <code>[[API:priv:problem-status-json|problem-status-json]]</code>. |
− | Добавлена поддержка привилегированного API-вызова <code>list-languages</code>. | + | Добавлена поддержка привилегированного API-вызова <code>[[API:priv:list-languages|list-languages]]</code>. |
− | Добавлена поддержка привилегированного API-вызова <code>create-user-session</code>. | + | Добавлена поддержка привилегированного API-вызова <code>[[API:priv:create-user-session|create-user-session]]</code>. |
− | Добавлена поддержка привилегированного API-вызова <code>change-registrations</code>. | + | Добавлена поддержка привилегированного API-вызова <code>[[API:priv:change-registrations|change-registrations]]</code>. |
− | Добавлена поддержка API-вызова <code>special-flow</code>. | + | Добавлена поддержка API-вызова <code>[[API:priv:special-flow|special-flow]]</code>. |
В протоколах тестирования отображается размер использованной памяти (RSS). | В протоколах тестирования отображается размер использованной памяти (RSS). | ||
Это поддерживается только в случае запуска решений в контейнере. | Это поддерживается только в случае запуска решений в контейнере. | ||
− | Добавлен глобальный конфигурационный параметр enable_run_props. | + | Добавлен глобальный конфигурационный параметр <code>[[Serve.cfg:global:enable_run_props|enable_run_props]]</code>. |
Исправлена ошибка, из-за которой не работала смена языка интерфейса. | Исправлена ошибка, из-за которой не работала смена языка интерфейса. | ||
Line 94: | Line 104: | ||
Если apache не может подключиться к ej-contests, клиенту возвращается http status 500. | Если apache не может подключиться к ej-contests, клиенту возвращается http status 500. | ||
− | Добавлены атрибуты enable_user_finish, disable_user_finish, которые модифицируют возможность | + | Добавлены атрибуты |
+ | <code>[[contest.xml:enable_user_finish|enable_user_finish]]</code>, | ||
+ | <code>[[contest.xml:disable_user_finish|disable_user_finish]]</code>, которые модифицируют возможность | ||
пользовательского завершения турнира. | пользовательского завершения турнира. | ||
− | Добавлен конфигурационный параметр default_disabled | + | Добавлен конфигурационный параметр |
− | + | <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>. | ||
Пользователь может завершить невиртуальный турнир в любой момент времени. | Пользователь может завершить невиртуальный турнир в любой момент времени. | ||
− | Добавлен конфигурационный параметр enable_group_merge задач. | + | Добавлен конфигурационный параметр |
+ | <code>[[Serve.cfg:problem:enable_group_merge|enable_group_merge]]</code> задач. | ||
− | Добавлен конфигурационный параметр run_max_file_size языков программирования. | + | Добавлен конфигурационный параметр |
+ | <code>[[Serve.cfg:language:run_max_file_size|run_max_file_size]]</code> языков программирования. | ||
− | Добавлен глобальный конфигурационный параметр disable_bson_store. | + | Добавлен глобальный конфигурационный параметр |
+ | <code>[[Serve.cfg:global:disable_bson_store|disable_bson_store]]</code>. | ||
=== [[ej-polygon]] === | === [[ej-polygon]] === | ||
Line 122: | Line 142: | ||
которые хранятся в элементах <code>tests</code> и <code>group</code>. | которые хранятся в элементах <code>tests</code> и <code>group</code>. | ||
− | Поддерживается генерация параметров test_score_list, open_tests, | + | Поддерживается генерация параметров |
− | final_open_tests. | + | [[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 для оценивающей программы | Поддерживается генерация файла valuer.cfg для оценивающей программы | ||
− | gvaluer. | + | [[gvaluer]]. |
При импорте турнира из полигона задачи сортируются по строковому | При импорте турнира из полигона задачи сортируются по строковому |
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++.