Judge0 API v1.5.0 Release Notes
Release Date: 2020-01-02 // over 4 years ago-
v1.5.0 (2020-01-01)
๐ New Features
- Added 30 new languages , archived 42 languages and kept active 2 languages from the last release. In total, there are now 32 active languages that can be used and all are updated to their latest versions as of the date of this release. Archived languages cannot be used anymore. Following table shows a status of every language that API supports.
ID Name Status 1 Bash (4.4) archived 2 Bash (4.0) archived 3 Basic (fbc 1.05.0) archived 4 C (gcc 7.2.0) archived 5 C (gcc 6.4.0) archived 6 C (gcc 6.3.0) archived 7 C (gcc 5.4.0) archived 8 C (gcc 4.9.4) archived 9 C (gcc 4.8.5) archived 10 C++ (g++ 7.2.0) archived 11 C++ (g++ 6.4.0) archived 12 C++ (g++ 6.3.0) archived 13 C++ (g++ 5.4.0) archived 14 C++ (g++ 4.9.4) archived 15 C++ (g++ 4.8.5) archived 16 C# (mono 5.4.0.167) archived 17 C# (mono 5.2.0.224) archived 18 Clojure (1.8.0) archived 19 Crystal (0.23.1) archived 20 Elixir (1.5.1) archived 21 Erlang (OTP 20.0) archived 22 Go (1.9) archived 23 Haskell (ghc 8.2.1) archived 24 Haskell (ghc 8.0.2) archived 25 Insect (5.0.0) archived 26 Java (OpenJDK 9 with Eclipse OpenJ9) archived 27 Java (OpenJDK 8) archived 28 Java (OpenJDK 7) archived 29 JavaScript (nodejs 8.5.0) archived 30 JavaScript (nodejs 7.10.1) archived 31 OCaml (4.05.0) archived 32 Octave (4.2.0) archived 33 Pascal (fpc 3.0.0) archived 34 Python (3.6.0) archived 35 Python (3.5.3) archived 36 Python (2.7.9) archived 37 Python (2.6.9) archived ๐ 38 Ruby (2.4.0) ๐ 39 Ruby (2.3.3) ๐ 40 Ruby (2.2.6) ๐ 41 Ruby (2.1.9) 42 Rust (1.20.0) archived 43 Plain Text Renamed from Text (plain text)
.44 Executable Not changed. ๐ 45 Assembly (NASM 2.14.02) ๐ 46 Bash (5.0.0) ๐ 47 Basic (FBC 1.07.1) ๐ 48 C (GCC 7.4.0) ๐ 49 C (GCC 8.3.0) ๐ 50 C (GCC 9.2.0) ๐ 51 C# (Mono 6.6.0.161) ๐ 52 C++ (GCC 7.4.0) ๐ 53 C++ (GCC 8.3.0) ๐ 54 C++ (GCC 9.2.0) ๐ 55 Common Lisp (SBCL 2.0.0) ๐ 56 D (DMD 2.089.1) ๐ 57 Elixir (1.9.4) ๐ 58 Erlang (OTP 22.2) ๐ 59 Fortran (GFortran 9.2.0) ๐ 60 Go (1.13.5) ๐ 61 Haskell (GHC 8.8.1) ๐ 62 Java (OpenJDK 13.0.1) ๐ 63 JavaScript (Node.js 12.14.0) ๐ 64 Lua (5.3.5) ๐ 65 OCaml (4.09.0) ๐ 66 Octave (5.1.0) ๐ 67 Pascal (FPC 3.0.4) ๐ 68 PHP (7.4.1) ๐ 69 Prolog (GNU Prolog 1.4.5) ๐ 70 Python (2.7.17) ๐ 71 Python (3.8.1) ๐ 72 Ruby (2.7.0) ๐ 73 Rust (1.40.0) ๐ 74 TypeScript (3.7.4) - โ Added route
GET /languages/:id
for getting all attributes of specified language.- Commits: @2a31e963
- โ Added route
GET /languages/all
for getting a list of all languages (archived and active).- Commits: @2a31e963
- โ Added route
DELETE /submissions/:token
for deleting specified submission. Only authorized requests (users) are allowed to delete a submission.- Commits: @3365e3c8
- Added configuration variable
ENABLE_SUBMISSION_DELETE
with default value set tofalse
. By default you cannot delete a submission as long as this variable is set tofalse
. When set totrue
then only authorized requests (users) can delete specific submission.- Commits: @79e1de95
- โ Added info routes
GET /about
,GET /version
,GET /license
andGET /isolate
. Last routeGET /isolate
returns result fromisolate --version
command.- Commits: @9f5202a5
๐ Improvements
- ๐ Updated base image to
judge0/api-base:1.0.0
which uses Debian "buster" and has installed Ruby 2.7.0. - ๐ Improved handling of an server error when one or more submission attributes cannot be serialized to JSON without Base64 encoding. User now gets an error with instructions to use
base64_encoded=true
query parameter.
๐ Bug Fixes
- ๐ Fixed example in configuration for using
ALLOW_ORIGIN
variable with multiple origins.- Commits: @21d0202a
- Fixed a bug where value of
MAX_MAX_PROCESSES_AND_OR_THREADS
was used as default value formax_processes_and_or_threads
attribute of submission, whereasMAX_PROCESSES_AND_OR_THREADS
should be used.- Commits: @563f8ea2
Other Changes
- Increased maximum allowed
compiler_options
andcommand_line_arguments
length to 512 characters. - ๐จ Increased default value of
MAX_PROCESSES_AND_OR_THREADS
to 60.- Commits: @563f8ea2
- Increased default value of
MAX_MAX_PROCESSES_AND_OR_THREADS
to 120.- Commits: @563f8ea2
- ๐ Changed default value of
RAILS_ENV
toproduction
.- Commits: @be55ca65
- ๐ Changed default value of
INTERVAL
to 0.1.- Commits: @be55ca65
- โก๏ธ Updated year in LICENSE.
- Commits: @679fb2ba
- Added environment variables
JUDGE0_{HOMEPAGE,SOURCE_CODE,MAINTAINER,VERSION}
. Isolate sandbox inherits these variables and they are now available for use in user code.- Commits: @9f5202a5
๐ Deployment Procedure
๐ณ 1. Install Docker and Docker Compose. ๐ 2. Download and extract release archive:
wget https://github.com/judge0/api/releases/download/v1.5.0/judge0-api-v1.5.0.zip unzip judge0-api-v1.5.0.zip
Run all services and wait few seconds until everything is initialized:
cd judge0-api-v1.5.0 docker-compose up -d db redis sleep 10s docker-compose up -d sleep 5s
Your instance of Judge0 API v1.5.0 is now available at
http://<IP OF YOUR SERVER>:3000
.