Releases: awesome-schedule/plannable
Releases · awesome-schedule/plannable
Release v8.2: Blazing Fast Fuzzy Search
Important Updates
- Re-implemented fuzzy search (i.e. approximate match of course title/prof/etc.), achieved 10x speed boost and reduced 80% memory use. Now, the fuzzy search tab is enabled by default.
- Fixed schedule loading/parsing for courses with TBA/TBD/invalid dates.
New Features
- Targeted-search auto-completion helps you search title/number/etc. only
Enter a ":" | Select and press Enter | Search |
Release v8.1.0
New Feature
- Enable uploading schedules by importing iCalendar (.ics) files downloaded from SIS. ICalendar files exported by our website/app since v8.1 can also be imported.
Fix
- Fixed date-drift problem on exported iCalendar files.
Internal Changes
- Extract key-conversion (i.e. 'cs11105' -> CS 1110 Lecture) code to config to enable customization.
- Update doc.
- Enable get section by 5-digit id.
Release v8.0: Plannable Desktop
New Features
- Plannable desktop app is available for all three major platforms. You can download the app from GitHub release.
- Group selection mode enables you to take multiple sections per course.
Changes
- The copy button will copy the current generated schedule if in "View Schedule" mode.
- The release note display is optimized.
Fixes
- Fix the disappearing date separators on page load if in "Edit Class" mode. See this line.
- Fix the inability to switch profiles when clicking empty regions.
Note
- The URLs created (for sharing profiles) prior to this version are incompatible with this version. The compatibility of URLs will also not be ensured in future versions. If you want backward compatibility, please use the Export to JSON function instead.
- The experimental feature "fuzzy search" is broken in this release due to changes in the upstream "fast-fuzzy" package. It is expected to be fixed in the next release.
Release v7.6: Interval Scheduling
Fixes
When no sections of a course are selected, an error icon (rather than a warning in previous versions) will be shown.
Internal changes
The core schedule rendering algorithm changed from graph-coloring based methods to interval scheduling, with improvements in both speed and optimality.
Release v7.5
New Features
- A warning sign will be shown if an enabled sorting option has no effect (e.g. when all schedules have the same coefficient for this option)
Changes
- Optimized date display. Days and months less than 10 will be prefixed by zero, so 3/3 will become 03/03.
Release v7.4: Spring 2020
Fixes
Fixed a problem with profile loading when switching to a different semester.
Release 7.3: New SIS Integration
There are no new features for this release. We just published a couple of fixes for the new data from SIS and Lou's list.
Fixes
- Fixed time parsing and course type parsing
Release v7.2: More Color Schemes
New Features
- New color schemes
Changes
- The bug report icon now links to a google form. You can fill out that form to submit a bug report.
Fixes
- Fix combined section display on mobile devices.
Internal changes
- Update dependencies
- Modal components are moved to a dedicated directory.
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 future versions. If you want backward compatibility, please use the Export to JSON function instead.
Release v7.1: Internal Refactoring
New Features
- 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.
Major Release v7.0
New Features
- Weekend support: You can add events and have classes on weekends. Uncheck "Show Weekends" in settings to display only weekdays.
- Sort by similarity: Find the schedule most similar to another schedule. To access this function:
- Load your target schedule and click "compare"
- Go to the "Compare" tab and select this schedule as "Ref"
- (Optional) Go to the "Filter" tab and customize other sort options
- This process will be simplified in future releases
- Release notes modal: A popup showing the release notes of a new version
- Hoosmyprofessor integration: Now you can store your profiles on Hoosmyprofessor
- Course ID dropdown: The original
14235+6
style IDs are now changed to dropdowns, showing all IDs
Optimizations
- Schedule generation speed: Up to 60% faster*
- Memory usage: Up to 80% less memory usage*
- URL sharing: Up to 90% shorter
*Tested on Google Chrome v75, with 200,000 schedules generated.