MyTimetable 2019 release notes
The following additions and changes were made in the MyTimetable 2019 releases, listed from new to old. For significant new features or important changes, a link to a separate blog post will be available.
Version | Type | Description | More info |
---|---|---|---|
2019.25 (2019-11-03) | BUG | MSSQL JDBC configuration properties not all working correctly | |
BUG | attributesGrantedAuthoritiesProvider cannot be overridden | ||
MAINTENANCE | S+ NG: use cached V_GLOBAL information for week labels and terms | ||
2019.24 (2019-10-30) | FEATURE | TermTime DP rework: exam activities | |
FEATURE | Publication rules: 'remove' size of activity | ||
FEATURE | Support new OSIRIS authentication scheme | ||
ENHANCEMENT | Missing index on subscription FindByTimetable | ||
ENHANCEMENT | Option to disable condensing / group by weekly pattern | ||
ENHANCEMENT | Replace jTDS with Microsoft JDBC driver | ||
BUG | GWT: interface not showing correct list of filtered event types for sync | ||
BUG | Mobile: activity size not showing in details | ||
BUG | Admin menu does not show expanded items after navigation | ||
BUG | Provisioning API: GET on user without attributes returns a NPE | ||
BUG | EC remoting does not work with backslashes in usernames | ||
BUG | ES: grouping of activities does not preserve custom attributes | ||
BUG | API: cookie behaviour when requesting a timetable via an elevated token | ||
BUG | Events moved by post-processing are not retrieved correctly | ||
BUG | Admin Requests and errors statistics page misses proper headers on metrics graphs | ||
BUG | GCal: large updates fail and/or are processed very slowly | ||
BUG | GCal: sync tempfailing after user removes event | ||
BUG | Export on overview page broken | ||
BUG | EC: next recovery attempt always empty | ||
BUG | Error handling duplicate events | ||
MAINTENANCE | Remove 'deduplicate' and 'group` parameters from core getSchedule(..) methods | ||
MAINTENANCE | Minimal Spring Boot implementation for MTT Web | ||
MAINTENANCE | Linux systemd unit definition for Spring Boot | ||
MAINTENANCE | EC: retrieve timetables from MTT web | ||
MAINTENANCE | Remove statistics by scheme from admin panel | ||
MAINTENANCE | Upgrade Resilience4j circuit breaker to 1.1.0 | ||
MAINTENANCE | Replace web.xml with WebApplicationInitializer | ||
MAINTENANCE | Windows service support for MyTimetable web | ||
MAINTENANCE | Replace deprecated SizeAndTimeBasedFNATP in Logback config | ||
MAINTENANCE | Improve logging of TimetableIndexingTask | ||
MAINTENANCE | Upgrade ical4j to 3.0.11 | ||
MAINTENANCE | Remove clustered profile from IDEA run configurations | ||
MAINTENANCE | Merge admin modules into one | ||
MAINTENANCE | Determine outdated dependencies | ||
2019.23 (2019-09-30) | FEATURE | Lookup implementation: datasource-based | |
ENHANCEMENT | Danish translations part deux | ||
ENHANCEMENT | Update admin panel texts for notifications | ||
ENHANCEMENT | O365 EC: handle ErrorInvalidUser as permanent failure | ||
ENHANCEMENT | Remove exception based logic in MessageSourceChain | ||
BUG | Presto: students timetables cannot be viewed when student is attached to multiple programmes | ||
BUG | API roles should not use userprefs roles | ||
BUG | Class documentation SqlLookup unfinished | ||
BUG | Event misses students when grouping by module | ||
BUG | '{brcypt}' Typo in UPGRADE_NOTES.md | ||
MAINTENANCE | Remove respond-minmax support | ||
MAINTENANCE | Remove html5shiv support | ||
MAINTENANCE | Fail gracefully if EC not available | ||
2019.22 (2019-09-17) | FEATURE | Lookup implementation: SQL-based | |
BUG | iCal timetables broken | ||
MAINTENANCE | Upgrade mobile Bower dependencies | ||
MAINTENANCE | Upgrade bower dependencies | ||
2019.21 (2019-09-06) | ENHANCEMENT | TermTime: Fine-tune circuitbreaker config | |
ENHANCEMENT | OAuth migration after Spring Security 5 upgrade | ||
BUG | Removal loop in InfinispanInMemoryDataContainer#storeTimetables() is broken | ||
BUG | Typo in MyTimetable DataSource class | ||
BUG | Outdated link on the Unsupported browser page | ||
MAINTENANCE | IRIS dataprovider fault handling | ||
MAINTENANCE | Fine tune SQL connection properties | ||
2019.20 (2019-08-30) | BUG | Mobile: options/sequences not sorted | |
2019.19 (2019-08-29) | FEATURE | Translate MyTimetable to Danish | |
FEATURE | Auth: flexible granted authorities provider | ||
ENHANCEMENT | Consistently apply entity and timetabletype filters | ||
ENHANCEMENT | MyTimetable EC Windows install instructions / scripts / service runner | ||
ENHANCEMENT | TermTime: disable cookie/session management on API access | ||
BUG | Error logged/incomplete response on 404 without session | ||
BUG | iCal feed can be requested by user without authentication | ||
BUG | S+ NG: SQL Server selecting wrong query plan for module timetable retrieval | ||
BUG | Datasource label translation issue | ||
BUG | Mobile events cannot be opened when sections enabled | ||
BUG | Echo/notifications explanation texts shown in mobile/help | ||
BUG | Message role filtering concurrency issue | ||
BUG | Recording message shows safe:"" | ||
BUG | WebUntis data import task is locked | ||
MAINTENANCE | Upgrade NodeJS to latest LTS | ||
MAINTENANCE | Upgrade Yarn to 1.17.3 | ||
MAINTENANCE | Upgrade google-http-client-jackson2 to 1.31.0 | ||
MAINTENANCE | Upgrade google-oauth-client to 1.30.1 | ||
MAINTENANCE | Upgrade icu4j to 64.2 | ||
MAINTENANCE | Upgrade adal4j to 1.6.4 | ||
MAINTENANCE | Upgrade opencsv to 4.6 | ||
MAINTENANCE | Upgrade JAX-B | ||
MAINTENANCE | Upgrade commons-beanutils to 1.9.4 | ||
MAINTENANCE | Upgrade commons-io to 2.6 | ||
MAINTENANCE | Upgrade resilience4j-circuitbreaker to 0.17.0 | ||
MAINTENANCE | Upgrade Apache POI to 4.1.0 | ||
MAINTENANCE | Upgrade SonarQube Gradle Plugin to 2.7.1 | ||
MAINTENANCE | Upgrade Gradle to 5.6 | ||
MAINTENANCE | Upgrade Spring Boot to v2.1.7 | ||
MAINTENANCE | Remove Windows authentication support | ||
MAINTENANCE | Remove AD attribute reader | ||
MAINTENANCE | Upgrade commonmark-java to 0.13.0 | ||
MAINTENANCE | Upgrade google-api-services-calendar to 1.30.1 | ||
2019.18 (2019-08-19) | FEATURE | WebUntis: make type of import configurable | |
FEATURE | WebUntis: import JSONRPC format | ||
FEATURE | WebUntis API: periodically refresh timetable | ||
FEATURE | WebUntis API: refresh timetable button in admin panel | ||
FEATURE | Lookup implementation: REST API | ||
FEATURE | WebUntis: merge consecutive periods based on period number | ||
ENHANCEMENT | WebUntis API: decouple TSV format from import | ||
ENHANCEMENT | Increase SAML user details flexibility | ||
SECURITY | XSS in values in DataTables in admin panel | ||
BUG | Untis import can be configured without password | ||
BUG | API requests with unknown path extensions broken | ||
BUG | Total count in audit log on user page incorrect | ||
BUG | EC does not start when a WebUntis DS is configured | ||
BUG | MyTimetable does not start due to saml.attribute.roles not being set | ||
BUG | In-Memory DP: find by hostkey is not case insensitive | ||
MAINTENANCE | Upgrade logstash-logback-encoder to v6.1 | ||
MAINTENANCE | Upgrade iCal4j to v3.x | ||
MAINTENANCE | Implement type for data sources | ||
MAINTENANCE | Upgrade jsoup to 1.12.1 | ||
MAINTENANCE | Upgrade ical4j | ||
MAINTENANCE | Remove unused properties from (non default) resource bundles | ||
2019.17 (2019-07-27) | BUG | Error during Exchange/EWS sync | |
2019.16 (2019-07-26) | FEATURE | API: add enrollment status | MyTimetable 2019.16: Provisioning enhancements, locale fixes and Java 11 |
FEATURE | Add enrollment status to exported events | ||
ENHANCEMENT | MyTimetable EC Linux install instructions / scripts | ||
ENHANCEMENT | User locale should only be saved on explicit selection by user | ||
ENHANCEMENT | Provisioning of additional user properties | ||
ENHANCEMENT | Limit mirror store size by removing attributes | ||
ENHANCEMENT | S+ NG: use cached globals information on empty view | ||
ENHANCEMENT | Use request/cookie locale on invalid stored locale | ||
ENHANCEMENT | Tweak schema of notifications | ||
BUG | Option selection not working when other timetables have the same module | ||
BUG | Bower does not prune old dependencies | ||
BUG | Use of multiple TimetableSuggestionStrategies in EC is broken | ||
BUG | API 401 returns incomplete page | ||
SECURITY | Upgrade jQuery | ||
SECURITY | Prevent reverse tabnabbing | ||
MAINTENANCE | Upgrade to Spring Framework 5.x / Spring Boot 2.x | ||
MAINTENANCE | AdoptOpenJDK 11 compatibility | ||
MAINTENANCE | Upgrade to Spring Security 5 | ||
MAINTENANCE | Update IntelliJ configs for 2019.1 / make it work | ||
MAINTENANCE | Upgrade to Flyway 5 | ||
MAINTENANCE | Remove old TermTime provider | ||
MAINTENANCE | Upgrade to Gradle 5 | ||
MAINTENANCE | Typo in EchoResponseErrorHandler class name | ||
MAINTENANCE | Use consistent/fixed data directory | ||
MAINTENANCE | Remove OpenSSO authentication | ||
MAINTENANCE | Remove CAS authentication | ||
MAINTENANCE | Remove Zimbra authentication | ||
2019.15 (2019-06-28) | BUG | TermTime evaluates Event custom attributes for Bookings | |
BUG | DataTables Bootstrap styling is broken | ||
BUG | EC sync does not update user subscriptions | ||
BUG | Switching locales in admin panel triggers HTTP 500 | ||
SECURITY | Bootstrap upgrade | ||
MAINTENANCE | Upgrade Thymeleaf to v3.0.11 | ||
MAINTENANCE | Upgrade Infinispan to version 9.4.15 | ||
MAINTENANCE | Upgrade Spring Dependency Management Plugin to v1.0.8 | ||
MAINTENANCE | Upgrade to HikariCP 3 | ||
MAINTENANCE | Upgrade Spring Security OAuth2 | ||
MAINTENANCE | Unintentional re-binding of AuthorizationRequest to request attributes in UserApprovalController | ||
2019.14 (2019-06-24) | FEATURE | TermTime DP rework: support room booking activity types | |
ENHANCEMENT | TermTime NG: ignore allday bit | ||
BUG | TermTime NG: take building/campus into account when assigning child ID of building timetable | ||
BUG | Bower not loading dependencies after upgrade | ||
BUG | Localized property may fail depending on locale order | ||
BUG | Do not notify EC of anonymous user subscription changes | ||
MAINTENANCE | TermTimeNG: rename Timeframe.id field | ||
MAINTENANCE | Upgrade Gulp dependencies | ||
MAINTENANCE | Upgrade Spring Security OAuth | ||
MAINTENANCE | Upgrade Moment.js | ||
MAINTENANCE | Upgrade handlebars | ||
MAINTENANCE | Upgrade Xerces | ||
MAINTENANCE | Upgrade Guava | ||
MAINTENANCE | Upgrade Jackson | ||
MAINTENANCE | Upgrade Waffle | ||
2019.13 (2019-06-17) | FEATURE | Add Danish locale | |
FEATURE | TermTime DP rework: room booking activities | Renewed Term Time provider | |
MAINTENANCE | Upgrade Bower | ||
MAINTENANCE | Upgrade Yarn to latest version | ||
MAINTENANCE | Gradle: remove Javadoc task | ||
MAINTENANCE | Upgrade node-tar | ||
MAINTENANCE | NodeJS upgrade | ||
2019.12 (2019-06-12) | ENHANCEMENT | TermTime NG: support custom attributes on events | Renewed Term Time provider |
ENHANCEMENT | Read property files as UTF-8 | ||
BUG | TermTime NG: show 'Other timetables' category for staff/student/studentgroup timetables | ||
BUG | Admin: user details page broken when filtering eventtypes | ||
BUG | TermTime NG: null values in tag list create exceptions | ||
2019.11 (2019-06-07) | FEATURE | TermTime NG: filter activity types on tag | Renewed Term Time provider |
FEATURE | TermTime NG: filter timetablefilter on tags | ||
FEATURE | TermTime NG: filter timetables on tags | ||
FEATURE | TermTime DP rework: show module offers for staff as child subscriptions | ||
FEATURE | TermTime DP rework: show periods | ||
ENHANCEMENT | TermTime NG: take into account allDay bit | ||
ENHANCEMENT | TermTime NG: process tags on activities | ||
ENHANCEMENT | API: publish draft bit in API responses | ||
ENHANCEMENT | S+ NG: child timetable filtering | ||
BUG | S+ NG: Zone/location timetables may assign incorrect child ids | ||
2019.10 (2019-05-22) | FEATURE | TermTime DP rework: show module offers for course as child subscriptions | Renewed Term Time provider |
FEATURE | TermTime DP rework: show module offers for student as child subscriptions | ||
FEATURE | TermTime DP rework: show module offers for student group as child subscriptions | ||
FEATURE | TermTime DP rework: filter module offers on course | ||
FEATURE | TermTime DP rework: view building timetable | ||
FEATURE | TermTime DP rework: list and search building timetables | ||
FEATURE | TermTime DP rework: filter rooms on building | ||
FEATURE | TermTime DP rework: show rooms for building as child subscriptions | ||
FEATURE | TermTime DP rework: publication flags | ||
FEATURE | TermTime DP rework: filter module offers on department | ||
FEATURE | TermTime DP rework: filter student groups on department | ||
FEATURE | TermTime DP rework: filter students groups on course | ||
ENHANCEMENT | Term Time NG: Allow configuring option name for repeatgroupid-based options | ||
ENHANCEMENT | Term Time NG: search in all locales | ||
ENHANCEMENT | TermTimeNG: proper null check | ||
BUG | ExportedEventTextRenderer does not render 'recorded' state | ||
BUG | EventDetailsPresenter does not render 'recorded' state | ||
BUG | TermTimeNG: fetching child options by host key throws IllegalArgumentException | ||
BUG | TermTimeNG: course child options broken | ||
BUG | Term Time NG: Module offer timetable broken | ||
BUG | XML API returns 500s on various endpoints | ||
BUG | GWT error popup icon black instead of white | ||
BUG | EventConcurrencyUtil erroneously ignores concurrency 'concurrency within a module' when two events have no module code | ||
MAINTENANCE | Echo event: fix event attribute old/new value naming | ||
MAINTENANCE | SAML signature hash algorithm default to SHA-256 | ||
MAINTENANCE | Deprecation warnings | ||
MAINTENANCE | Update Spring Boot dependencies to 1.5.21 | ||
MAINTENANCE | TermTimeNG: development config | ||
MAINTENANCE | TermTime DP rework: use nullable department information from activity | ||
2019.9 (2019-04-29) | BUG | S+ NG: ModuleGroupDepartment filter broken | |
BUG | Mobile: does not render in IE11 | ||
2019.8 (2019-04-25) | FEATURE | TermTime DP rework: view course timetable | Renewed Term Time provider |
FEATURE | TermTime DP rework: view student group timetable | ||
FEATURE | TermTime DP rework: view room timetable | ||
FEATURE | TermTime DP rework: list and search course timetables | ||
FEATURE | TermTime DP rework: list and search student group timetables | ||
FEATURE | TermTime DP rework: list and search room timetables | ||
FEATURE | TermTime DP rework: filter courses on department | ||
FEATURE | TermTime DP rework: filter rooms on department | ||
FEATURE | TermTime DP rework: support activity types | ||
FEATURE | TermTime DP rework: notes for activities | ||
FEATURE | TermTime DP rework: module information for activities | ||
FEATURE | TermTime DP rework: show size of activity | ||
FEATURE | TermTime DP rework: add option selection based on repeat activities | ||
BUG | Mobile API message refresh | ||
BUG | Various bugs in location entity info page | ||
MAINTENANCE | Upgrade to Tomcat 9 | ||
2019.7 (2019-04-19) | FEATURE | TermTime DP rework: staff for activities | Renewed Term Time provider |
BUG | S+ NG: PosGroup filter not working for Modules/StudentSets | ||
MAINTENANCE | Upgrade Infinispan | ||
2019.6 (2019-04-18) | FEATURE | S+ NG: implement PosGroupDepartment filter type | |
FEATURE | TermTime DP rework: view module offer timetable | Renewed Term Time provider | |
SECURITY | CSRF possible on /logout | ||
MAINTENANCE | Upgrade Mockito | ||
MAINTENANCE | Spring Boot upgrade | ||
2019.5 (2019-04-15) | BUG | Location entity info page lookup by key not working | |
2019.4 (2019-04-11) | FEATURE | S+ NG: support option equivalence check | |
FEATURE | TermTime DP rework: list and search module offer timetables | Renewed Term Time provider | |
FEATURE | TermTime DP rework: view student timetable | ||
FEATURE | TermTime DP rework: view staff timetable | ||
FEATURE | TermTime DP rework: list and search student timetables | ||
FEATURE | TermTime DP rework: list and search staff timetables | ||
FEATURE | TermTime DP rework: filter staff on department | ||
ENHANCEMENT | S+ NG: support activity type filtering | ||
ENHANCEMENT | S+ NG: Use AbstractCachingEntityValuesRepository for Zones | ||
ENHANCEMENT | S+: support more than 100 OSIRIS groups | ||
BUG | S+: Module name SpEL expression not working | ||
BUG | EC EWS autodiscover failing on O365 | ||
BUG | Individual export (module view) incomplete | ||
BUG | API: insufficient scope returns a generic error | ||
MAINTENANCE | Remove LDAP / LDAP-AD authenticator | ||
MAINTENANCE | Remove SAP SSO authenticator | ||
MAINTENANCE | Adjust Postgres pool sizes | ||
2019.3 (2019-03-29) | FEATURE | S+ NG: LocationEntityProvider / location info page | |
2019.2 (2019-03-26) | FEATURE | Messages: add API to manage messages | |
ENHANCEMENT | Circuitbreakers on RestTemplates | ||
ENHANCEMENT | S+ NG provider: cache department information | ||
BUG | S+ NG: WRB timetable type missing filter | ||
2019.1 (2019-03-21) | FEATURE | Rule engine: add import/export | |
ENHANCEMENT | S+ NG: Limit studentset retrieval for large activities | ||
ENHANCEMENT | S+ NG: support event sequences | ||
BUG | iCal DP hostkey lookup stability | ||
BUG | S+ NG: FORCESEEK query hint issue | ||
MAINTENANCE | Reduce code sharing between GWT and backend | ||
MAINTENANCE | Remove ZRS and UNIT-e dataproviders | ||
MAINTENANCE | Setup release process | Release early, release often |