Skip to content

Releases: ReCodEx/api

v2.5.0

30 Oct 22:31

Choose a tag to compare

Changelog

  • Code reviews implemented.
  • Fixing bugs.

Commits

be9b8ab Fixing a bug in notifications.
2e6de55 Adding assignments into pending reviews response (since they will be needed as well).
3558d40 Fixing issues created by reviewer.
70ae26a Decapitalizing "Yours" in Czech latte templates.
c353f67 Fixing forgotten detail in database migration.
86da417 Adding endpoint to list pending reviews of a user.
87eae39 Adding tests for code reviews, fixing discovered bugs.
506928c Creating a command for periodic script that notifies teachers about pending (possibly forgotten) opened reviews.
5463edc Adding email notifications for important review-related operations.
3511806 Code review comments representation and corresponding endpoints.
8cd00af Fixing incorrect computation of aggregated values in assignment solvers repository.

v2.4.0

20 Sep 11:05

Choose a tag to compare

Changelog

  • Full migration to PHP 8.1 (older versions no longer supported)
  • Updating package dependencies
  • Switching from GUID to UUID for database IDs
  • Tracking solutions with immutable "attempt" counters assigned incrementally (this identification holds even when solutions got deleted)
  • User-configurable iCal endpoints that export calendar data (deadlines)
  • Teachers may invite new students to ReCodEx (registration by invitation)
  • Group admins may create invitation links (that can be sent via alternate channels or published outside ReCodEx) for registered users so they can join groups.
  • GCC and FPC compilation pipelines have now a configurable path to compiler executable (makes it easier to use alternate GCC versions on the workers).

Commits

2156b8a #! v2.4.0
ad01bc5 Fixing tests to comply with modifications in gcc and fpc compilation boxes (pipelines need to be fixed to include new port).
d2559fb Adding optional path-to-compiler port for gcc, g++, and fpc compilation boxes.
036b6a5 Minor adjustments of group invitations.
2f59b21 Adding tests for new group invitations presenter and fixing discovered bugs.
b8df716 Implementing group invitation entities and corresponding endpoints for management and utilization.
d10d3dc Fixing date format in invitation mail.
9f31616 Unit tests for user invitation endpoints.
7271603 Implementing endpoint for accepting invitations (creating user accounts from invitation tokens).
3a38c65 Implementing an endpoint for sending invitation emails (intended for teachers).
1fcf8b7 Adding tests for calendars presenter.
a4b2db1 Refactoring webapp URLs generator so it can be shared between email senders and iCal.
4756f18 Adding iCal output of deadline events and related endpoints for managing iCal tokens.
3acbe3e Removing old code.
7b4f53e Adding tests related to assignment solvers.
a7c89e6 Integrating assignment solvers into the rest of the core module, adding a route for fetching entities.
4019727 Updating DB entities to track solution attempt index (new AssignmentSolver entity introduced, migration created).
574b256 Changing guid to uuid in database comments of ID columns.
98d2263 Fixing email latte extension.
34b29aa Refactoring and cleanup.
9d7e2f9 Fixing tests broken by migration to PHP 8.1 and new versions of packages.
4d05f4d Setting PHP 8.1 as minimum required version. Upgrading dependencies and fixing new phpstan errors.
ebe303e Merge branch 'master' of https://github.com/ReCodEx/api
d1814e0 Minor bugs and formatting issues.
5dd018e Bump guzzlehttp/guzzle from 6.5.5 to 6.5.8
f5cdd3f Add space after failure email subject prefix
1842353 Bump guzzlehttp/psr7 from 1.8.3 to 1.8.5

v2.3.0

14 Mar 00:35

Choose a tag to compare

Changelog

  • Upgrading dependencies, switching strictly to PHP 7.4 (PHP 7.3 support dropped!)
  • Adding CLI for fixing exercise configs when compile-args are added to C/C++ environments.

Commits

da95b34 #! v2.3.0
8d00c00 Adding cli command for fixing variables in exercise configs when pipelines are updated.
87b807c Removing PHP 7.3 from CI tests.
5a85e3b Fixing tests after upgrades.
dd95b51 Updating composer dependencies (lock file), correcting fixtures loader autowiring (for DI container).

v2.2.1

16 Feb 23:23

Choose a tag to compare

Changelog

  • Adding accepted flag to group stats view.

Commits

50075ec #! v2.2.1
4c852a7 Adding accepted flag to group stats view.

v2.2.0

11 Feb 19:48

Choose a tag to compare

Changelog

  • Significant modifications in pipeline-related endpoints.
  • Adding boxes required for Maven runtime.
  • Runtime CLI commands for import, export, and exercise config migration.
  • Bug fixes.

Commits

961474b #! v2.2.0
c8ddbcc Creating new command to fix exercise configs when runtime is updated by import command.
f5abfab Fixing bug in task dependencies serialization.
150a515 Fixing bugs.
270ec6b Custom compilation do not check existence of output file if the port is not occupied.
a254906 Fixing bug in scalar-to-array conversion boxes.
cae1689 Adding extract box for decompressing project archives (e.g., in zip).
a594258 Fixing bugs, improving code.
1997b90 Bump latte/latte from 2.10.3 to 2.10.8
54634fd Fixing bugs.
1fe0bb4 Adding small epsilon value to points calculation before the value is floor-ed.
16b6586 Implementing runtime (and pipelines) import command. The runtimes and pipelines have been removed from init fixtures as they will be now imported explicitly.
8c7509c Implementing runtimes:export bin command to backup runtime environments and their pipelines.
e744716 Code cleanup and fixing bugs.
f8e84f2 New endpoint to fetch a list of exercises that use particular pipeline.
e1cd56a Removing exercises from pipelines in endpoints and view; forkedFrom added to pipeline view.
113c42f Providing frontend code and metadata for bad request exception caused by version mismatch in update actions.
4cdf5c5 Allow supervisor to create (or change existing to) global pipelines.
7109a27 New endpoint for setting pipeline-environments associations.

v2.1.1

21 Nov 22:55

Choose a tag to compare

Changelog

  • Optimizing endpoint for fetching paginated exercises.

Commits

2f28d4a #! v2.1.1
fdc92ae Optimizing exercise pagination endpoint by integrating some ACL checks into database queries.
49539a9 Implementing lookup cache of membership relations for exercise permission policies (performance optimization).
be7d29c Bug in dispatcher (async job unschedule fails) fixed.
ee27ec4 Bug in dispatcher (async job unschedule fails) fixed.

v2.1.0

14 Nov 23:39

Choose a tag to compare

Changelog

318bd49 Updating ACLs to divide assignExercise permission between group and exercise, which can be checked independently.

  • Adding deadline to shadow assignments and allow notifications to be sent when the deadline approaches.
  • Adding last submission entity into view of reference solution.
  • Migrating ui-specific user settings into user UI data record.
  • New scheduled async job that notifies users about new assignments which have exact date from which they are visible.
  • Fixing output buffering issue that overflows memory when larger files are downloaded.
  • Adjusting ACLs - preventing students reading exercises (bugfix) and making exercise assignment more lenient

Commits

e953aa8 #! v2.1.0
318bd49 Updating ACLs to divide assignExercise permission between group and exercise, which can be checked independently.
09b124c User titles can be edited by the user only in case of local accounts (same as for the name).
22ed1af Adding deadline to shadow assignments and allow notifications to be sent when the deadline approaches.
bb3f83d Making sure download actions are logged as well in user actions log.
3bab8a6 Adding last submission entity into view of reference solution.
7343949 Fixing ACLs -- students are not the group members that should be allowed access to exercises.
7d43b37 Fixing the migration to correctly convert bools.
a202e34 Updating the ui update endpoint to merge the ui data as default (overwrite is optional by a flag).
8e87ef3 Migrating ui-specific user settings into user UI data record.
40e063c Implementing scheduled async job that notifies users about new assignments which have exact date from which they are visible.
43b3554 Preparing new scheduled async job that sends email notifications the moment new assignment becomes visible to students.
4859c62 Fixing output buffering issue that overflows memory when larger files are downloaded.

v2.0.2

10 Oct 22:53

Choose a tag to compare

Changelog

  • Fixing bugs
  • Preventing users with not validated mails from receiving notifications

Commits

bcbaa0c #! v2.0.2
2dcbf34 Fixing a bug.
33c4127 Removing paragraph about user settings from emails not affected by settings.
c4d36d9 Users with not verified email address will not receive any regular mail notifications.

v2.0.1

03 Oct 11:40

Choose a tag to compare

Changelog

  • Fixing bugs (and pretty serious one in db:cleanup:uploads command).
  • Updating ACLs to impose restrictions for modification in archived groups.
  • Improving performance (fixing inotify) in async worker.

Commits

3661fde #! v2.0.1
db8d5e2 Only group admin can bind group to SIS scheduling event (not supervisor).
1162845 Fixing the cleanup script that removes files from partial uploads that have no corresponding entity.
c25a132 Imposing restrictions on data modifications within archived groups.
1449df9 Fixing inotify notifications for async worker.

v2.0.0

25 Sep 18:13

Choose a tag to compare

Changelog

  • Implementing async operations (jobs) executed in background worker (as a service).
  • Resubmit all operation re-implemented as an async job.
  • Per-partes file upload so that large files may be handled (despite the limitations of PHP upload handler).
  • Optimizing archiving flags for groups.
  • Refactoring group memberships and introducing new "observer" membership type (corresponding endpoints refactored in backwards incompatible way).
  • Implementing linear interpolation for assignment max. points between the first and the second deadline.
  • Optimizing storage for submissions containing single ZIP archive (will be necessary for Maven).
  • Endpoints for retrieving files were modified to allow direct retrieval compressed files from ZIP archives (backwards incompatible changes).
  • Solution files are now marked with entry-point flags (actual main file of the solution for interpreted languages).
  • New endpoint for retrieving all solutions of a single user from all assignments of a group.
  • Extensive refactoring and dependency updates.

Commits

da36bce #! v2.0.0
d956826 Renaming "degrees" to "titles" in the user entity.
0f633a0 Creating new endpoint for retrieving all solutions of a user from all assignments in a group at once.
4a20951 Refactoring code into solution files view.
b35d81d Enhancing solution files endpoints to mark entry point files as well.
9672490 Fixing bug in permissions related to new observer membership type.
545c409 Updating download and contents endpoints to allow retrieving nested files from ZIP archives if possible.
41520e5 Creating new endpoints for retrieving solution files.
c72c89e Removing old routes.
202a8e1 Removing files from solutions structures (and simplifying the structure).
bc46d2f Fine-tuning, bug-fixing, cleanup.
b4fdecf Creating SolutionZipFile entity and optimizing special case when a single ZIP archive is submitted as a solution file (the archive is not compressed again).
b70ea61 Refactoring: Combining common parts of assignment and reference solution submission into submission helper.
92ed2bd Optimizing compression level for nested ZIP archives in file storage.
671cf39 Adding observer membership type.
0eab9b0 Fixing and improving groups default action, removing unused stuff from users view (user no longer carry memberships information).
60522f9 Unifying API routes for membership manipulation (backward incompatible modifications).
114980b Updating model to fully embrace the inherited memberships and use membership inheritance for archived groups.
496448d Integrating group admins into group_membership relations.
47dfa25 Optimizing archiving flags for groups.
799ceef Implementing max. points linear interpolation between first and second deadline.
f6973fb Fixes after rebasing magic-accessors-begone
6957b45 Update composer dependencies
c40481e Fixes from review comments and type properly all repositories
be7ad31 Repair some other phpstan issues with typing
1429027 Add phpstan analysis for tests in CI
5f15eeb Properly type repositories for phpstan analysis
657832b Get rid of Kdyby MagicAccessors and generate getters/setters in entities
611cd95 Updating pipeline fixtures to hold new JVM migrated configurations.
a57cae8 Migrate java related pipeline configurations from specific java compilation/execution boxes to more general ones
dd9d0a9 Adding offset query param to append operation for verification.
73c0548 Adding digest feature so the frontend may verify the success of an upload by comparing hashes.
abd36c3 Adding tests and fixing found bugs.
09ec4cc Updating uploads cleanup command to encompass partial uploads as well.
05f0e1c Implementing API endpoints for file uploads conducted per-partes.
e636833 Merge pull request #392 from ReCodEx/async-ops
aaefe79 Satisfying code reviews.
b57f03c Merge branch 'master' of https://github.com/ReCodEx/api into async-ops
f0ac4a3 Adding basic async jobs tests and fixing some minor issues.
49553d6 Re-implementing resubmit all (solutions of an assignment) as an asynchronous job.
8b0220b Refactoring submission process, moving common parts to SubmissionHelper.
52459b6 AsyncJobs upkeep command that deletes old jobs and sends warning emails if jobs get stalled.
be191fc Updating async worker to better handle termination on signal (i.e., graceful shutdown of the service).
ae9368e Fixing bugs.
709df78 Database migration (adding async jobs table).
e889456 Implementing presenter and routes for async jobs (including ACLs).
cfda7a5 Adding a ping (empty) async job handler.
c75cd1a Adding systemd service file that should keep async worker running.
6d6eee2 Adjusting the condition that checks whether an assignment localization needs syncing with exercise.
2ccfb87 Updating score calculation to compute points even if some of tests failed in compilation.
1acc342 Implementation of the async operations core (worker, dispatcher, ...).