- Fix an issue where admin attempting to create a new institution when an existing registration with the same issuer and client_id fails
- Update deployment migration scripts to use
Oli.Release.migrate_and_seed
instead ofOli.ReleaseTasks.migrate_and_seed
- Ability to Archive Products and toggle display of "show archived" products
- "Available Date" setting for assessments added
- Extended the Revision History tool to allow access to hierarchy, objectives and editing of children attributes
- Markdown editing support in Basic Pages
- Project export now includes required survey and all products
- Assessments with zero activities can now be submitted
- Added search capability and role type indication in My Courses view
- Added tooltips that explain progress and proficiency calculations
- Expose student email address in Manage Enrollments
- Transfer student data, progress from one enrollment to another enrollment (in different section)
- Add better support for copy and paste of rich content (html, word, docs) into editor
- Add "enroll by email and role" feature
- Improved product and section creation performance
- New analytics infrastructure for tracking aggregate student performance
- Optimized raw data download feature
- Fixed handling of super activity iframe size
- Fixed typo in enrollment modal window
- Removed creation of unnecessary grade update worker jobs
- Fixed scheduling bug related to times being reset
- Updated "customize curriculum" link text to be consistent
- Fixed drag and drop hints from obscuring feedback
- Fixed numeric list creation issue
- Prevent users from enrolling as guests when enrollment is required
- Fixed quiz scores tab horizontal scrolling from obscuring student name
- Fixed progress calculations in archived sections
- Fixed quiz score calculations for suspended students
- Fixed rendering of discussion posts in archived discussions
- Fixed dark mode issues in advanced author
- Fixed saving multiple new container additions during remix
- Fixed cash net in LTI iframe operation
- Fixed problem with repeated learning objectives in scored activities view
- Fixes table rendering when missing a caption inside of paged group
- Fixes drag and drop bugs related to attempt reset
- Fixes problem with deleting hints on multi-part activities
- Restores ctrl-z undo support
- Fixes several issues with MediaManager UI
- Corrects evaluation of student input with scientific notation that does not include a decimal point (e.g. 1e-9)
- Fixes a bug where customized assessment settings can revert when new publications apply an update to that graded page
- Allow configuration of HTTP/HTTPS cowboy protocol options
- Expose settings related to configuring at runtime sizes and constraints on HTTP server header contents
HTTP_MAX_HEADER_NAME_LENGTH (Optional) HTTP/HTTPS Maximum length of header names for Cowboy (Default 64)
HTTP_MAX_HEADER_VALUE_LENGTH (Optional) HTTP/HTTPS Maximum length of header values for Cowboy (Default 4096)
HTTP_MAX_HEADERS (Optional) HTTP/HTTPS Maximum number of headers allowed per request for Cowboy (Default 100)
LOG_INCOMPLETE_HTTP_REQUESTS (Optional) Log incomplete HTTP requests (Default true)
- Query performance for proficiency calculations
- Fix performance issue for learning proficiency calculation
- Fix an issue in assessment review of multi inputs where text was being truncated
- Fix a couple issues related to custom drag and drop activities
- Fix an issue where explorations are not carried over during section creation from a product
- Prevent data loss from normalization of certain list items
- Fix deletion of hints on multi input activities
- Fix due date on assessment settings
- Fix activities due soon in recommended actions tab
- Add the authoring capability to mark multiple targeted feedbacks as correct
- Improved handling of adaptive pages that have hard deadlines
- Added explanatory tooltips to the Assessment Settings UX
- Fixed a bug where Scheduler date/time labels disappeared
- Fixed a bug with handling gates without end dates
- Removed the background colors of the Dialog content element rendering
- Handle scientific notation with an explicit "+" sign in response evaluation
- Fix styling inconsistencies in Example content groups
- Ensure that course section creation inherits the cover image from a product
- Fix styling issues for dark mode rendering of the Likert activity
- Correct the link to the top-level discussion forum
- Fix an issue where scheduler can "drift" one day due to incorrect timezone handling
- Fix an issue where page to page links cannot be created
- Fix an issue with dark mode rendering of Discussion activity
- Fix an issue where deleting Learning Objectives can generate an error and reload the LO view in certain circumstances
- Fix an issue related to dark mode rendering of the block insert menu
- Fix a bug in displaying the All Products view
- Tech support modal initialization issues
- Legacy migration fixes
- Normalize whitespace upon rule evaluation of activities
- Multi input dropdown now allows shuffling of individual parts
- Allow previewing of gated resources
- Fix an issue with page links and course flow related to pages outside hierarchy
- Always show hints in unscored pages even after attempt evaluations
- Various authoring bug fixes and enhancements
- Instructor dashboard top level navigation, reports and content views
- Student dashboard views
- Adaptive flowchart authoring
- Add edit page links to product view
- Soft scheduling controls for suggested by, in class activity on, and due by
- Add support for scored pages time limit, grace period, late start, late submit and auto submit
- Require start and end datetimes for sections
- Password protected attempt starts
- Instructor and student onboarding wizards
- Student progress CSV downloads
- Allow payment bypass for a particular student
- Enable selection of all pages including ones outside the hierarchy in remix
- Add ability to jump to a specific page in delivery
- Add system configurable persistent login sessions
VENDOR_PROPERTY_SUPPORT_EMAIL (optional) specify an email address where users can contact the support team
ALWAYS_USE_PERSISTENT_LOGIN_SESSIONS (optional) when set to 'true', the system will always login authors and users as
a persistent session i.e. "Remember me" (expires after 30 days inactivity)
- Add ability to author polygonal image hotspots with mouse
- Soft scheduling
- New UX
- Improved collaborative space management capabilities
- Exploration pages
- Fix an issue with dynamic questions and variables that contain " or \
- Removes global state caching to fix problems with a class of adaptive pages
- Fix an issue with duplicate part ids on ingest
- Fix some performance issues related to published resources trigger
- Allow admin users to review adaptive page attempts
- Fix an issue with table layouts
- Fix an issue where ordering choices were not ordered correctly in review
- Fix an issue with popup audio element
- Fix an issue where command button submitted multiple choice
- Fix an issue where legacy block LaTeX were not rendered correctly
- Fix an issue where mixed-case collaborator emails would fail
- Fix an issue where multiple active publications can occur
- Add tab for authoring 'explanation' feedback to all activities
- Add support for definition element
- Add support for dialog element
- Add support for vlab activity type
- Add support for explanation feedback (legacy multiple feedbacks)
- Add all activities view
- Add support for conjugation element
- Add support for activity page links
- Remove submit button and automatically submit multiple choice questions in formative
- Add playback speed control to video elements
- Add support for alternatives/alternative
- Add activity/question numbering in graded pages
- Upload media as content-addressable in S3 storage
- Allow components in adaptive editor to be resized
- Add support for collaboration spaces
- Upgrade to Phoenix LiveView 0.18
- Optimize webpack to improve development compile times
- Add client side reporting to appsignal for core and adaptive authoring.
- Updated hint logic to be consistent across core-lesson question types and allow requesting hints for auto-submit questions.
- Fix an issue where activity content containing backslashes prior to parser escaping breaks evaluation
- Fix an issue where survey reset wasn't working properly
- Fix an issue where content cant be removed if there is only one top-level element
- Add support for inline 'term' markup
- Add support for branching activities and page automation
- Improve toolbar styles and usability
- Add ability to browse all pages in a course project
- Add Math input question type
- Fix an issue where scroll wheel changes the value of numeric input
- Fix an issue where underlined and strikethrough text were not being rendered
- Fix an issue where guest user_id is blank in datashop export
- Allow insertion of tables, iframes and all other elements in stem, choices and feedback
- Change 'Submit Assessment' button to 'Submit Answers'
- Product ingestion support
- Fix a problem with handling groups and surveys
- Fix a problem with activity bank selections
- Fix an issue where activity bank styles were not rendering properly
- Fix an issue where question STEM isn't displayed in ordering answer key
- Fix an issue with the insertion menu visibility in dark mode
- Survey delivery support
- Legacy Custom Drag and Drag activity support
- Improve the way activity bank edit locks are presented to a user
- Add proper datashop session id tracking
- Add ability to set bullet-style on ordered and unordered lists
- Fix an issue related to session cookies
- Restore ability to edit title of basic pages
- Fix an issue where formatting toolbar covers content
- Prevent deletion of non-empty curriculum containers
- Fix an issue where analytics weren't properly including remixed sections
- Provide more context in the browser tab
- Improve the learning objective selection dropdown
- Improve authoring improvement insights UI
- Improve content and activity insertion menu
- Dynamic question infrastructure
- Improve performance of DataShop export
- Fix an issue where multi-input activity inputs were being duplicated
- Fix an issue where table headers were misaligned in the insights view
- Fix an issue where table caption rendering throws an internal server error
- Allow deletion of objective to cascade through to banked activities
- Allow for broader range of number of attempts, including unlimited, for scored pages
- Add survey authoring support (behind feature flag)
- Add File Upload activity
- Simplify objective creation, improve attachment UX
- Fix an issue where paging in Activity Bank did not preserve filtered logic
- Fix link editing
- Fix an issue where delivery styles were not being applied correctly
- Fix an issue where table editor options dropdown was hidden behind editor
- Add content groups and paging support
- Fix an issue where get connected button on publish page doesn't work
- Fix an issue where multiple user accounts linked to a single author results in an internal server error
- Fix inability to search in projects and users view
- Properly handle the case that a section invite link leads to an unavailable section
- Fix empty hints showing up in delivery mode
- Fix table styling when words overflow bounds
- Fix popup content editing
- Fix image alt text rendering
- Add tooltips to insights table headers, add keyboard navigation
- Change ordering question interaction after activity is submitted
- Fix cross-project activity deletion bug
- Allow for student-specific gating exceptions
- Display containers as pages with a table of contents
- Logic-based gating
- Allow learning objective attachment to pages
- Instructor review of completed graded attempts
- Allow gates to be defined in products
- Hide subsequent purpose types for activities when the same purpose type is used in a series
- Allow students to pay and apply codes during a grace period
- Activity SDK
- Add editor settings for Image, Webpage (iframe), Youtube elements
- Support rich text (formatting, etc.) in page content captions
- Improve performance of initial page visits by introducing bulk insertions of attempts
- Fix enrollments view rendering problem in sections that require payment
- Ensure score can never exceed out of for graded pages
- Ensure multiple payment attempts is handled correctly
- Handle cases where recaptcha payload is missing
- Ensure user_id is unique in DataShop export
- Only highlight failed grade sync cells when section is an LMS section
- Fix adding image/audio in page editor
- Fix add resource content positioning issues
- Only allow admins to edit paywall settings
- Optimize rendering and storage by allowing attempts to only store transformed models when necessary
- Adds support for Legacy OLI custom activities
- Set up support for Legacy OLI activities as follows:
- Check out a copy of the repo https://github.com/Simon-Initiative/torus_superactivity to a local folder
- Configure torus oli.env file to include a variable named SUPER_ACTIVITY_FOLDER and set the variable to point to the folder above, e.g. SUPER_ACTIVITY_FOLDER=torus/superactivity
- Ensure the folder is readable to the running torus instance
SUPER_ACTIVITY_FOLDER local folder location of static support files for Legacy activities
- Fix bug preventing rendering of student progress view
- Improved robustness of grade passback implementation
- Fix bug related to missing title assign in preview mode
- Fix a bug where open and free sections could not be created from products
- Fix a bug where payment codes were not displayed
- Fix a bug that prevented editing internal links when only one other page exists
- Fix a bug that prevented content from being added during remix
- Fix a bug that prevented payment processing for product-less paid sections
- Fix a bug that allowed paid status of a section to be toggled off
- Fix a bug that resulted in products being able to be created with invalid grace period days
- Fix Open and Free section creation when done through the admin panel
- Fix an issue where LTI 1.3 deployments should represent individual institutions
- Move LTI 1.3 registrations listing to live view table with search, sorting and paging
- Fix LMS course section creation to properly set the blueprint reference
- Fix a bug where null deployment id results in empty string in pending registration form
- Fix a bug where immediately removing a new activity leaves it visible to the system
- Fix an issue where selecting the actual checkbox in select source list doesn't work
- Updates the labelling of options in the project visibility view
- Send total points available during LMS line item creation
- LMS Lite functionality. Admins can allow delivery users to create sections through OLI by toggling their ability to "create sections" and adding the "independent learner" role in the admin interface. These "independent instructors" can then create sections with a start/end date that are private and require an invitation to join. Instructors can invite students by creating an invite link from the section management portal -- any student with this link can enroll automatically.
- Add support for configurable vendor properties
- Allow default brand to be changed via release env var
- Display course section and course project slug identifiers
- Allow sections created from free products to have their payment settings edited
- Add student input parsing to show student responses in datashop export
- Change datashop session id to not reflect the user
- Gating and Scheduling
- Fix issue with bulk line item grade sync
- Allow instructors to manually send one student grade to LMS
- Fix bug that prevented deletion of authors that have locked resource revisions
- Fix an issue related to next previous page links that causes 500 internal server error on advanced authoring pages
- Fix a bug that prevented MultiInput activities with dropdowns from evaluating correctly
- Fix a bug that prevented SingleResponse activities from properly restoring student state
- Fix a bug that was preventing manual grade sync from executing
- Instructor "Preview" mode
- Fix the rendering of HTML special characters within activities
- Fix an issue where email was always being required regardless of independent_learner and guest status
- Improve error logging
- Determine author's initials in a more robust manner
- New Popup page element
- Fix an issue where simultaneous section creations can result in more than one active sections for a given context
- Fix an issue with sorting by title in open and free source selection table
OpenSSL 1.1.1 Upgrade Required
Releases are now built using openssl11-devel for erlang which means that OpenSSL 1.1.1 is required to be installed on the deployment target for all future releases.
# centos
sudo yum install openssl11
The following environment configs are now available for AppSignal integration. All are required for AppSignal support. If none are specified, AppSignal integration will be disabled.
APPSIGNAL_OTP_APP (Optional) AppSignal integration OTP app. Should be set to "oli".
APPSIGNAL_PUSH_API_KEY (Optional) AppSignal API Key
APPSIGNAL_APP_NAME (Optional) AppSignal app name. e.g. "Torus"
APPSIGNAL_APP_ENV (Optional) AppSignal environment. e.g. "prod"
- Fix problem with accessing course product remix
- Make score display in gradebook more robust
- Fix page editor text selection from resetting when a save triggers
- Fix formatting toolbar tooltips not showing
- Fix formatting toolbar format toggling
- Fix insertion toolbar positioning
- Fix insertion toolbar tooltips not disappearing after inserting content
- Fix insertion toolbar tooltips not showing
- Fix an issue where the button for inserting a table would move around unless the mouse was positioned in just the right way
- Fix an issue with Apply Update button and move content updates to async worker
- Fix text editor issue where image resizing didn't work from right drag handle
- Fix text editor issue where link editing tooltip could overlap with formatting toolbar
- Fix an issue where previewing a project with no pages crashes
- Fix some issues related to searching and viewing sortable tables
- Fix an issue where activity submissions would not display activity feedback
- New Admin landing page
- New Instructor Course Section overview page
- Allow LMS and System admins to unlink LMS section
- Gradebook and graded page per student details with instructor centered grade override
- Student specific progress display
- Fix a style issue with the workspace footer
- Prevent objectives used in selections from being deleted
- Fix an issue where modals misbehaved sporadically
- Move "Many Students Wonder" from activity styling to content styling
- Fix an issue where nonstructural section resources were missing after update
- Add analytics download fields
- Add datashop timestamps for seconds
- Fix datashop bugs with missing elements caused by deleted pages not showing in the container hierarchy
- Fix an issue where minor updates were not properly updating section resource records
- Add multi input activity
- Add multi input model validation
- Add advanced section creation remix
- Allow for section creation from course products
- Add analytics / insights data export button
- Add ability for an admin to browse all course sections
- Add server driven paged, sortable table for project list
- Add ability to remix materials from multiple projects
- Fix insert content popup in page editor
- Add blackboard LTI 1.3 configuration instructions
The following environment configs are now available:
PAYMENT_PROVIDER (Optional) Sets the paywall payment provider. Current available options are 'stripe' or 'none'
STRIPE_PUBLIC_SECRET (Required if PAYMENT_PROVIDER=stripe)
STRIPE_PRIVATE_SECRET (Required if PAYMENT_PROVIDER=stripe)
BLACKBOARD_APPLICATION_CLIENT_ID (Optional) Blackboard registered application Client ID. Enables LTI 1.3 integration
with blackboard instances and allows torus to provide configuration instructions.
- Handle titles of activities correctly in analytics download
- Fix datashop export dataset name, missing skills
- Add ability to download raw analytic data
- Fix an issue where a selection fact change can break the page
- Fix an issue where a page can be duplicated within a container
- Fix an issue where generating resource links for tag types throws a server error
- Fix activity choice icon selection in authoring
- Fix targeted feedback not showing in delivery
- Fix delivered activity choice input size changing with content
- Fix an issue related to LTI roles and authorization
- Fix an issue where platform roles were failing to update on LTI launch
- Fix an issue that prevents projects page from loading when a project has no collaborators
- Fix an issue where changing the title of a page made the current slug invalid
- Properly handle ordering activity submission when no student interaction has taken place
- Fix various UI issues such as showing outline in LMS iframe, email templates and dark mode feedback
- Fix an issue where the manage grades page displayed an incorrect grade book link
- Removed unecessary and failing javascript from project listing view
- Restore ability to realize deeply nested activity references within adaptive page content
- Fix an issue in admin accounts interface where manage options sometimes appear twice
- Allow graded adaptive pages to render the prologue page
- Allow Image Coding activity to work properly within graded pages
- Add infrastructure for advanced section creation, including the ability to view and apply publication updates
- Enable banked activity creation and editing
- Add user-defined tag infrastructure and incorporate in banked activity editing
- Allow filtering of deleted projects as an admin
- Add the ability for an admin to delete user and author accounts
- Fix an issue where unlimited collaborator emails could be sent at once
- Allow for submission of graded pages without answering all questions
- Add API support for bulk activity updating
- Fix iframe rendering when elements contain captions (webpage, youtube)
- Fix iframe rendering in activities
- Fix an issue where mod key changes current selection
- Standardize padding and headers across all pages
- Fix an issue where users with social logins have null sub
- Fix an issue where Update Line Items was failing
- Redesign overview page, change language
- Allow multiple comma-separated collaborators to be added at once
- Fix styling issues including darkmode
- Fix an issue with timestamps containing microseconds
- Fix an issue when creating snapshots for insights
- Updated research consent form
- Fix datashop export content model parsing
- Fix incorrect table column alignment on Insights page
- Truncate "relative difficulty" on Insights page
- Change wording on "Break down objective" modal
- Make "Break down objective" explanation image responsive
- Fix page editor content block rendering issue in Firefox - increase block contrast
- Fix problem in Firefox where changing question tabs scrolls to top of page
- Fix an issue where deleting multiple choice answers could put the question in a state where no incorrect answer is found
- Fix an issue where activities do not correctly restore their "in-progress" state from student work
- Fix an issue where images and audio could not be added to activiites
- Fix an issue where activities do not render correctly in delivery mode
- Fix an issue with image coding activity in preview
- Persist student code in image coding activity
- Add ability to generate and download a course digest from existing course projects
- Redesign check all that apply, multiple choice, short answer, and ordering activities
- Merge activity editing into the page editor
- Redesign the workspace header to include view title, help and user icons
- Clearly separate the hierarchy navigation and page editing links in curriculum editor
- Implement smaller sized left hand navigation pane
- Fix an issue preventing deletion of projects whose names contain special characters
- Fix an issue related to persisting sessions across server restarts
- Fix an issue where modals and rearrange were broken in curriculum view
- Fix an issue where toggling multiple choice answer correctness could cause submission failures
- Image coding: disable submit button before code is run
- Allow setting of arbitrary content from upload JSON file in revision history tool
- Add ability for independent learners to create accounts, sign in and track progress
- Image coding: remove extra space at end of printed lines (problem for regexp grading)
- Fix issues related to exporting DataShop events for courses that contain hierarchies
- Fix an issue with the torus logo in dark mode
- Fix to support rich text content with empty models
- Fix to properly identify the correct choice in multiple choice activities
- Fix internal authoring links
- Add support for detecting problematic database queries
- Allow adaptive pages to render without application chrome
- Save cookie preferences in delivered courses
- Add support for page content grouping
- Add image resizing
- Introduce load testing support
- Expose telemetry metrics for Prometheus metrics scraping
- Add support for course package delete
- Add support for disabling answer choice shuffling in multiple choice, check all that apply, ordering questions
- Add support for moving curriculum items
- Allow analytic snapshot creation to run asynchronous to the rest of the attempt finalization code
- Fix help and logo links on register institution page, change help form to modal
- Add missing database indexes, rework resolver queries
- Fix ability to request hints
- Fix content editing after drag and drop in resource editors
- Fix internal links in page preview mode
- Fix projects view project card styling
- Fix problem with inputs causing clipping in Firefox
- Fix problem with difficulty selecting and focusing in Firefox
- Fix problem where containers with no children were rendered as pages in delivery
- Fix some style inconsistencies in delivery and dark mode
- Fix an issue where reordering a curriculum item could result in incorrect n-1 position
- Add OpenAPI docs for user state service
- Enable OpenAPI docs on all environments at /api/v1/docs
- Add ability to change images in pages and activities
- Add extrinsic user state at the resource attempt level
- Add bulk fetch endpoint for retrieving collection of activity attempts
- Add sequential page navigation to editor and full course preview
- Enable ecto repository stats in live dashboard
- Add ability to unlink a course section from an LMS
- Image code activity: use syntax highlighting code editor
- Support page-to-page links during course ingestion
- Use section slugs instead of ids in storage service URLs for delivery endpoints
- Fix a crash when an existing logged-in user accesses the Register Institution page
- Activity feedback fixes and unit tests
- Remove support for image floating to fix display issues in text editors
- Change activity rule, outcome modeling for use in adaptive activities
- Fix an issue when creating section allows multiple sections to be created
- Improved rendering robustness when content elements are missing key attributes
- Disable access to OpenAPI docs in production
- Add multi-project support to Revision History tool
- Add Open and Free section support
- Feature flag support
- Add research and cookie consent support
- Extrinsic user state endpoints
- Fix analytics / insights to not show parent course analytics after duplication
- Remove help link in preview mode
- Fix security vulnerability
- Account for ingested pages that have missing objectives
- Fix check all that apply + ordering activity submission in published projects
- Fix issue where long lines in code blocks in activities overflow
- Change how ids are determined in ingestion to avoid problems with unicode characters
- Scope lock messages to a specific project
- (Developer) Auto format Elixir code
- Fix attempts sort order
- Fix feedback in live preview and page preview
- Remove unused "countries_json" configuration variable
- Image coding activity: clarify author solution entry UI
- Fix an issue where administrators cannot configure a section without instructor role
- Fix an issue where publishing or duplicating courses would cause save errors in page and activity editors
- Fix keyboard deletion with media items
- Add extra newline after an iframe/webpage is inserted into an editor
- Fix an issue where slug creation allowed some non-alphanumeric chars
- Add the ability for an activity to submit client side evaluations
- Change project slug determiniation during course ingestion to be server driven
- Add the ability to limit what activities are available for use in particular course projects
- Add the ability to duplicate a project on the course overview page
- Fix an issue where cancelling a curriculum deletion operation still deleted the curriculum item
- Fix an issue where the projects table did not sort by created date correctly
- Fix an issue where activity text that contained HTML tags rendered actual HTML
- Fix an issue where pasting text containing newlines from an external source crashes the editor
- Fix an issue with null section slugs and deployment id in existing sections
- Fix an issue where large images can obscure the Review mode UI
- Fix an issue where accessibility warnings for pages with multiple images only show the first image
- Fix an issue where existing sections might not be found on LTI launch
- Add LTI 1.3 platform launch support
- Add support for project visibility control
- Add storage, media, and objectives service API implementations
- Move LTI 1.3 functionality to external Lti_1p3 library
- Add support for preview mode in graded assessments
- Replace use of context_id in favor of the unique course section slug
- Allow Slack hook URL to be unspecified during LMS LTI registration
- Prevent LTI launch to an iframe to avoid third-party cookie issues
- Honor the current location when inserting block content (YouTube, images, etc)
- Remove foreign key constraint that tied a user to an institution
- Do not display stale locks in Curriculum view
- Ensure error messages always visible in page and activity editors
- Remove ability to cancel activity creation during objective selection
- Fix missing status 201 handling on Freshdesk API call
- Fix an issue where creating an institution with the same url as multiple existing institutions creates another new institution
- Improved LTI workflow for new institutions
- Add support for embedding images in structured content editors by external URL and by pasting a copied image
- Ordering activity
- Add support for user help requests capture and forward to email or help desk
- Fix a broken link to external learning objectives content
- Fix an issue where new local activities were not being registered on deployment
- Add support for check all that apply activity
- Fix an issue where special characters in a course slug broke breadcrumb navigation in editor
- Fix some silently broken unit tests
- Improved objectives page with new "break down" feature
- Add API documentation
- Fix an LTI 1.3 issue where launch was using kid to lookup registration instead of issuer and client id
- LTI v1.3 launch support
- Grade passback via LTI AGS
- "Check all that apply" activity
- Improved editing UI
- Course hierarchy support
- New account email verification, password reset
- Collaborator and user invitation
- Course ingestion
- Fix "best" scoring strategy to calculate max points correctly
- Initial release