Releases: TEAMMATES/teammates
Releases · TEAMMATES/teammates
Release list
V9.0.0-beta.7
Release 378
Features
- [#13103]Account request form: No need to CC the email 'Acknowledgement of Instructor Account Request' by @Ashwinn11 in #13116
- [#13102] Admin rejecting account request: give actual account in the email template by @Andy-W-Developer in #13118
- [#13105] Admin managing account requests: use spinners to indicate actions in progress by @Respirayson in #13135
- [#12872] Warn instructors not to share link with students by @itstrueitstrueitsrealitsreal in #13137
- [#13104] Accounts request form: auto-unify country names by @franciscoSavala in #13117
- [#12655] Instructor Edit Session Page: If make session visible is later than submission opening time, automatically default to opening time by @Respirayson in #13143
- [#12749] Autosave and restore progress if user navigates away by @Respirayson in #13140
- [#12664] - Instructor's Student Records Page: Accessibility issue for comment buttons by @NeoHW in #13155
- [#13122] Create cancel button for instructor request form by @NeoHW in #13156
- [#12375] Update phrasing of contact page by @itstrueitstrueitsrealitsreal in #13157
- [#13104] Add mappings by @itstrueitstrueitsrealitsreal in #13166
- [#13235] Admin -> account request management page: make action icons buttons by @sanjyot242 in #13252
- [#12508] Give respondents a way to reset a rubric question submission by @NeoHW in #13145
- [#12653] Copy course modal: Mandatory fields not highlighted by @AaronToh in #13411
- [#13472] Instructor session results page: Multiple retry buttons by @iZUMi-kyouka in #13512
- [#13638] Ambiguous delete button for deadline extension by @viictor1 in #13655
- [#13470] Notification Banner: only one notification banner shown at a time by @lthoedt in #13665
- [#12142] Recovering session links: misleading error message when CAPTCHA doesn't show up by @viictor1 in #13666
- [#13455] Allow real email providers in dev server, and implement SMTP sender by @iZUMi-kyouka in #13575
- [#13605] Normalize email addresses to lowercase by @PhoebeY05 in #13630
- [#13471] Notifications page: Add Mark All as Read button by @christinalegaki in #13687
- [#13066] Merge result table with pending account requests table by @AaronToh in #13619
- [#13787] Copy instructors modal: primary action should be rightmost button by @NurSenaKaraduman in #13788
Bug Fixes
- [#13109]-IndexOutOfBoundsException encountered by LogsProcessor by @Ashwinn11 in #13120
- [#12875] Some feedback sessions duplicated in student home page by @Respirayson in #13130
- [#12578]
@sign is shown as@when viewing essay question submission page by @Respirayson in #13142 - [#12779] Fix notifications update logic by @marquestye in #13083
- [#12894] Calculate msq totals by student email instead of name by @itstrueitstrueitsrealitsreal in #13141
- [#13147] Didn't Account for the Timezone in Session Edit Form component tests by @Respirayson in #13148
- [#13331] Remove extra underline under whitespace by @mufaddal404 in #13332
- [#13334] Fix NullPointerException while creating FeedbackSessionData by @DhiraPT in #13335
- [#13338] Radio button selection syncs across Constant Sum questions by @twhjames in #13352
- [#11754] Instructor creating course: 'Institute' drop-down is empty if there are no active courses by @samuelfangjw in #13437
- [#13439] Instructor Notifications Page: Notifications sometimes show as unread despite being read by @iZUMi-kyouka in #13444
- [#13446] Instructor Student Records Page: race condition causes unnecessary data to be fetched by @iZUMi-kyouka in #13457
- [#13524] When copying from previous feedback sessions, unable to type more than 38 characters in feedback session name by @iZUMi-kyouka in #13525
- [#13526] Question details for text, mcq-single, rubric, and numerical scale not preserved when copying from previous session by @iZUMi-kyouka in #13527
- [#13545] Application crashes due to empty build chunk with wrong MIME type by @iZUMi-kyouka in #13549
- [#12679] Fix whitespace-only copied session name validation in copy modal by @YuF-9468 in #13564
- [#13119] Allow instructor account creation when email exists as student account by @AaronToh in #13629
- [#13656] Preserve hyperlink in plaintext email by @Nsohko in #13676
- [#13596] Saved text responses with trailing spaces are incorrectly displayed as unsaved by @Samarth07-ctrl in #13707
- [#12774] Fix feedback sessions not fetched by deadline extensions by @TobyCyan in #13727
- [#13590] Fix fetching and creation of session access activity logs by @samuelfangjw in #13779
- [#13594] Question incorrectly displayed as saved when there are submission errors by @samuelfangjw in #13595
- [#13777] Dynamically generated MCQ/MSQ options are persisted resulting in duplicates by @samuelfangjw in #13778
- [#13590] Fix logs not populating when not logged in by @samuelfangjw in #13785
- [#13552] Copy instructors from other course modal is empty when there are no valid courses to copy from by @Joseph1276 in #13770
- [#13586] Fix student edit form accepts whitespaces in team field by @ishani-das in #13783
- [#13710] Admin Search: Unable to expand account requests row by @BAIZIKING in #13786
- [#13738] Fix broken links without feedbackSessionId by @samuelfangjw in #13817
- [#12596] Instructor extending individual deadlines: table doesn't sort by team by @Gambit-02 in #13792
Code Quality Improvements
- [#13064] Use AccountRequestUpdateRequest as parameter by @Stain19 in #13068
- [#13228] Standardize the Naming Conventions for FeedbackSession Actions by @DhiraPT in #13229
- [#13263] Add null checks to methods in Student class by @DhiraPT in #13264
- [#13592] Enforce unit of work pattern for hibernate sessions by @samuelfangjw in #13626
- [#11760] Decouple deadline extension from feedback session update request by @TobyCyan in #13631
- [#13673] Move PR Request Checker script to a separate js file by @Nsohko in #13686
- [#13662] Add ability to set backend env explicitly by @Nsohko in #13668
- [#13682] Remove parseToEmail from EmailSenderService interface by @DuckyGuy in #13685
- [#13716] Decouple deadline extensions maps from feedback session data by @TobyCyan in #13728
- [#13717] Clean up usages of getUuidFromString by @eduardo-kurek in #13724
- [#13721] Refactor StudentData to have non-nullable userId by @samuelfangjw in #13736
- [#13721] Optimize ReadNotification actions by @samuelfangjw in #13732
- [#13441] Enforce uniqueness constraint for read notifications by @iZUMi-kyouka in #13689
- [#13718] Replace InstructorCommentsComponent inheritance with composition by @eduardo-kurek in #13754
- [#13721] Remove getCopyForUser in FeedbackSession entity by @samuelfangjw in #13797
- [#13721] Convert feedback missing response to a DTO by @samuelfangjw in #13798
- [#13721] Enforce silent deletion at logic layer by @samuelfangjw in #13799
- [#13747] Remove unknown properties from data bundles by @samuelfangjw in #13800
- [#1...
V9.0.0-beta.6
Release 377
Bug Fixes
- [#13076] Account Request Indexing Script (@domoberzin)
- [#13081] Add CAPTCHA to ARF (@xenosf)
Other Tasks
- [#13012] Migrate StudentCourseDetailsPageE2ETest (@cedricongjh)
V9.0.0-beta.5
Release 376
Support Java 21
- [#12885] Update backend libraries versions, support Java 21 (@wkurniawan07)
Account Request Form
@jayasting98 @EuniceSim142 @domoberzin @xenosf @dishenggg @cedricongjh @ziqing26
- [#13009] Handle Duplicate Approved Account Requests (@domoberzin)
- [#12957] Foundation for getting by ID in account request endpoints (@jayasting98)
- [#12898] Add status and comments to AccountRequest (@jayasting98)
- [#12989] Create Rejection Modal for Account Requests (@domoberzin)
- [#12987] Add AccountRequest Rejection email generator. (@EuniceSim142)
- [#12975] Add Edit and Approve Account Requests functionality (@domoberzin)
- [#12982] Create Update Account Request Action (@domoberzin)
- [#12950] Update SearchAccountRequests endpoint (@EuniceSim142)
- [#12944] Create instructor request acknowledgement email (@xenosf)
- [#12933] Update Admin Home Page UI for ARF (@domoberzin)
- [#12929] Upgrade instructor request form UI (@xenosf)
- [#12927] Add GetAllPendingAccountRequests API (@EuniceSim142)
- [#12926] Add new account request alert email for admins (@jayasting98)
- [#12985] Create reject account request endpoint (@xenosf)
- [#13029] Fix reject email content (@ziqing26)
- [#13038] Add sort by created_at for getAllPendingRequests (@EuniceSim142)
- [#13030] Remove mention of home page URL from confirmation email (@xenosf)
- [#13007] Get account request by uuid (@cedricongjh)
- [#13002] Update ResetAccountRequest to reference by ID (@dishenggg)
- [#12953] Add methods to get an account request by ID (@jayasting98)
Student Activity Logs
@dishenggg, @cedricongjh, @FergusMok
- [#12938] Update GetFeedbackSessionLogsAction to use SQL db (@dishenggg)
- [#12914] Create Logic and Db layer for FeedbackSessionLogs (@dishenggg)
- [#12895] Create FeedbackSessionLog entity and cron job action (@dishenggg)
- [#12973] Update front end for session activity logs (@dishenggg)
- [#13037] Fix front end bugs (@dishenggg)
Bug Fixes
- [#13059] Fix Rejection Modal (@domoberzin)
- [#13058] Fix console errors (@domoberzin)
- [#13032] Check if account request is not created by admin before sending email (@xenosf)
- [#13026] Fix Overlapping Tooltip (@domoberzin)
- [#13027] Fix Approval Email Bug (@domoberzin)
- [#12984] Fix Account Request Update Search Indexing (@domoberzin)
- [#13023] Fix getSessionResultAction bugs (@mingyuanc)
DevOps/Build-related
- [#12930] Update liquibase configuration (@NicolasCwy)
- [#13052] Migrate committers (@ziqing26)
Other Tasks
- [#12992] Remove feedbackSession attributes @fetch annotation (@NicolasCwy)
- [#13016] Migrate instructor home page e2e test (@cedricongjh)
- [#13014] Migrate InstructorStudentListPageE2ETest (@cedricongjh)
- [#13013] Migrate InstructorStudentRecordsPageE2ETest (@cedricongjh)
- [#12940] Migrate FeedbackNumScaleQuestionE2ETest (@marquestye)
- [#12994] create skeleton for sql LNP tests (@cedricongjh)
- [#12996] Create documentation for unit tests (@cedricongjh)
V9.0.0-beta.4
Release 375
DevOps/Build-related
- [#12048] Configure connection pool using hikari by @FergusMok in #12978
Release V9.0.0-beta.3
Release 374
DevOps/Build-related
- [#12048] configure agroal connection pool by @cedricongjh in #12971
Release V9.0.0-beta.2
Release V9.0.0-beta.1
Release 372
PostgreSQL migration
Datastore to Cloud SQL migration script
- [#12048] Prepare Patch Data Migration Script for Account by @ziqing26 in #12883
- [#12048] Patch account and read notification migration by @ziqing26 in #12884
- [#12048] Revert getFilterQuery for Account Data Migration Script by @ziqing26 in #12887
- [#12048] Add verification migration script by @NicolasCwy in #12890
- [#12048] V9 migration verification script optimisation - fetch ReadNotifications for account comparison by @NicolasCwy in #12905
- [#12048] Rerunnable Account Request Migration Script by @ziqing26 in #12932
- [#12048] Relax read notif verification for migration verification script by @NicolasCwy in #1293
- [#12048] Patch Usage Statistics Migration by @ziqing26 in #12889
- [#12048] V9 migration and verification script optimization by @FergusMok in #12896
Bug fixes
- [#12048] Fix get feedback sessions action by @cedricongjh in #12886
- [#12048] fix resetAccountAction by @cedricongjh in #12934
- [#12048] add delay to task queuer for indexing account request by @cedricongjh in #12936
- [#12921] Reintroduce AccountRequest search indexing by @jayasting98 in #12923
Testing
- [#12048] Add tests for FeedbackQuestionsDbIT by @dishenggg in #12781
- [#12048] Add integration tests for FeedbackResponseCommentsDb by @xenosf in #12849
- [#12048] Add deep comparison for entities in
verifyEqualsfor E2E by @domlimm in #12892 - [#12048] Migrate InstructorNotificationsPageE2E by @yuanxi1 in #12906
- [#12048] Migrate FeedbackMsqQuestionE2ETest by @dishenggg in #12904
- [#12048] Migrate Feedback Rank Option E2E test by @mingyuanc in #12902
- [#12048] Migrate FeedbackMcqQuestionE2ETest by @dishenggg in #12820
- [#12920] Create script to migrate noSQL test data to SQL schema format by @NicolasCwy in #12922
- [#12048] Remove unnecessary loading of datastore entities in InstructorNotificationsPageE2ETest by @dishenggg in #12911
- [#12048] Migrate InstructorCourseDetailsPageE2ETest by @jayasting98 in #12908
- [#12048] Migrate InstructorSearchPageE2ETest by @domoberzin in #12891
- [#12048] Add integration tests for FeedbackResponsesDb by @xenosf in #12856
- [#12048] Add SQL injection tests in FeedbackSessionsDbIT by @jayasting98 in #12857
DevOps/Build-related
- [#12048] Add SQL configuration into build.properties and build-dev.properties by @FergusMok in #12917
- [#12048] Add SQL description for postgres config by @FergusMok in #12931
Bug fixes
- [#12693] Excess padding on edit course details component (@abdullahsohailcs)
Other Tasks
- [#12588] Add unit tests for visibility panel by @Andy-W-Developer in #12868
- [#12588] Improve test code coverage of QuestionResponsePanelComponent by @leyguan in #12867
- [#12588] Add unit test to rubric-question-edit-details-form by @cedricongjh in #12907
- [#12588] add unit tests for question submission form by @cedricongjh in #12897
- [#12588] Add unit tests to question edit answer form by @cedricongjh in #12935
- [#12588] Improve test code coverage of core components - ViewResultsPanelComponent by @techMedMau in #12918
- [#12588] Improve test code coverage of core components - ToastComponent by @techMedMau in #12916
- [#12271] Docs: Upgrade to latest MarkBind version by @jingting1412 in #12893
- [#12909] :Dev docs (E2E testing): update Chromedriver link by @nadasuhailAyesh12 in #12924
V9.0.0-beta.0
Release 371
New Feature - Datastore to Cloud SQL migration
- Entity Migration
- Action Migration
- Test Migration
- Data Migration for non-Course entities
- @EuniceSim142, @FergusMok, @NicolasCwy, @cedricongjh, @daongochieu2810, @dishenggg, @domlimm, @domoberzin, @hhdqirui, @jayasting98, @kevin9foong, @marquestye, @mingyuanc, @samuelfangjw, @weiquu, @wkurniawan07, @xenosf, @yuanxi1, @zhaojj2209, @ziqing26
Other Tasks
- [#12693] Excess padding on edit course details component (@abdullahsohailcs)
V8.30.0
Release 372
Bug Fixes
- [#12691] Instructor Home Page: Students dropdown buttons of the wrong colour (@SArora12)
- [#12676] Instructor's Student Records Page: Tooltips for comments (@yuanxi1)
- [#12675] Instructor Edit Session Page: Bug in Grace Period Tooltip (@nknguyenhc)
- [#12667] Instructor's Student Records Page: Misleading name for canceling of comment edit (@abdqudus)
- [#12611] Instructor courses page: other actions dropdown cut off (@Xiawanggg)
- [#12601] Fix deadline extensions update issue (@cedricongjh)
- [#12558] Instructor edit feedback session page: NumberFormatException when inputting decimal numbers into distribute points questions (@dlimyy)
- [#12580] Instructors Edit Feedback Session: Instructor is able to edit submission opening time to an earlier timing (@dlimyy)
- [#12574] Instructor edit session page: Fix custom visibility table overflow (@RohithSurya)
- [#12570] Flickering questions when loading session results (@blejkowski)
- [#12573] Popover appears in front of modal blocking buttons (@Mex7180)
- [#12561] Sessions page fix (@DamiGbs)
New Features and Enhancements
- [#12053] Per Receiver Submission (@hhdqirui)
- [#12670] Copying feedback session: mark session name as mandatory field when copying feedback session (@andreiyusupau)
- [#12659] When adding a comment while submitting responses, show visibility of the comment as well (@hallovera)
- [#12660] Student Home Page: Indicate default sort (@averheecke-scottlogic)
- [#12662] Instructor Home Page: Dropdown buttons on mobile (@Tejasker)
- [#12673] Instructor's Student Records Page: Feedback session panel chevron barely visible (@Tim-Siu)
- [#12623] add mouse hover and add dotted line to the icon (@Jiaqi093)
- [#12620] Set character limit on question description (@u7718594)
- [#12617] Instructor: Feedback Session: Mark mandatory fields for creating and editing session (@Ting-TT)
- [#12591] Instructor view session results (course-wide): Add separate button to download results by question (@MaharshiPedu)
- [#12567] Instructor home page: Improve display of card header on mobile (@Mex7180)
DevOps/Build-related
- [#12694] Update Angular to 16 and Node to 18 (@wkurniawan07)
- [#12560] Add a trigger for good first issues (@nagarajan-ck)
Other Tasks
- [#12701] Replace ng command in setting-up.md (@kevin9foong)
- [#12696] implement createSpyFromClass test-helper (@cedricongjh)
- [#12684] Update Documentation to include updating of snapshot tests (@cedricongjh)
- [#12672] Remove redundant newline in Development section of Docs (@pushkarkohli1)
- [#12627] Added unit tests for SessionEditFormComponent (@kenneySiu)
- [#12622] Added unit tests for ExtensionConfirmModalComponent - average coverage 98% (@MatheuMa)
- [#12638] Create Unit Tests for FeedbackMcqQuestionDetailsTest.java (@mhoualla)
- [#12626] Add some unit test in recipient-type-name (@ThomasGreen123)
- [#12609] Added unit tests for CommentTableModalComponent (@kenneySiu)
- [#12616] Improve test code coverage of CopySessionModalComponent (@Astrid641)
- [#12612] Add unit test for every method in CommentRowComponent (@ThomasGreen123)
- [#12604] Add unit test for every method in CommentEditFormComponent (@HarryLu33)
- [#12610] Added unit tests for ErrorReportComponent (@u7488099)
- [#12648] Fix accessibility tests (@weiquu)
- [#12645] Fix Failing Accessibility Test (@weiquu)
- [#12613] Add unit tests for FeedbackPathPanelComponent (@JYH11)
- [#12600] fixes typo error (@Technmad)
- [#12597] Added unit tests to CourseEditForm component. (@lunoos)
- [#12595] Docs: Clarify masquerade mode (@jasonqiu212)
- [#12593] Add unit tests to DatePickerFormatter (@dlimyy)
- [#12592] Add unit tests to datepicker component (@dlimyy)
- [#12590] Add unit tests to copy course modal component (@cedricongjh)
- [#12589] Add unit tests to comment-visibility-setting-pipe (@cedricongjh)
- [#12539] Refactoring of sortable tables - Student list (@domoberzin)
- [#12556] Refactoring of sortable tables - Extension Confirm Modal (@domoberzin)
V8.29.0
Release 371
Bug Fixes
- [#12545] Rubric Question Statistics: Handle empty weights (@jasonqiu212)
- [#12553] Instructor sending submission reminders: missing space between checkbox and label (@sgadkar2)
- [#12543] Instructor Home Page: Remind dropdown expands into the table (@rexong)
New Features and Enhancements
- [#12540] Instructor Course Page: Make "Show" group tabbable (@rexong)
- [#12546] Instructor sessions page: Empty deleted sessions table is not displayed (@mariemllr)
- [#12542] Allow header dropdown to be opened with enter key (@domoberzin)
- [#12503] Limit word and character count for text editor. (@rexong)
- [#12521] Instructor courses page: some items don't show spinners (@rexong)
- [#12426] Comments for Responses for Essay Question (@ellaella12)
- [#12493] Student home page: Make it easier to navigate courses (@Zxun2)
DevOps/Build-related
- [#12515] Separate stable and unstable E2E tests (@domoberzin)
Other Tasks
- [#12528] Update tzdb version to 2023c (@weiquu)
- [#12525] Updated development.md (@Rajdeep1311)
- [#12501] Refactoring of sortable tables - Sessions table (@Zxun2)
- [#12506] Add steps on how to use the masquerade mode in developer guide (@theKelvincode)