You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Waitlist number is available on section/course modal.
Events will be highlighted on mouse hover.
Add a button for copying an existing event to a new event.
The width of the schedule grid can be changed.
The weight of each sort option in combined mode can be customized.
Changes
Events with overlapping time can now co-exist
The reference schedule used by sort by similarity can exist.
Optimizations
Algorithm bootstrapping time is reduced by 60%, resulting from the optimization of string-similarity.
Blocks sorting (in ScheduleEvaluator) is 25% faster with the use of a compact Int32Array for storing the time arrays for each section.
Schedule render engine is optimized to better deal with some extreme cases. It is also significantly faster now.
Note
The URLs created (for sharing profiles) prior to this version are incompatible to this version. The compatibility of URLs will also not be ensured in the future versions. If you want backward compatibility, please use the Export to JSON function instead.
Internal changes
IndexedDB is used in place of LocalStorage for catalog data. With its larger capacity, multiple semesters' data can be stored at the same time.
The All property of Schedule instances now stores sections ids rather than section indices.
Course and Section instances are created through Object.create. Courses are only reconstructed for storing a subset of its sections. Sections do not have constructors anymore and are unique in memory. They are never copied. Meetings do not have a prototype anymore.
Vuetify is removed to reduce code bundle size and style conflicts. Components are replaced with their Bootstrap counterparts or hand-crafted Vue components.
Documentation update.
String-similarity is no-longer listed as a package. Its source code is optimized and directly integrated.
TSLint is not used anymore. TypeScript code linting is achieved with ESLint.