Difference between revisions of "Изменения в версии 3.13.0"

From EjudgeWiki
(...)
(...)
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Разработка]]/[[История версий]]/[[Изменения в версии 3.13.0]]
 
Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Разработка]]/[[История версий]]/[[Изменения в версии 3.13.0]]
  
Время выхода: TBA г.
+
Время выхода: 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]] ===
 
=== [[ej-compile]] ===
Line 17: Line 34:
 
под разными идентификаторами пользователя и не будут влиять
 
под разными идентификаторами пользователя и не будут влиять
 
друг на друга.
 
друг на друга.
 +
 +
Поддерживаются расширенные свойства скомпилированных файлов.
 +
Они активируются с помощью установки глобального конфигурационного
 +
параметра <code>[[Serve.cfg:global:enable_run_props|enable_run_props]]</code> турнира. В этом случае в скрипт
 +
компиляции передается третий параметр &mdash; путь к файлу,
 +
в который скрипт компиляции может записать дополнительные свойства
 +
сгенерированного исполняемого файла. Этот файл передается
 +
в сервис запуска решений.
 +
 +
При копировании файлов из каталога, заданного с помощью конфигурационного
 +
параметра <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]] ===
 
=== [[ej-compile-control]] ===
Line 25: Line 60:
 
=== [[ej-contests]] ===
 
=== [[ej-contests]] ===
  
В конфигурационном параметре open_tests поддерживатся видимость тестов
+
В конфигурационном параметре [[Serve.cfg:problem:open_tests|open_tests]] поддерживатся видимость тестов
icpc. Если для группы тестов установлена видимость icpc, то
+
<code>icpc</code>. Если для группы тестов установлена видимость <code>icpc</code>, то
 
участнику турнира отображается только балл и минимальная информация
 
участнику турнира отображается только балл и минимальная информация
 
о первом непрошедшем тесте в группе.
 
о первом непрошедшем тесте в группе.
Line 34: Line 69:
 
об открытых тестах и суммарную информацию по группам тестов.
 
об открытых тестах и суммарную информацию по группам тестов.
  
Добавлена конфигурационная переменная задачи standard_valuer,
+
Добавлена конфигурационная переменная задачи <code>[[Serve.cfg:problem:standard_valuer|standard_valuer]]</code>,
которая позволяет задать стандартную программу оценивания gvaluer.
+
которая позволяет задать стандартную программу оценивания [[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]] ===
 
=== [[ej-polygon]] ===
Line 42: 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]].
  
 
При импорте турнира из полигона задачи сортируются по строковому
 
При импорте турнира из полигона задачи сортируются по строковому
 
значению ключа задачи, он же используется для короткого имени задачи.
 
значению ключа задачи, он же используется для короткого имени задачи.
 +
 +
Добавлена опция enable_rss_limit при импорте из полигона.
  
 
=== [[ej-suid-container]] ===
 
=== [[ej-suid-container]] ===
Line 55: Line 159:
 
Поддерживается переключение в разные непривилегированные пользователи
 
Поддерживается переключение в разные непривилегированные пользователи
 
для параллельной компиляции.
 
для параллельной компиляции.
 +
 +
=== [[ej-super-run]] ===
 +
 +
=== [[ej-super-server]] ===
 +
 +
Поддерживается заголовок 'Authorization:' для последующей реализации API-вызовов.
 +
 +
Добавлена поддержка привилегированного API-вызова <code>login-action-json</code>.
 +
 +
=== [[ejudge-control]] ===
 +
 +
Добавлена опция --compile-queue.
  
 
=== [[gvaluer]] ===
 
=== [[gvaluer]] ===

Latest revision as of 13:01, 29 December 2024

Навигация: Главная страница/Система ejudge/Разработка/История версий/Изменения в версии 3.13.0

Время выхода: 25 декабря 2024 г.

Предыдущая версия

Обновление с предыдущих версий

После инсталляции новой версии ejudge обязательно выполните команды ejudge-suid-setup и ejudge-upgrade-web из-под пользователя root и команду ejudge-configure-compilers из-под пользователя ejudge.

Список Pull Requests

Список изменений на GitHub

Главные новые возможности и улучшения

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++.