Releases: ZsgsDesign/NOJ
v0.17.4 Characinae Build Pack 4
This is a build version update for 0.17.0 Characinae
.
Important: Rerun npm ci
and npm run production
after this upgrade.
Update Logs
- New: NOJ now supports
contest.exsits
middleware. - New: NOJ now uses Github markdown style to render messages.
- Fixed: A PHP7.4 compatibility bug causing contest details to return 500 when users don't have clearance.
- Improved: Remastered contest routers.
- Security:
encore/laravel-admin
is now at1.8.16
. - Security:
laravel/framework
is now at8.69.0
. - Security:
laravel/passport
is now at10.2.0
. - Security:
laravel/ui
is now at3.3.1
. - Security:
phpseclib/phpseclib
is now at3.0.11
. - Security:
symfony/console
is now at5.3.10
. - Security:
symfony/http-foundation
is now at5.3.10
. - Security:
symfony/http-kernel
is now at5.3.10
. - Security:
symfony/string
is now at5.3.10
. - Security:
symfony/translation
is now at5.3.10
. - Security:
symfony/var-dumper
is now at5.3.10
.
v0.17.3 Characinae Build Pack 3
This is a build version update for 0.17.0 Characinae
.
Important: All previous messages stored in the message
table are not compatible with this update, please remove them manually.
Update Logs
- Compatibility: This update no longer supports old message format, please remove all old messages manually.
- New: NOJ now supports BABEL Extension CodeForces Gym.
- New: Add locale for official messages.
- New: Add environment variable
APP_OFFICIAL_SENDER
, maintainers can now set this variable to a certain user id and make that user the sender of all official messages. - New: Messages now have levels like
info
,success
,warning
,error
, andquestion
. - New: NOJ now notifies users when a submitted solution got accepted.
- New: NOJ now notifies users of new homework.
- New: NOJ now notifies users when the global rank in or out top 100.
- Deprecated: NOJ no longer uses old WKHTMLTOPDF configs.
- Deprecated: NOJ no longer uses using Solution model, using ProblemSolution model instead.
- Fixed: A PHP7.4 compatibility bug causing problem detail page returns 500 when problem not found.
- Fixed: A bug causing Admin Portal contest practice field unchangeable.
- Fixed: A bug causing blink does not generate pdf URLs.
- Fixed: A missing exception type bug causing exception catch invalid for NOJ BABEL.
- Fixed: A NOJ BABEL Extension CodeForces bug causing crawled problem missing some irregular fields.
- Fixed: A NOJ BABEL Extension CodeForces bug causing crawled problem with
div
tags display wrongly. - Fixed: Typo (special thanks to @gtn1024).
- Improved: Remastered message box view.
- Security:
doctrine/inflector
is now at2.0.4
. - Security:
facade/ignition
is now at2.16.0
. - Security:
laravel/framework
is now at8.68.1
. - Security:
nanoid
is now at3.1.30
. - Security:
perfect-scrollbar
is now at1.5.3
. - Security:
postcss
is now at8.3.11
. - Security:
sass
is now at1.43.4
.
v0.17.2 Characinae Build Pack 2
This is a build version update for 0.17.0 Characinae
.
Important: Rerun npm ci
and composer install
then npm run production
.
Update Logs
- Compatibility: This update no longer uses wkhtmltopdf.
- New: NOJ now greatly improves PDF generation speed and quality by using 2 new approaches: CPDF or Blink with Skia.
- New: NOJ now uses
nesk/puphpeteer
. - New: NOJ now uses
barryvdh/laravel-dompdf
. - Deprecated: NOJ no longer uses old
LatexModel
andLatexController
. - Deprecated: Helper function
latex2image
is no longer supported. - Fixed: A bug causing PDF-generated Chinese character replaced by blank square.
- Fixed: A bug causing PDF generation exit without error.
- Fixed: Typo (only 1 this time).
- Improved: PDF generation now does not wait 20 seconds then proceed, it quits when complete.
- Security:
fonts-asset/dejavu
is now at1.0.4
. - Security:
fonts-asset/simsun
is now at1.0.2
. - Security:
graham-campbell/result-type
is now at1.0.3
. - Security:
laravel/framework
is now at8.65.0
. - Security:
laravel/passport
is now at10.1.4
. - Security:
league/oauth2-server
is now at8.3.3
. - Security:
mews/purifier
is now at3.3.6
. - Security:
phpdocumentor/reflection-docblock
is now at5.3.0
. - Security:
swiftmailer/swiftmailer
is now at6.3.0
.
v0.17.1 Characinae Build Pack 1
This is a build version update for 0.17.0 Characinae
.
Important: Rerun scheduling for update site rank or run php artisan scheduling:updateSiteRank
after this upgrade.
Update Logs
- Compatibility: The update site rank scheduling is now set at 1 am everyday.
- New: Add custom favicon, logo, and navicon support per #737 requests.
- New: Add
LikeScope
trait support. - New: Add dynamic rank feature, see #649.
- New: Add a series of artisan commands with prefix
scheduling
, see #743. - Deprecated: NOJ no longer uses old
RankModel
andSiteMapModel
. - Fixed: A bug causing Admin Portal ajax pagination returns only the first 15 records, see #738.
- Fixed: A bug causing Admin Portal ajax pagination memory overflows on a large amount of data and queries slowly, see #739.
- Fixed: A bug causing PDF generator cannot locate dejaVu font.
- Fixed: A Symphony 5 compatibility bug causing anti-cheat malfunction, see #740.
- Fixed: A Symphony 5 compatibility bug causing PDF generation malfunction, see #741.
- Fixed: A
laravel-admin-ext/scheduling
bug causing Admin Portal schedule running returns 419 on Windows platform, see laravel-admin-extensions/scheduling#20. - Fixed: Typo (only 1 this time).
- Improved: Optimized site rank calculation performance, see #649.
- Improved: Optimized sitemap performance to process a tremendous amount of data, see #742
- Improved: Use artisan commands for the scheduling system, see #743.
- Improved: Use dot-separated router for problem and status index.
- Security:
doctrine/dbal
is now at2.13.4
. - Security:
facade/ignition
is now at2.15.0
. - Security:
laravel-admin-ext/log-viewer
is now at1.0.4
. - Security:
laravel-admin-ext/scheduling
is now at1.2
. - Security:
ramsey/collection
is now at1.2.2
.
v0.17.0 Characinae
This is a minor version update. As mentioned in 0.5.0
logs, the new version system would merge the old major and minor version numbers into new minor version numbers, thus as the 17th minor version update since NOJ 0.1.0
, this version would be numbered as major version 0
, minor version 17
, build pack 0
and patch number 0
.
Important: Please follow NOJ Document's guide to upgrading your NOJ from v0.16.x
to v0.17.0
.
Summary: Update Laravel from 6.x
to 8.5
, update Laravel Mix to 6.0
, requires WKHTMLPDF
installed, uses new logo design, supports multiple log channels, supports group homework, supports strong password, supports C11
, C++14
and C++17
, supports new contest rejudge interface, supports new contest pdf generation interface, supports problem lazy load that increases site rank and group loading time, supports new material preloader, supports new sortable.js
as a sortable method, supports Carbon as time processer, supports 2 fonts and 5 environment variables. This version update also includes lots of query optimizations, bug fixes, functionality & UI improvements, and security updates.
Update Logs
- Compatibility: NOJ now supports Laravel
8.5
per #672 requests, the latest version of Laravel.8.x
uses Symphony 4, which introduced a lot of changes to the base code. - Compatibility: NOJ now deprecates DomPDF and uses WKHTMLPDF instead.
- Compatibility: NOJ now uses
lax
for the same site verification. - Compatibility: NOJ now uses
Throwable
instead ofException
for the error handler. - Compatibility: NOJ now uses Laravel Mix
6.0
. - Compatibility: NOJ now separate log channels,
group_elo_update
andbabel_judge_sync
are now stored in different files apart fromapp.log
(which originally namedlaravel.log
) and expired after 7 days. - New: Group homework support per #667 requests, this feature can be seen as the privatized lite version of NOJ Dojo.
- New: Add
createHomework
AJAX API. - New: Use the third edition of the NOJ logo materialized design per #676 requests. While replacing all old logos, the third edition also modifies its dark and light flattened variant.
- New: Strong password support via environment variable
FUNC_STRONG_PASSWORD
. - New: Add
C11
language support per #663 requests (require NOJ JudgeServerv0.2.1
or higher). - New: Add
C++14
language support per #663 requests (require NOJ JudgeServerv0.2.1
or higher). - New: Add
C++17
language support per #663 requests (require NOJ JudgeServerv0.2.1
or higher). - New: Add new problem selector component per #664 requests.
- New: Remastered contest rejudge feature per #673 requests. This function now opt-in for the beta test.
- New: Contest rejudge now supports custom verdict to rejudge.
- New: Remastered contest pdf generation feature by using WKHTMLPDF per #670 requests. This function now opt-in for the beta test and can only apply to contests in which all problems are self-hosted and you need to install WKHTMLPDF first then setup 2 environment variables,
WKHTML_PDF_BINARY
andWKHTML_IMG_BINARY
. - New: Contest pdf generation now supports math formula rendering.
- New: Contest pdf generation now supports removing after generation.
- New: Add site-wide
delayProblemLoad
function for image lazy loading. - New: NOJ now uses the new material preloader component.
- New: NOJ now uses
sortable.js
for sortable elements. - New: Add group left-to-right layout.
- New: Add
users_latest_submission
query builder for problem model. - New: Add
problems_latest_submission
query builder for user model. - New: NOJ now uses
lluminate\Support\Carbon
and its aliasCarbon
for time processing. - New: Add
fonts-asset/simsun
package, see #504. - New: Add
fonts-asset/dejavu
package, see #504. - New: Add
barryvdh/laravel-snappy
package. - New: Add
_declaration
as an scss component. - New: Add
_mathjax
as an scss component. - New: Add
_refreshing
as an scss component. - New: Add
defaultAvatarPNG
asNOJVariables
in typescript. - New: PDF generation locale support for contest admin panel.
- New: Group homework locale support.
- Deprecated: Remove
EloquentModel
alias for all eloquent models from now on, eloquent models will be referred to directly. - Deprecated: Remove
barryvdh/laravel-dompdf
package. - Deprecated: Remove
jquery-ui
andnoj-jquery-ui-sortable
package. - Fixed: Duplicate
lodash
package. - Fixed: A bug causing
babel:install
to fail when making directories. - Fixed: A bug causing email verification hidden when social login is disabled.
- Fixed: A bug causing congratulation and other dialogs dismissable via ESC key while exit logic not triggered, see #722.
- Fixed: A bug causing math formula overflow, see #723.
- Fixed: A bug causing sample note blank, see #662.
- Fixed: A bug causing admin portal contest registant_type field mapped wrongly.
- Fixed: A bug causing SPJ uploading to fail.
- Fixed: Typo (we mean it).
- Improved: NOJ Dojo is now greatly optimized by using the new dojo status method, see #725.
- Improved: Optimized site rank page performance, see #726.
- Improved: Optimized group detail page performance, see #728.
- Improved: Multidomain config now does not take effect in the console environment.
- Improved: Eloquent contest model
getProblemSet
method now optimized. - Improved: PDF generation advice page now uses pure latex formula.
- Improved: PDF generation cover page now uses the latest ICPC standard.
- Improved: Contest admin panel now separates section-panel to own blade template.
- Improved: Problem pagination is now configurable via environment variable
PAGINATION_PROBLEM_PER_PAGE
. - Improved: NOJ now uses blade stack to replace outdated
additionJS
yield. - Improved: NOJ ico file now bundles
16*16
,48*48
and256*256
resolution. - Improved: NOJ now uses a new refreshing button design.
- Improved: NOJ now uses the new problem selector component for contest editing and arranging per #664 requests.
- Improved: Redesign
ajax/problemExists
AJAX API. - Improved: Group function block now has a color scheme.
- Improved: Group left-to-right layout now applies to all group detail-related pages.
- Improved: NOJ now uses the new left-to-right layout for the analysis page, see #719.
- Improved: Eloquent problem model
getProblemStatus
method. - Improved: NOJ now uses the dot-separated router for problems.
- Improved: Google Recaptcha now defaults to false.
- Improved: Admin Portal now displays babel mirror as part of the environment info.
- Security:
beyondcode/laravel-dump-server
is now at1.7.0
. - Security:
dragonmantank/cron-expression
is now at3.1.0
. - Security:
encore/laravel-admin
is now at1.8.14
. - Security:
filp/whoops
is now at2.14.4
. - Security:
graham-campbell/markdown
is now at13.1.1
. - Security:
intervention/image
is now at2.7.0
. - Security:
laravel/framework
is now at8.63.0
. - Security:
laravel/passport
is now at10.1.3
. - Security:
laravel/socialite
is now at5.2.5
. - Security:
laravel/tinker
is now at2.6.2
. - Security:
laravelium/sitemap
is now at8.0.1
. - Security:
league/mime-type-detection
is now at1.8.0
. - Security:
mockery/mockery
is now at1.4.4
. - Security:
monolog/monolog
is now at2.3.5
. - Security:
nesbot/carbon
is now at2.53.1
. - Security:
nikic/php-parser
is now at4.13.0
. - Security:
nunomaduro/collision
is now at5.10.0
. - Security:
phar-io/manifest
is now at2.0.3
. - Security:
phar-io/version
is now at3.1.0
. - Security:
phpdocumentor/type-resolver
is now at1.5.1
. - Security:
phpoption/phpoption
is now at1.8.0
. - Security:
phpseclib/phpseclib
is now at3.0.10
. - Security:
phpspec/prophecy
is now at1.14.0
. - Security:
phpunit/php-code-coverage
is now at9.2.7
. - Security:
phpunit/php-file-iterator
is now at3.0.5
. - Security:
phpunit/php-text-template
is now at2.0.4
. - Security:
phpunit/php-timer
is now at5.0.3
. - Security:
phpunit/phpunit
is now at9.5.10
. - Security:
predis/predis
is now at1.1.9
. - Security:
psy/psysh
is now at0.10.8
. - Security:
ramsey/uuid
is now at4.2.3
. - Security:
sebastian/code-unit-reverse-lookup
is now at2.0.3
. - Security:
sebastian/comparator
is now at4.0.6
. - Security:
sebastian/diff
is now at4.0.4
. - Security:
sebastian/environment
is now at5.1.3
. - Security:
sebastian/exporter
is now at4.0.3
. - Security:
sebastian/global-state
is now at5.0.3
. - Security:
sebastian/object-enumerator
is now at4.0.4
. - Security:
sebastian/object-reflector
is now at2.0.4
. - Security:
sebastian/recursion-context
is now at4.0.4
. - Security:
sebastian/resource-operations
is now at3.0.3
. - Security:
sebastian/version
is now at3.0.2
. - Security:
symfony/console
is now at5.3.7
. - Security:
symfony/dom-crawler
is now at5.3.7
. - Security:
symfony/error-handler
is now at5.3.7
. - Security:
symfony/event-dispatcher
is now at5.3.7
. - Security:
symfony/event-dispatcher-contracts
is now at2.4.0
. - Security:
symfony/finder
is now at5.3.7
. - Security:
symfony/http-foundation
is now at5.3.7
. - Security:
symfony/http-kernel
is now at5.3.9
. - Security:
symfony/mime
is now at5.3.8
. - Security:
symfony/process
is now at5.3.7
. - Security: `symfony/ro...
v0.16.0 Bryconinae
This is a minor version update. As mentioned in 0.5.0
logs, the new version system would merge the old major and minor version numbers into new minor version numbers, thus as the 16th minor version update since NOJ 0.1.0
, this version would be numbered as major version 0
, minor version 16
, build pack 0
and patch number 0
.
Important: Please follow NOJ Document's guide to upgrading your NOJ from v0.5.x
to v0.16.0
.
Summary: Requires at least Chrome 69 or equivalent to support NOJ 0.16.0
, requires npm
package management from now on, supports Webpack and Laravel Mix, supports native VSCode coding experiences by supporting 24 VSCode grammars, configs, and 27 themes, supports partial update without test cases in the problem admin portal, supports test case input/output CRLF conversion, supports filters for the problem of admin portal, support image zoom when inside editor, support dynamic content loading to increase performance on admin portal, supports Poppins font, support carousels and dojo pass record admin portal, supports large test cases import up to 200MB. This version update also includes lots of bug fixes, functionality & UI improvements, and security updates.
Update Logs
- Compatibility: NOJ now requires at least Chrome 69, Firefox 62, or Safari 13.1, NOJ recommends using modern browsers for better ECMA2015 and WebAssembly support.
- Compatibility: From now on, every NOJ upgrade requires running
npm ci
andnpm run production
, for more information, see NOJ Documentation. - Compatibility: From now on, NOJ will record all changes in
CHANGELOG.md
. - New: NOJ now uses
npm
to track most of the npm modules, originalcomposer
packagesnpm-asset/*
are mostly removed but still remaining some. - New: NOJ now uses TypeScript and SCSS for static resources coding, some old JS and CSS codes still remaining.
- New: NOJ now uses
Webpack
to compile TypeScript and SCSS resources and pack them into JS and CSS bundle per #636 requests. - New: NOJ now uses
Laravel Mix
to interacting withWebpack
, all static resources except MathJax and fonts are now packed into a bundle per #636 requests. - New: NOJ now supports
vscode-oniguruma
andvscode-textmate
. - New: NOJ now supports native VSCode coding experiences by supporting VSCode grammars and configs per #637 requests.
- New: NOJ Editor now supports grammars and configurations of the following 24 languages:
Plain Text
,Python
,C
,C++
,CUDA C++
,C#
,Kotlin
,CSS
,HTML
,JavaScript
,PHP
,Java
,Go
,Haskell
,Elixir
,Ruby
,Rust
,Swift
,Erlang
,Racket
,Scala
,TypeScript
,Visual Basic
andPascal
, acutal useable languages depend on each of the settings of the BABEL Extensions. - New: NOJ now supports Native VSCode Coding Experiences by supporting VSCode Themes per #637 requests.
- New: NOJ Editor now supports the following 27 themes:
Default
,Default (White)
,Default (High Contrast)
,Abyss
,Chrome DevTools
,Dracula
,GitHub
,GitHub Dark
,Kimbie Dark
,Material Design
,Monokai Pro
,Monokai Classic
,One Half Dark
,One Half Light
,Quiet Light
,Red
,Solarized Dark
,Solarized Light
,SynthWave 84
,Tomorrow Night Blue
,Tomorrow Night Bright
,Tomorrow Night Eighties
,Tomorrow Night
,Tomorrow
,Visual Studio
,Visual Studio (White)
andWinter is Coming
. - New: Admin Portal no longer requires test cases uploaded when editing per #628 requests.
- New: NOJ now uses
laravel-admin-asset
composer package type for admin assets. - New: NOJ now uses
noj-language-services
composer package type for NOJ language services supports per #637 requests. - New: NOJ now uses
NOJVariables
for unknownfileSVG and consoleSVG support. - New: NOJ applies
CRLF
toLF
conversion to input and output files of test cases. - New: NOJ now supports env
ADMIN_RECAPTCHAV2_TIMEOUT
for Google ReCaptcha v2 timeout settings. - New: NOJ now has a locale for Google ReCaptcha.
- New: Arrange contest dialog now have a proper warning when submit fields are empty.
- New: Add proper eloquent bindings for OJ and Problem models.
- New: Port error messages to
403
and404
errors view. - New: Add filters for the problem of Admin Portal per #630 requests.
- New: Add image zoom when inside editor per #651 requests.
- New: Add Admin Portal API for dynamic content loading.
- New: Admin Portal now doesn't load all problems or users when creating, editing, or filtering per #643 requests.
- New: Admin Portal now adds unit label for time and memory limit per #642 requests.
- New: Update
fonts-asset/MDI
package, see #504. - New: Add
fonts-asset/poppins
package, see #504. - New: NOJ now uses font
poppins
on certain places of the website. - New: NOJ now has icons for general layout.
- New: Styles now have version number added.
- New: Carousel model now proceeds image link in
saving()
stage. - New: Carousels support for Admin Portal.
- New: Carousels locale support for Admin Portal.
- New: Dojo Pass Records support for Admin Portal per #646 requests.
- New: Dojo Pass Records locale support for Admin Portal.
- New: NOJ now has a
temp
disk. - New: NOJ Admin Portal problem test cases import now supports large file upload up to
10GB
per #639 requests, as a beta function it is now limited to200MB
. - New: Add
njuptaaa/noj-large-file-upload
package. - New: Add
njuptaaa/laravel-admin-assets
package. - New: Add
noj-language-service/configurations
package. - New: Add
noj-language-service/grammars
package. - New: Add
noj-language-service/themes
package. - New: Add
npm-asset/vscode-oniguruma
package. - Deprecated: NOJ no longer uses
vue
in typescript. - Deprecated: NOJ no longer use
public/css
andpublic/js
folders. - Deprecated: NOJ no longer uses
public/static/css
andpublic/static/js
folders for static resources coding, they are now compiling only. - Deprecated: NOJ no longer use
js
,json
,css
andhtml
workers. - Deprecated: NOJ Web Installer no longer supported.
- Deprecated: NOJ Editor no longer supports the
toggleHCTheme
command, now usehc-black
themes instead. - Deprecated: NOJ no longer tracks the
public/vendor
folder, all static resources are now loaded via composer package management. - Deprecated: NOJ no longer tracks the
public/svg
folder since the new errors page doesn't require them anymore. - Deprecated: NOJ no longer uses
js.common.vscode
blade components, now usecomponents.vscode
blade components instead. - Deprecated: NOJ no longer uses
layouts.errors
blade template, now useerrors.general
blade template instead. - Deprecated: NOJ no longer uses
fileicon-svg
npm package andnpm-asset/fileicon-svg
composer package, now usefont-asset/fileicon
composer package instead. - Deprecated: Remove
njuptaaa/moss
package. - Deprecated: NOJ Admin Portal no longer supports BABEL commands on browser interface, use actual console instead.
- Fixed: A bug causing rank table reversed.
- Fixed: A bug causing group cannot pick the same gcode when editing per #644 requests.
- Fixed: A bug causing error messages resolved while continuing to execute codes.
- Fixed: A bug causing group editing resulting in a duplicate
null
leader per #629 requests. - Fixed: A bug causing zip file with 0 to validate test cases proceed without error returned.
- Fixed: A bug causing zip file input test case file filter not working.
- Fixed: A bug causing exception pages Auth middleware returns
null
. - Fixed: Typo (cliche isn't it).
- Fixed: A bug causing user profile return
500
when encountered outbound network restrictions. - Fixed: NOJ no longer tracks
mix-manifest.json
. - Fixed: A missing en locale in problem solution.
- Fixed: A misplaced en locale in the rank filter.
- Fixed: A potential divide by 0 bugs.
- Fixed: A Dojo Admin Portal filter bug.
- Improved: Admin Portal now uses a switch to replace select in problem
hide
gird field and submissionsshare
gird field. - Improved: Contest problems now sort via
number
instead ofncode
. - Improved: User model now has
readable_name
attribute. - Improved: Carousel now sorted by
updated_at
. - Improved: NOJ now uses
Auth::guard('web')
to specify guard on certain conditions. - Improved: Highlight.js now uses
vs
as the default light theme andatom-one-dark
as the default dark theme. - Improved: Composer no longer sorts packages alphabetically, this helps when we want to prioritize
composer-installers-extender
. - Improved: Admin Portal layout improved.
- Improved: NOJ now uses app name for Open Search Configs.
- Improved: NOJ now limits
pcode
andscode
format. - Improved: Modify console info style.
- Security:
monaco-editor
is now at0.25.2
. - Security:
asundust/auth-captcha
is now at2.0.14
. - Security:
guzzlehttp/guzzle
is now at7.3.0
. - Security:
highlight.js
is now at11.2.0
. - Security:
axios
is now at0.21.1
. - Security:
x3zvawq/noj_simplemde
is now at1.0.2
. - Security:
zsgsdesign/noj-admin-clike-editor
is now at1.0.0
. - Security:
dompurify
is now at2.3.1
. - Security:
marked
is now at0.7.0
.
v0.5.1 Aphyocharacinae Build Pack 1
This is a build version update for 0.5.0 Aphyocharacinae
.
Update Logs
- Compatibility: NOJ now mandatorily requires PHP
^7.4
& Composer 2. - New: Add
asundust/auth-captcha
package. - New: Add
tlsv1.3
check forbabel:install
command. - New: Add
--ignore-platform-reqs
support forbabel:update
command. - New: Add reverse proxy support via env
TRUSTED_PROXIES
per #635 and Yangzhou High School request. - New: Add theme Material Design, Dominion Day and other 5 editor themes.
- New: NOJ now supports Google ReCaptcha v2 in Admin Portal due to security concerns per relevant government department requests.
- New: NOJ now uses new default dark/light theme
material-design-darker
andmaterial-design-lighter
. - New: NOJ now supports env
APP_DEFAULT_EDITOR_THEME
. - New: NOJ now respects the OJ status
0
attribute. - New: Update
fonts-asset/devicon
package, see #504. - New: Update
fonts-asset/langicon
package provided by @ZsgsDesign, this package provides support for language icons that devicon doesn't have, see #504. - New: Add env
ADMIN_HTTPS
example. - Fixed: A bug caused temp accounts' email unverified.
- Fixed: A bug caused cookie value null.
- Fixed: A bug caused vscode editor loading time too long.
- Fixed: A WebKit rendering bug caused the border of the user avatar to deviate from its center on the rank page.
- Fixed: A styling bug in image hosting.
- Fixed: A potential XSS bug.
- Fixed: Typo (why always).
- Improved: Composer now prioritize
composer-installers-extender
. - Improved: Modify site notice icon and text.
- Improved: NOJ now uses
url()
to generate vscode paths. - Improved: Editor themes are now fixed to editor page in blade compile stage, see #631.
- Security:
guzzlehttp/guzzle
is downgraded to6.5.5
.
v0.5.0 Aphyocharacinae
This is a minor version update, since this version former build version updates would now ascend to minor version updates, and former patches indexed as a patch number together with hash would be referred to as build version updates.
Important: Please follow NOJ Document's guide to upgrading your NOJ from v0.4.2
to v0.5.0
.
Summary: Add PHP 7.4 & NOJ_JudgeServer v0.2.1 compatibility support, compilers for Go
, C#
, Rust
, Ruby
, Haskell
, Free Pascal
, Text
and Free Basic
, OpenJudge NOI BABEL extension support, code plagiarism check beta support, scroll board beta support, compiler info highlight and dialog support, editor themes support, NOJ themes support, image hosting service support, user permissions support, system settings support, AAuth Socialite support, localization support and a brunch of Admin Portal functional update, dozens of new environment configurations and 3 helper functions. This version update also includes lots of bug fixes, functionality & UI improvements, and security updates.
Update Logs
- Compatibility: NOJ now supports
PHP 7.4
per #614 requests. - Compatibility: NOJ now supports
NOJ_JudgeServer v0.2.1
per #615 requests. - New: Add
Golang
language support (require NOJ JudgeServerv0.1.4
or higher). - New: Add
C#
language support (require NOJ JudgeServerv0.1.4
or higher). - New: Add
Rust
language support (require NOJ JudgeServerv0.2.0
or higher). - New: Add
Ruby
language support (require NOJ JudgeServerv0.2.0
or higher). - New: Add
Haskell
language support (require NOJ JudgeServerv0.2.0
or higher). - New: Add
Free Pascal
language support (require NOJ JudgeServerv0.2.0
or higher). - New: Add
Text
special language support (require NOJ JudgeServerv0.2.0
or higher). - New: Add
Free Basic
language support (require NOJ JudgeServerv0.2.1
or higher). - New: OpenJudge NOI Group BABEL extension support per #616 requests, see OpenJudge NOI.
- New: NOJ code plagiarism check beta support per #617 requests, only contests that are
official
andanticheat
can use this feature. - New: NOJ scroll board beta support per #618 requests, only contests that require registration, uses ICPC rules and has frozen time can use this feature, you can use ctrl+enter to auto-scroll or use enter to scroll manually.
- New: NOJ compiler info highlight and dialog support per #619 requests, you can now click CE records and view info in a more elegant way.
- New: NOJ editor themes support per #622 requests, you can now choose from a variety of totally 51 themes to customize your NOJ code editing experience.
- New: NOJ themes support per #623 requests, you can now choose from a variety of totally 15 themes, including the
classic
theme that got removed prior to NOJv0.1.0
update, to customize your NOJ experience, see NOJ Docs - Theme for more information. - New: NOJ tools image hosting service support per #625 requests, you can now use NOJ image hosting service to upload images.
- New: NOJ user permissions support per #626 requests, you can now use the command
php artisan manage:permission
to manage user permissions. - New: NOJ settings support per #500 requests, you can now use the database to manage some NOJ settings.
- New: Socialite support for AAuth per Yangzhou High School requests, see #624.
- New: BABEL command
php artisan babel:require
now supports--ignore-platform-reqs
option. - New: Users without passwords can create new passwords on the settings page, see #588.
- New: Locale support for NOJ VSCode Editor.
- New: NOJ site registration control support via env
FUNC_ENABLE_REGISTER
per #586 requests. - New: NOJ multi-domain support via env
APP_MULTI_DOMAIN
per #620 requests. - New: NOJ OAuth login temp account support via env
APP_ALLOW_OAUTH_TEMP_ACCOUNT
per Yangzhou High School requests, see #588. - New: NOJ OAuth login switch support via env
GITHUB_ENABLE
andAAUTH_ENABLE
per #621 requests. - New: Dashboard system requirements check support for Admin Portal.
- New: Add
monaco-ace-tokenizer
package that provides an advanced highlight for many languages, NOJ used it forHaskell
. - New: Add
fonts-asset/socialicon
package provided by @ZsgsDesign, this package provides support for Socialite icons that Material Design Icons doesn't have, see #504. - New: Add
fonts-asset/langicon
package provided by @ZsgsDesign, this package provides support for language icons that devicon doesn't have, see #504. - New: Group management support for Admin Portal.
- New: Group locale support for Admin Portal.
- New: Contest management support for Admin Portal.
- New: Judge Agent management support for Admin Portal.
- New: Judge Agent locale support for Admin Portal.
- New: Judge Server management support for Admin Portal.
- New: Judge Server locale support for Admin Portal.
- New: Submission management support for Admin Portal.
- New: Dojo Tasks management support for Admin Portal.
- New: Dojo Tasks locale support for Admin Portal.
- New: Dojo Phase management support for Admin Portal.
- New: Dojo Phase locale support for Admin Portal.
- New: Settings support for Admin Portal.
- New: Settings locale support for Admin Portal.
- New: CodeTester support for Admin Portal.
- New: CodeTester locale support for Admin Portal.
- New: CodeTester API support for BABEL.
- New: User locale support for Admin Portal.
- New: Announcement management support for Admin Portal.
- New: Announcement locale support for Admin Portal.
- New: Sidebar locale for Admin Portal.
- New: Default error locale for NOJ.
- New: Scroll board locale for NOJ.
- New: Image hosting service locale for NOJ.
- New: OAuth locale for NOJ.
- New: Add
vscodeLocale()
helper function. - New: Add
getTheme()
helper function. - New: Add
setting()
helper function. - Deprecated: MOSS code plagiarism check no longer supported.
- Deprecated: Remove unused
bootstrap-material-design.js
files. - Deprecated: Remove
GuzzleHttp\json_decode
function usage. - Deprecated: Remove duplicated
App\User
and outdatedApp\Models\UserModel
, NOJ now useApp\Models\Eloquent\User
instead. - Deprecated: Remove outdated
App\Models\AnnouncementModel
, NOJ now useApp\Models\Eloquent\Announcement
instead. - Deprecated: Remove outdated
App\Models\CarouselModel
, NOJ now useApp\Models\Eloquent\Carousel
instead. - Fixed: Concurrency problem of virtual verdict syncing, see NOJ Docs - BABEL Judge Sync for more information.
- Fixed: A bug that causes NOJ JudgeServer to return Wrong Answer verdict.
- Fixed: A bug that makes the score of submissions within ACM rules 1 if the verdict is accepted.
- Fixed: A bug in the contest status list that will return all submissions when applied a problem ncode filter that doesn't exist in that match.
- Fixed: A bug that will redirect users to the dashboard after login instead of the home page or contest page (for contest account).
- Fixed: A load balancing bug that causes the load balancer to pick the highest judge server.
- Fixed: A bug that makes the system info page display no judge server when the noj babel package was installed with an ID that is not
1
. - Fixed: A bug that makes scrollbar area transparent in language select menu, this bug is caused by a Chrome update.
- Fixed: A bug that messed up HTML structures in NOJ Admin Portal inside
x3zvawq/noj_simplemde
. - Fixed: Typo (tons of).
- Fixed: A bug that let Eloquent ContestProblem Model disrespect frozen time.
- Fixed: An Admin Portal bug that causes solution uneditable.
- Fixed: An Admin Portal bug that causes group uncreatable.
- Fixed: A bug that causes frozen time inaccessible for ContestProblem Model.
- Fixed: A bug that causes verification email resends return
Method Not Allowed
. - Fixed: A bug that makes NOJ only accepts 12 BABEL extensions/packages.
- Fixed: A bug that errors some `php artisan manage command default value.
- Fixed: A styling bug that causes the new langicon misplaced.
- Fixed: A bug that errors problem search.
- Fixed: A potential divide by 0 bug.
- Fixed: A typo in terms template.
- Fixed: PSR-4 autoload issues.
- Fixed: A typo that causes user contact info cannot update and display correctly.
- Fixed: A bug that only login users can access OAuth links.
- Improved: NOJ JudgeServer C compiler now compiling without
-static
option. - Improved: NOJ JudgeServer PHP compiler now running with
-d error_reporting=0
option. - Improved: NOJ JudgeServer C# compiler now running without unused environment variables, adjusting
C#
compile max memory accordingly. - Improved: BABEL
install
command now acceptsnew_code
as a valid compiler description key. - Improved: Removed the auto-refresh feature at the contest detail page that may potentially cause HTTP 500 errors at the beginning of a match.
- Improved: Removed a lot of the useless
consle.log()
code. - Improved: Compiler list now ordered by display name, in earlier version, we arrange it simply by
coid
and would be a bad choice when we have a dozen of compilers supported. - Improved: Update
fonts-asset/devicon
package adding new language icons that NOJ needed. - Improved: Update
monaco-editor
to0.23.0
, the changes of platform detection algorithm forced us to abandon the#vscode
element in editor view that we used befo...
v0.4.2 Pristobrycon
- New:
font-asset
composer package management. - New: Admin Portal default solution filter.
- New: Option to disable backup.
- New: Customizable contact info.
- New: Customizable logo and desc.
- New: Locale files for error pages and NOJ Desktop pages.
- New: Problem Add in Admin Portal.
- New: Problem Add now supports
NOJ makrdown
. - New: Problem Add now supports sample I/O addition.
- New: Problem Add now supports
info
generation. - New: Problem Add now partically supports SPJ.
- New: Contest Create now supports status visibility options.
- New: NOJ Babel Extension now supports SPJ submission.
- Easter Egg: ?!
- Fixed: Problem add button.
- Fixed: Backup compatibility.
- Improved: Destop notification now has a limit.
- Improved: Avatar with new design.
- Improved: Add frontend util
createNOJMarkdownEditor
and simplifiedSimpleMDE
creation. - Improved: Add Eloquent
Pastebin
Model and remove oldPastebinModel
. - Improved: NOJ Babel Extension will now update status for unavailavle servers.
- Security:
albertofem/rsync-lib
is nowremoved
.
v0.4.1 Catoprion
- New: NOJ API support.
- New: NOJ Desktop support.
- New: Multi-language support.
- Fixed: Contest sponsor badge no longer misplaced.
- Fixed: Database migration now make timestamp nullable.
- Fixed: Typo (no kidding, we really fixed some typo) .
- Improved: Applying Eloquent model for more occasions.
- Security:
laravel/framework
is now at6.20.7
. - Security:
composer
is now at2.0.0
. - Security:
symfony/http-kernel
is now at4.4.17
.