- Enabled teachers to create and edit groups/students
- Added toggle buttons in group reports
- Added averages for each skill when viewing students
- Added average mark info and mark counts chart in skill view
- Fixed duplicate skills showing in skill index
- Upgraded to Rails 7.2
- Upgraded Ruby to 3.3.6
- Added inline student creating & editing in Group view
- Added database procedure which updates enrollments according to earliest grades
- Modified Student API to return group_id according to Enrollments
- Implemented Enrollments API
- Added Datepicker component and modified forms with dates to use it
- Added Count of Graded/absent/total students and total lesson average mark in lesson view
- Changed Group lesson summaries to show average of students' averages
- Modified enrollments trigger when updating students to properly update active_since and inactive_since fields
- Changed student lesson summaries and related views to include enrollments
- Fixed Migration data with proper active_since and inactive_since values
- Fix for graph in single lesson view to properly highlight current lesson
- Added Reports page for generating printable reports containing group and student summaries
- Added attendance to Group Lesson view and attendance graph for Reports
- Added button in group view that generates report
- Added enrolled students table for group reports
- Show gender when viewing student tables
- Added enrollment chart in group reports
- Group reports are now split according to subject
- Removed old lesson Ids
- Fixed missing data for groups with only one lesson in group analytics
- Added validation for existing tags in an organization
- Blocked users from removing a graded skill from a subject
- Removed absence from student lesson summaries and added lesson date
- Restructured Lessons to go by their UUID
- Disabled decimals for 'No of Assessments' & 'No. of Lessons' in analytics
- Upgraded Rails to 7.1
- Enabled YJIT
- Added analytics for last 30 day grade average for students.
- Added analytics for last 30 day grade average for groups.
- Added canonical and noindex tags to stop search engines from indexing staging site
- Implemented Organization, Chapter & Group deletion
- Upgraded Ruby to 3.3.1
- Added a tooltip when hovering long titles
- Added 'Nonbinary' as a gender option
- Fixed #1770 - students missing in lesson view
- Added policy scoping for Subjects and Assignments
- Fix seeding by making sure MLID is a string
- Make sure all MLIDs are always uppercase by
- Sorted organizations in new group form
- Upgraded Ruby to 3.3.0
- Fixed #1805 - made sure to display form validation errors in red
- Fixed #1804 - defaulting student DOB to January 1st
- Redesigned the whole application
- Implemented Organization editing
- Student creation will redirect to the previous location
- Validating organizations MLID can be up to 3 characters
- Implemented independent scoping for tables so it's possible to have multiple tables per page with independent sorting
- Made search dynamic; it does not reload the page and triggers automatically 200ms after the last keystroke
- Default table orders are now created_at descending, showing the most recent entries first
- Implemented smaller forms such as student tags, as animated drop forms on the index pages
- Updated Rails to v7
- Removed healthcheck from skylight endpoints
- Fixed the student table bug where table row number started at 2
- Removed Sass
- Implemented a marketing landing page
- Fixed crash when navigating to a student tag that is in use by some students
- Upgraded Ruby to 3.0.3
- Implemented structured group select in the student form
- Enabled students to change groups
- Created Enrollments to track groups the student was enrolled to over time
- Upgraded to Ruby 3
- Upgraded Omniauth to v2
- Analytics filters are now stored in the URL making them shareable
- Added Number of Datapoints to General Analytics
- Fixed Student MLID scoping by group instead of by chapter
- Alphabetized Chapters in New Group form
- Added MLID to Groups
- Added subjects the skill belongs to in single skill view
- Added MLIDs to Organizations
- Added MLIDs to Chapters
- Scoped Student MLIDs by Chapter and Organization
- Fixed non-global users being unable to see the lessons page
- Upgraded to Rails 6.1.2
- Fixed Analytics dropdown defaulting to All Organizations
- Fixed Analytics Subjects not displaying individual organizations
- Alphabetized all Analytics dropdowns
- Deployment for AWS
- Optimized a few eager database queries
- Fixed clicking Update Role when no role is selected crashing the app on the single user screen
- Organizations in the single user screen are now paged
- Organizations in the single user screen can now be searched
- Added a health endpoint
- Upgraded Ruby to 2.7.2
- Implemented search for chapters
- Added more information in the General Analytics Performance Graph tooltip and the ability to click on point to go to lesson
- Improved performance of Analytics dropdowns
- Defaults Analytics to first organization
- Remove deleted resources from analytics
- Upgraded Rails to 6.0.3.2
- Upgraded Ruby to 2.7.1
- Implement Student Tags
- Use
c.
notation for estimated date
- Fixed displaying group analytics instead of a single student when a student is selected
- Upgraded Ruby to 2.6.5
- Hiding creation buttons from users that aren't permitted to use them
- Fixed issue with new MDL fields not being activated in coccoon forms
- Added Country of Nationality field to Students
- Not displaying deleted skills when creating subject
- Implemented student ordering in single lesson view
- Default Lessons view order
- Added color indicators for student grading status in single lesson view
- Added a display of graded and total students in group in the lesson table
- Fix Lesson Graph not showing on the first load
- Added Average Grade column to lesson table
- Fix some lessons erroring out because of wrong date format
- Updated Logging aggregation
- Made snackbar more consistent by removing the in-out animation
- Added autofocus to first field of most forms (student, group, chapter, ...)
- Added page titles
- Adjusted layout for smaller screens in single lesson view
- Fixed showing Student Lesson for a lesson when student is no longer in the group lesson was in
- Added total average mark and grade count in single lesson view
- Ignoring deleted grades in Students list in single lesson view
- Showing all skills in single lesson view, even if their grades were deleted
- Made Students searchable by MLID
- Added "Create another" prompt after creating a new group
- Added the button to Add a new student directly to the current group
- Made "Create another" student prompt pre-fill the current group
- Made "Create another" group prompt pre-fill the current chapter
- Redesigned Lesson Page
- Added nearby lesson performance visualization to the Lesson Page
- Redesigned Skill Page
- Skill Deletion
- Skill Undeletion
- Integrated Analytics
- Added Lesson date and grade count to Group Analytics graphs tooltips
- Added clicking on data points in Group Analytics to go to individual lessons
- Limit user image size to 50px in the sidebar
- Added link to download mobile app
- Improved the performance of student index listing (fix for N+1 query)
- Fixed inconsistencies in UI after clicking back/forward - MDL and Turbolinks were not properly resetting
- Upgraded Ruby to 2.6.4
- Only allow global administrators with a higher global role to delete users
- Implemented User Deletion
- Upgrade Ruby to 2.6.3
- Fix Google Login for users that have uppercase letters in their emails
- Differentiate between invalid Google id_token and a valid id_token but non-existent MindLeaps user
- Policy scoped grade v2 API
- Fix N+1 Query on individual user view
- Implemented search for Skills
- Updated table styles to simplify and unify table margins
- Implemented Search for Students table
- Implemented Search for Groups table
- Implemented Search for Users table
- Handle pagination overflows by displaying the last page
- Updated views for new grade structure
- Policy scoping API index responses for V2 of API
- Fix v2 deletion endpoint to properly use lesson UUID instead of the old ID
- Added authorization for v2 API
- Added a v2 API for grades that uses skill_id and mark to relate to grade_descriptors
- Added skill_id and mark to Grades
- Added UUIDs for Lessons
- Added a v2 API for Lessons UUIDs for identifiers
- Upgraded Ruby runtime to 2.6.1
- Enable showing deleted students in single group view
- Added paging to first and last pages
- Add Material loading bar for Turbolinks
- Fix Highcharts instantiating multiple times because of Turbolinks
- Disable Performance tab for students that have no grades
- Improve UX of back/up button in student pages
- Integrated Turbolinks to improve app performance
- Require students to belong to a group
- Remove organization association from students
- Show Restore deleted group button on group show
- Redirect after group deletion back to referrer
- Show Deleted functionality for Students and Groups
- Undelete Students and Groups
- Student header actions now available on the student images view
- Added request_id key for logging
- Added meta-request for dev information in Chrome dev tools
- Fixed N+1 query with loading current_user roles
- Adds Edit Student button to each row in the student table
- Back button now returns back to the referrer page (like browser back)
- Submitting grades for student now redirects back to the lesson page
- Enable users to generate a short lived API token on their profile page
- Preserving Student gender when editing student details
- Exclude empty student lessons, by default, in Student performance view
- Incorporated student images in the student menu, along with details and performance
- GET /grades API returns only grades that were updated within the last 4 months
- Separated student performance and details into separate tabs
- Displaying student performance on student page
- Fix Scoping for GroupSummary
- Caching drawer navigation based on request path
- Using "Unknown" instead of "Unactive User"
- Improved Lesson View with average mark and graded skills
- Sorting/Ordering by column values in resource tables
- Counting only undeleted students in group and chapter student count
- Paging in resource tables
- POSTing to /grades to create a new grade will update the existing grade and return 200 instead of returning 409 conflict
- Upgraded Rails from 5.2.0 to 5.2.1
- Upgraded pg from 1.0.0 to 1.1.2
- Upgraded slim from 3.0.9 to 4.0.0
- Upgraded Pundit from 1.1.0 to 2.0.0
- Upgraded Skylight from 1.6.1 to 2.0.1
- Upgraded Fog Core from 1.45.0 to 2.1.0
- Upgraded Fog AWS from 2.0.1 to 3.0.0
- Removed sdoc
- Setup log format to JSON
- Sending logs to Datadog
- Upgraded pg from 0.21.0 to 1.0.0
- Upgraded Ruby from 2.4.3 to 2.5.1
- Upgraded Rails from 5.1.6 to 5.2
- Upgraded Skylight from 1.6.0 to 1.6.1
- Upgraded Tiddle from 1.1.0 to 1.2.0
- Upgraded Rails from 5.1.5 to 5.1.6
- Upgraded New Relic agent from 4.8 to 5.0
- Upgraded Skylight from 1.5.1 to 1.6.0
- Fixed Datadog DB connect address
- Upgraded Rails from 5.1.4 to 5.1.5
- Upgraded Puma from 3.11.2 to 3.11.3
- Upgraded Simple Form from 3.5.0 to 3.5.1
- Upgraded Bullet from 5.7.2 to 5.7.5
- Upgraded Selenium-webdriver from 3.9.0 to 3.11.0
- Upgraded Rubocop from 0.52.1 to 0.53.0
- Upgraded Devise from 4.3.0 to 4.4.3
- Upgraded Tiddle from 1.0.2 to 1.1.0
- Integrated with Datadog (base, nginx, and Postgres)
- Revert Policy scoping on Organizations API (The Mobile is not ready)
- Revert removing
after_timestamp
parameter from Organizations API
- Upgraded capybara from 2.17.0 to 2.18.0
- Upgraded i18n from 0.9.4 to 0.9.5
Applying Policy scope to Organizations APIignoring after_timestamp parameter for Organizations API
- Base Release