Skip to content

Releases: ReCodEx/api

v1.23.0

22 Nov 22:06
Compare
Choose a tag to compare

Changelog

  • Implementing completely new file storage (local FS and hash-based), which shall replace the Fileserver component.
  • Making bison exec path configurable in pipeline.
  • Switching ZMQ socket creation to non-persistent mode when starting evaluation.
  • Seting up RPM packaging for core-api component.

Commits

8cc3d87 #! v1.23.0
21b0b32 Fixing last bugs.
782bd53 Fixing testing issues and travis config.
78188d9 Preventing race conditions on uploaded result archives.
c4fb304 Updating nette/application version in lock file (fixing security vulnerability).
dbaf7b6 Cleanup (except for entity properties, which will be removed in phase two).
30f5ebb Cleanup commands fixed and added.
ecfdf4b Completing the transformation so that entire core module uses file storage manager.
5ea4335 Updating assignments solutions presenter to use new file storage manager.
24afde2 The upload files presenter was updated to use new file storage manager.
fc0c353 Replacing UploadFileStorage with file storage manager.
a00bf75 Replacing formal ExerciseFileStorage helper with new file storage manager.
8083531 Improving functions of file storage.
a52f4a9 Updating file-related entities to be ready for new file storage. Implementing routes to serve worker needs (downloading and uploading files).
ae225b0 Implementing completely new file storage (local FS and hash-based), which shall replace the Fileserver component.
5a9deae Updating specs file.
2867f31 Making bison exec path configurable in pipeline.
80ec503 Switching ZMQ socket creation to non-persistent mode when starting evaluation.
64b2728 Updating fixtures ... and RPM spec file ... and migrations ... (#365)
82e2f84 Small bug in sample config fixed.
9d6d8a0 Packaging (#354)

v1.22.0

13 Aug 21:51
Compare
Choose a tag to compare

Changelog

  • Implementing a universal score calcularor that computes score based on user expression (represented in AST)
  • Each solution remembers its score config (so it can be explained to the user)
  • Better way of reporting errors from exercise valiadator (error messages include tags which can be used for translated errors at client)
  • Adding 'isDetaining' flag to groups, which prevents students from leaving the group on their own

Commits

012429d (HEAD -> master, origin/master, origin/HEAD) Improving user-error reporting for empty exercise specifications (@no-texts).
df9a5ac Adding tests for universal score calculator and fixing found bugs.
15f1999 Adjusting the AST expression representation and utilizing it for universal score calculator implementation.
8a7e0af Creating classes for AST representation of universal score config.
697e747 Fixing exercise limits validation (missing tests in the limits config are reported).
fc0c63b Modifying semantics of broken exercises' error messages.
3efb22f Changing the API of score configs so that Yaml encoding is handled internally and the config is always treated as a structure.
c553f8d Final refactoring and polishing.
d20e29c Adding endpoints that allow retrieving score configs for solution evaluations.
43a748f Updating exercise configs cleanup to encompass the score configs as well (and optimizing the cleanup script).
cba5a38 Making sure that evaluation remembers the exercise score config used to compute the score.
4415702 Simple score calculator was split to uniform and weighted calculators (data migration included).
bc995bd Moving exercise score config into separate entity (score config endpoint breaks BC).
2f67af9 Adding 'isDetaining' flag to groups, which prevents students from leaving the group on their own.

v1.21.0

30 Mar 20:44
Compare
Choose a tag to compare

Changelog

  • Adding support for assignment comments (updating permissions, adding notifications)
  • Unifying submit pre-flight results of reference solutions and regular solutions.
  • Implementing assignment (and exercise) limits for solutions (max. number of files and max. total size).
  • Add support for custom compilation to JVM class + some modifications in Java boxes to support Groovy, Scala, and Kotlin
  • Introduce ScriptExecutionBox for executing custom scripts (to support Bash)
  • Restricting size of various text/string DB columns and adding proper validators to presenters.

Commits

3288968 Sending email notifications when assignment comment is added (and corresponding user settings created).
a108d3a Introducing default values for exercise creation in the config parameters.
78d3906 Updating comments permissions so they can be used the same way for Assignments.
a841842 Export runtimes and pipelines to init fixtures
8c85e69 Switching solution size limits from KiB to Bytes (no data migration, assuming no data yet).
2de93ae Unifying submit pre-flight results of reference solutions and regular solutions.
45a6b99 Fixing minor issue with nullable parameters validation.
d3f84c0 Introduce ScriptExecutionBox for executing custom scripts
0a8c3b8 Implementing assignment (and exercise) limits for solutions (max. number of files and max. total size).
9b9e2da Polishing JVM compilation and execution boxes and JavaUtils
7bc208c Change class-files port to class-files-dir in both compilation and run JVM boxes, also change its type to file instead of array
c69ae8b Remake JavaUtils.constructClasspath to support compiled classes directory and classpath entries given by the exercise author
3fa50da Add support for custom compilation to JVM class files and custom execution
ee41bbd Fixing a bug in solution view which raises when an assignment has been soft-deleted.
e1eea99 Restricting size of various text/string DB columns and adding proper validators to presenters.
8cf4c92 Fixing typo in latte email template.

v1.20.0

12 Jan 23:38
Compare
Choose a tag to compare

Changelog

  • Introduce update-solution endpoint for AssignmentSolution entities (currently for editing the note).
  • Switching from Symfony Yaml parser to PECL Yaml for performance reasons.
  • Add reviewed flag to AssignmentSolution entity. Solution flags endpoints redesigned (old ones deprecated).
  • Implement new type of after submit notification now concerning review flags.
  • Added flag to exercise view that indicates whether an exercise has any reference solutions (i.e., can be assigned).
  • Endpoints for advanced manipulation with tags for super admins.
  • Entire API automatically reformatted by PHP Sniffer to PSR-12.

Commits

d599753 (HEAD -> master, origin/master, origin/HEAD) Aesthetic update of some email notification templates.
74336f1 Reformat the whole thing
ed4fed9 Add beautifier script using phpcbf
012fe6c Remove editorconfig so the project does not use it anymore
92223c4 Refactor in submissionEvaluated function in SubmissionEmailsSender, so the logic is correct
a3932bc Implement new type of after submit notification now concerning review flags
b1f2552 Add assignmentSubmitAfterReviewedEmails flag to UserSettings
9a3ccfa Add test case for update-solution endpoint
7b9e84b Rename submission -> solution in AssignmentSolutionsPresenter on the places where it makes sense
19f7c7e Introduce update-solution endpoint for AssignmentSolution entities
440426e JobConfigPresenter removed since no longer necessary.
a933d4b All Yaml operations wrapped with internal wrapper that uses PECL package (preferably) and falls back to Symfony\Yaml if need be (since it is much slower).
b0910df Tuning up set-flag functionality and alike
a42a429 Add tests of set-flag endpoint on assignment solutions and correct the business functionality
4a859d7 Add set-flag endpoint for assignment solutions
6d906dc Introduce FlagAccessor trait for flaggable entities
3d5f9cb Rename set and uset methods of accepted solution from historical submission
e55741e Add reviewed flag to AssignmentSolution entity
254657d Added flag to exercise view that indicates whether an exercise has any reference solutions (i.e., can be assigned).
41e81c5 Endpoints for advanced manipulation with tags for super admins.
86167d6 Saving previous DB modification (new runtimes and pipelines) into fixtures.

v1.19.0

30 Nov 01:37
Compare
Choose a tag to compare

Changelog

  • Adding new environments filter for exercises.
  • Adding new notification -- teacher is notified when student submits new solution but an accepted solution already exists.
  • Fixing bugs in tags and filters.
  • Fixing Java compilation bug.

Commits

64a09ed New type of notifications added. A mail is sent to the teachers when new solution is submitted, but the student already has accepted solution for that assignment.
96b9f93 Adding tests and fixing bug in tags filter in exercise pagination endpoint.
b81683f Fixing bug in remove exercise tag.
a8b8c7d Adding new filter (selecting runtime environments) for exercise pagination endpoint.
948228f Yet another bug in fixed in assignments deadline management.
51831ab Fixing two bugs in assignment deadline notifications.
eb2a622 Output of JavacCompilationBox is whole directory with compiled class files
a813a40 English fixes

v1.18.2

25 Oct 23:37
Compare
Choose a tag to compare

Changelog

  • Updates in SIS module, filter out organizational groups from possible candidates for joining by students.
  • Group relocation feature added for superadmin.

Commits

19ad419 (HEAD -> master, origin/master, origin/HEAD) Fixing bug in assignment edit endpoint.
d15f96a Filtering out archived and organizational groups from groups offered to students from SIS bindings.
d7bf57e Adding endpoint to relocate groups withing the tree hierarchy.

v1.18.1

05 Oct 19:33
Compare
Choose a tag to compare

Changelog

  • Better handling of unauthorized requests.
  • Correction in can-submit condition check.
  • Fixing bugs.

Commits

6023117 (HEAD -> master, origin/master, origin/HEAD) Fixing assignment solution deletion endpoint (problem with cyclic FK dependency).
7cd7f1a Correction in can-submit condition check.
0f2379d Updating messages and codes of Forbidden request exceptions thrown from access manager.
c088603 Updating unit tests.
bf04c07 Refrain from issuing/refreshing security tokens for disabled users (such user will not be able to do anything anyway).

v1.18.0

21 Sep 12:47
Compare
Choose a tag to compare

Changelog

  • Adding Go and Rust programming languages.
  • Superadmin may change any user password without verifying old password.
  • Updating email templates to support localized email subjects.
  • Support for effective roles in security tokens.

Commits

8bff513 (HEAD -> master, origin/master, origin/HEAD) Introduce FileNameBox, scalar counterpart to FilesNamesBox
098bff5 Adding tests for force password update feature.
9fd833b Superadmin may change any user password without verifying old password.
93297b3 Fixing minor issue with role inheritance testing.
d0ff13d Introduce and use EmailRenderResult holder structure in rendering emails
bf50020 Capitalize New Shadow Assignment email subject
3a1ee99 Add descriptive comment to ob_start function in email-subject macro
adb37b4 Remove unnecessary subject prefixes from email helpers and configuration
3b0f1e8 Use emailSubject macro in all email latte templates
090409f Introduce emailSubject macro and use it in new-assignment notifications
178c7b0 Effective role can now be added to restricted token
db1cdd2 If effective role is present in token, check it in Authorizator alongside with user role and scopes
8fc544f Add effective role field into JWT access token
3f01330 Rename getEffectiveRoles method in Identity to getScopeRoles
1af2dc3 Introducing a new property of the user entity for custom structured UI data and an endpoint for setting them.

v1.17.0

23 May 20:08
Compare
Choose a tag to compare

Changelog

  • Improving performance of assignment best solution identification and related DB schema issues.
  • Adding isBestSolution flag to assignment solution view.
  • Improving text of email address verification email. If it is called just after registration, it welcomes the user.
  • Fixing bugs.

Commits

e9584cb Fixing bug in notification role testing (and better documenting the code to avoid such mistakes).
309309c Fixing unit test issues.
6f65e83 Assignment solution now holds a direct reference to the last submission.
953156f Reducing failures from array to single record in submission serializations.
84deda3 Adding some performance indices and cleaning up some annotation mess.
ed116e7 Converting submission-failure relation to one-to-one.
de1b617 Forgotten role json property for Notification entity
1d0ee91 Fixing minor bug in best solutions retrieval.
73bc267 Minor update of group stats output format.
506dd58 Adding isBestSolution flag to assignment solution view.
190bebc Refactoring and optimizing best solutions retrieval and group stats.
990372a Adding best solution ID to group stats.
1e94ac8 Refactor handling errors on file upload
4ee7832 Improving text of email address verification email. If it is called just after registration, it welcomes the user.
36e6d28 Test names in score config are now trimmed (since we already trim names when tests are being updated).

v1.16.0

14 Apr 10:07
Compare
Choose a tag to compare

Changelog

  • Haskell support.
  • Internal errors redesigned, support for passing error codes to UI.

Commits

1d02aa0 Add frontendErrorCode to bad entry point name exception
dd9725e Use full words in frontend-error-mappings constants names
d5c554d Replace inappropriate invalid state exception with bad request
bf077d1 Mapping of frontendErrorCode for exceptions regarding authentication and registration
86f97c9 Make room for wrong credentials exception frontend errors
adb25f2 Basic frontendErrorCode mapping for soft compilation errors
501676a Reimplement all exceptions to use custom defined frontendErrorCode and frontendErrorParams
c6503db Rename InternalServerError exception
c151316 Change structure of error response. Introduce new error mechanism with custom defined frontend error codes
d585489 Haskell support (#319)
9496420 Replace python-like comments with classical ones
bd75a63 Introduce instance view factory
c408953 Polishing of the compilation exceptions
c890c0a Forgotten exceptions in catch clauses
18aefa0 Introduce new exercise-compilation soft exception which does not trigger email sending
bc8d760 Throw original exceptions in case of error when submitting solutions
f192a88 All exceptions throw in compilation helpers should be of type ExerciseCompilationException