<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" media="screen" href="git-log.css"?>

<log>
  <title>UniTime v4.2 build 204 change log (since the last release, build 185 on 07 Oct 2017 01:01)</title>
  <logentry revision="909ffb2">
    <commit>909ffb22a4e6795bb4397d964d2f335166b33c8a</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>21-Sep-2018 1:15 PM</date>
    <subject>HQL Reports: Export CSV</subject>
    <msg>- fixed ability to export HQL report as CSV when the query contains a single-choice parameter (like SUBJECT or DEPARTMENT)</msg>
    <msg>- this fixes an issue introduced in commit 0dd84a0, with the ability to provide individual report parameters</msg>
  </logentry>
  <logentry revision="a9db419">
    <commit>a9db41962317cb7751e94400b6fb6afd7e7e88d9</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>18-Sep-2018 8:09 PM</date>
    <subject>Classes: Need Instructor Assignment</subject>
    <msg>- corrected the "Show only classes that need instructor assignment" filter</msg>
    <msg>(could not resolve property: teachingLoad)</msg>
  </logentry>
  <logentry revision="6732d55">
    <commit>6732d5536cd2849e86939314cea8339601de2dec</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>6-Jun-2018 4:07 PM</date>
    <subject>Preferences XML Export/Import: Fixed SQLException</subject>
    <msg>- fixed the SQLException: ORDER BY clause is not in SELECT list exception when using MySQL</msg>
  </logentry>
  <logentry revision="ac94405">
    <commit>ac94405e7d97a86384689ad021d03e3fba2210b5</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>16-May-2018 1:18 PM</date>
    <subject>Instructional Offering Detail, Classes Detail: Enrollments Table</subject>
    <msg>- always show Courses column when shown for a cross-listed course</msg>
    <msg>- left justify Priority columm</msg>
  </logentry>
  <logentry revision="416bc96">
    <commit>416bc9600868bd2a9ed8c7411af9a5b9ea8a15c2</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>16-May-2018 11:28 AM</date>
    <subject>Add/Edit Rooms, Add/Edit Building: Map</subject>
    <msg>- added ability to switch to OpenStreetMap (using Leaflet library, https://leafletjs.com)</msg>
    <msg>- set unitime.coordinates.googlemap to false, unitime.coordinates.leafletmap to true</msg>
    <msg>- for more details, see http://help.unitime.org/OpenStreetMap</msg>
  </logentry>
  <logentry revision="01ff3c9">
    <commit>01ff3c9523f588c4cf1bf5843aae8e92d53a4b23</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>15-May-2018 12:48 PM</date>
    <subject>Online Student Scheduling: Email Notification</subject>
    <msg>- added ability to use the CourseUrlProvider to make the Subject and Course clickable</msg>
    <msg>- when the unitime.custom.CourseUrlProvider application property is configured</msg>
  </logentry>
  <logentry revision="c117869">
    <commit>c11786987649f39b0fd655acc5886f270d0e2f13</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>15-May-2018 12:29 PM</date>
    <subject>Event Detail: Enrollments Export CSV</subject>
    <msg>- added ability to export the Enrollments table into a CSV file</msg>
  </logentry>
  <logentry revision="9dceff3">
    <commit>9dceff3b11d5077d4a16feb4840897914f3d90c9</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>15-May-2018 12:28 PM</date>
    <subject>Event Management: Enrollment Conflicts</subject>
    <msg>- make sure that cancelled class or examination meetings do not show up as conflicts in the Enrollments table</msg>
  </logentry>
  <logentry revision="ab66d01">
    <commit>ab66d016b6cc13a3373418d9e948f7694267edfd</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>8-Feb-2018 3:18 PM</date>
    <subject>Data Exchange: Course Requests XML Import</subject>
    <msg>- fixed the Null exception when there is dropCourseRequests but no addCourseRequests element on a student</msg>
    <msg>- fixed parsing of free time request when there is no length (using startTime and endTime)</msg>
  </logentry>
  <logentry revision="0ff7067">
    <commit>0ff70677dca717ea4ff1012a28c55588eec3e0c8</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>8-Feb-2018 3:18 PM</date>
    <subject>Copyright: 2018</subject>
    <msg>- copyright message updated to include 2018</msg>
  </logentry>
  <logentry revision="c9f541e">
    <commit>c9f541efcbbf0dfa9b2b7efe3054a723892c6ec3</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>27-Jan-2018 2:27 PM</date>
    <subject>Data Exchange: Course Requests XML Import</subject>
    <msg>- added ability to only add / drop certain requests of a student</msg>
    <msg>- use addCourseRequests and dropCourseRequests elements instead of updateCourseRequests</msg>
    <msg>- these elements have the same format as updateCourseRequests</msg>
    <msg></msg>
    <msg>For example:</msg>
    <msg>&lt;student key="1001"&gt;</msg>
    <msg>&lt;addCourseRequests&gt;</msg>
    <msg>&lt;courseOffering subjectArea="C S" courseNumber="10100"&gt;</msg>
    <msg>&lt;class type="Lec" suffix="2"/&gt;</msg>
    <msg>&lt;class type="Lab" suffix="4"/&gt;</msg>
    <msg>&lt;/courseOffering&gt;</msg>
    <msg>&lt;courseOffering subjectArea="CHM" courseNumber="10100"&gt;</msg>
    <msg>&lt;alternative subjectArea="ECON" courseNumber="10100"/&gt;</msg>
    <msg>&lt;/courseOffering&gt;</msg>
    <msg>&lt;freeTime days="TTh" startTime="0730" endTime="0830"/&gt;</msg>
    <msg>&lt;/addCourseRequests&gt;</msg>
    <msg>&lt;dropCourseRequests&gt;</msg>
    <msg>&lt;freeTime days="MWF" startTime="0730" endTime="0830"/&gt;</msg>
    <msg>&lt;courseOffering subjectArea="ALG" courseNumber="10100"/&gt;</msg>
    <msg>&lt;/dropCourseRequests&gt;</msg>
    <msg>&lt;/student&gt;</msg>
    <msg></msg>
    <msg>additional addCourseRequests notes:</msg>
    <msg>- if there is already a course demand containing the primary course, it will be updated</msg>
    <msg>- if there is already a free time request that overlaps with the given one, it will be updated</msg>
    <msg></msg>
    <msg>additional dropCourseRequests notes:</msg>
    <msg>- the whole course demand containing the primary course will be dropped (not just the listed course/alternatives)</msg>
    <msg>- any listed alternatives are ignored (the course demand that needs to be deleted is identified by the primary course)</msg>
    <msg>- any free time request overlapping with the given one will be dropped</msg>
  </logentry>
  <logentry revision="4cc010d">
    <commit>4cc010d0fa2f7dcc01f35266853e1caf82e2b96a</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>27-Jan-2018 2:24 PM</date>
    <subject>HQL Reports: SESSIONS parameter</subject>
    <msg>- added %SESSIONS% parameter listing unique ids of available academic sessions</msg>
    <msg>- these are academic sessions for which the user has the current role</msg>
  </logentry>
  <logentry revision="a400a22">
    <commit>a400a224fe3984f535c0951e3b0f1b3a92c0768c</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>27-Jan-2018 2:23 PM</date>
    <subject>Timetable Grid: Show Titles, Split Class Name</subject>
    <msg>- added ability to show course titles on the timetable grid</msg>
    <msg>- there is a new toggle in the Filter named Show Course Titles</msg>
    <msg></msg>
    <msg>- added ability to split class label into two lines</msg>
    <msg>- subject and course number on the first line</msg>
    <msg>- itype and section number (and the optional suffix and/or configuration name) on the second line</msg>
    <msg>- enable by setting the application property unitime.timeGrid.classNameTwoLines to true (defaults to false)</msg>
  </logentry>
  <logentry revision="7a154fa">
    <commit>7a154fa504935ce63c249a2170a08639a6ff5ed3</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>26-Jan-2018 7:50 AM</date>
    <subject>Course Requests / Student Scheduling Assistant: No Alternate Course Requests</subject>
    <msg>- added an ability to hide Alternate Course Requests table (unless the student has some alternatives already)</msg>
    <msg>- set the StudentSectioningConstants.numberOfAlternatives constant to zero</msg>
  </logentry>
  <logentry revision="2419d78">
    <commit>2419d781cdc49277d7aea9dc33d9c66694ab6f2c</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>26-Jan-2018 7:48 AM</date>
    <subject>Instructional Offering Cross Lists: Keep Course Requests</subject>
    <msg>- added an ability to keep course requests on the course that is added to or dropped from a cross-list</msg>
    <msg>- enable this feature by setting unitime.crossList.keepCourseRequests to true (default is false)</msg>
  </logentry>
  <logentry revision="258ca1a">
    <commit>258ca1ad49b3c9b6992e99225f996e0830b21121</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>26-Jan-2018 7:44 AM</date>
    <subject>Instructional Offering Detail: Enrollments Table Permissions</subject>
    <msg>- permission: allow schedule managers from non-controlling departments to see the enrollments</msg>
    <msg>(Offering Enrollments permission)</msg>
  </logentry>
  <logentry revision="110d2df">
    <commit>110d2dfa68fb249193737ecf98903ebde1a7916a</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>18-Jan-2018 8:20 AM</date>
    <subject>Course Timetabling: Timetable</subject>
    <msg>- Export PDF: show one table per each day of week when in the "In Row [horizontal]" mode</msg>
    <msg>(instead showing one table very wide table with all the days of the week inside)</msg>
  </logentry>
  <logentry revision="d9f4cb2">
    <commit>d9f4cb2289f594e7d109b01b9404adeb2683d460</commit>
    <author>Stephanie Schluttenhofer &lt;says@unitime.org&gt;</author>
    <date>8-Dec-2017 4:22 PM</date>
    <subject>Class external id (classSuffix) display / export change</subject>
    <msg>When the classSuffix property (often call the external id) is set to a</msg>
    <msg>six character string, UniTime places a ‘-‘ between the first three</msg>
    <msg>characters and the last three characters of the string. A property has</msg>
    <msg>been added to allow users to turn off this feature. When the setting</msg>
    <msg>unitime.class.classSuffix.divSecDivider=false UniTime will not insert</msg>
    <msg>the ‘-‘ into six character strings.</msg>
  </logentry>
  <logentry revision="fd771ab">
    <commit>fd771abf7232ea96ed0b9f5de5d7ba092b0abb1a</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>28-Nov-2017 4:09 PM</date>
    <subject>CPSolver: upgrade to version 1.3.124 (was 1.3.121)</subject>
    <msg>Online Student Scheduling: Build Schedule</msg>
    <msg>- prefer sections that are available: corrected Enrollment comparator</msg>
    <msg>- this fixes the "Comparison method violates its general contract!" exception</msg>
    <msg></msg>
    <msg>Examination Timetabling: Criteria</msg>
    <msg>- changed the value update type to after unassigned after assigned</msg>
    <msg>- this corrects the direct conflict computations when a student is assigned to three or more exams on a day</msg>
    <msg>- this corrects the more than two exams on a day computation when a student is assigned to four or more exams on a day</msg>
  </logentry>
  <logentry revision="d777693">
    <commit>d777693ad38c424824848503e3494b85cb323a38</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>25-Nov-2017 8:52 PM</date>
    <subject>Room Availability: Include Events From Other Academic Sessions</subject>
    <msg>- Course/Examination Timetabling: added ability to include events (of the same type) from other academic sessions</msg>
    <msg>- to enable this, set tmtbl.room.availability.includeOtherTerms to true on the Application Configuration page</msg>
    <msg>- rooms of the overlapping academic sessions must have the same permanent id</msg>
    <msg>- this can be achieved, e.g., by rolling forward the rooms from one academic session to the next</msg>
    <msg>- or, the rooms must be created using the Add Room page (of the first academic session) using the Update Future Academic Sessions section (room is created in multiple academic sessions at once)</msg>
  </logentry>
  <logentry revision="2d26278">
    <commit>2d2627839fe43a6c65163b5154b6b9d7e026ed5e</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>25-Nov-2017 8:50 PM</date>
    <subject>Data Exchange: Course Offering Import</subject>
    <msg>- lookup required preference by its reference value ('R') instead of its name which can be changed in the user interface</msg>
  </logentry>
  <logentry revision="da1e2c7">
    <commit>da1e2c733a775c02510058dbe7a87663726247c1</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>25-Nov-2017 8:50 PM</date>
    <subject>Online Student Scheduling: Course Reservation</subject>
    <msg>- corrected checking whether a student is meeting course reservation</msg>
    <msg>(using the requested course, not stored course requests)</msg>
  </logentry>
  <logentry revision="01bb9d6">
    <commit>01bb9d6d98003e2685d3235647538bf9ac078848</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>20-Nov-2017 8:28 PM</date>
    <subject>Session Roll Forward: Instructor Attributes</subject>
    <msg>- fixed TransientObjectException when rolling instructor attributes forward</msg>
    <msg>(caused by the parent-child relation between attributes when the attributes have been saved in a wrong order)</msg>
  </logentry>
  <logentry revision="1681654">
    <commit>168165496f5ccdf8a7285501889c6b76b9d64e78</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>9-Nov-2017 6:48 PM</date>
    <subject>Event Export: Personal Schedule Permissions</subject>
    <msg>- when exporting events of another person, the following permissions are used to filter the role:</msg>
    <msg>- Can Lookup Students is needed for the Student role (person is enrolled in a class, an exam, or a course related event as a student)</msg>
    <msg>- Can Lookup Instructors is needed for the Instructor and Coordinator roles (person is assigned to a class or an exam as an instructor or coordinator)</msg>
    <msg>- Can Lookup Event Contacts is needed for the Contact role (person is listed among contacts of the event)</msg>
  </logentry>
  <logentry revision="5f831fe">
    <commit>5f831fe3ab7226ebffc69a3cbda1432d2ad87227</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>9-Nov-2017 6:45 PM</date>
    <subject>Events API: Resource Timetable</subject>
    <msg>- added ability to lookup the subject, course, curriculum, department and student group by name (using name parameter)</msg>
  </logentry>
  <logentry revision="869bd23">
    <commit>869bd23f9f87386ff66260dcccfca295c9986fba</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>6-Nov-2017 2:19 PM</date>
    <subject>CPSolver: upgrade to version 1.3.121 (was 1.3.111)</subject>
    <msg>Course Timetabling: Max Half-Days Constraint</msg>
    <msg>- the MaxHalfDays constraint limits the number of half-days of week during which the given set of classes are taught</msg>
    <msg>- it has one parameter: a maximal number of week half-days during which the given set of classes can be placed</msg>
    <msg>- a day is split by noon (which can be changed using General.HalfDaySlot parameter)</msg>
    <msg>- a class starting before noon is considered a morning class (despite of its end), a class starting at noon or later is considered an afternoon class</msg>
    <msg>- for instance, a reference MaxHalfDays:4 translates to a maximum number of 4 half-days a week</msg>
    <msg></msg>
    <msg>Course Timetabling: added MaxHoles distribution constraint</msg>
    <msg>- the MaxHoles constraint limits the number of free time (holes) for an instructor on a day (between the first and the last class on a day)</msg>
    <msg>- it has one parameter: a maximal amount of free time that an instructor can have on a day in minutes</msg>
    <msg>- for example, reference _MaxHoles:120_ translates to a maximum number of two hours of total free time between the first and the last class on a day</msg>
    <msg>- if required, having more free time is prohibited</msg>
    <msg>- if preferred or strongly preferred, the excessive free time is penalized</msg>
    <msg></msg>
    <msg>Course Timetabling: Student Conflicts</msg>
    <msg>- added a naive, yet effective approach for minimizing holes in student schedule</msg>
    <msg>- the new StudentMinimizeScheduleHoles criterion penalizes all cases where a student has two classes taught on the same day that are not back-to-back</msg>
    <msg>- the penalization is based on the time distance between the two classes, computed in hours</msg>
    <msg>- these penalties are weighted by Comparator.MinimizeStudentScheduleHolesWeight, which defaults to 1/20 of the Comparator.StudentConflictWeight</msg>
    <msg>- to enable this criterion, add org.cpsolver.coursett.criteria.additional.StudentMinimizeScheduleHoles to General.AdditionalCriteria</msg>
    <msg>- added a naive, yet effective approach for minimizing number of days in student schedule</msg>
    <msg>- the new StudentMinimizeDaysOfWeek criterion penalizes all cases where a student has two classes taught on different days</msg>
    <msg>- these penalties are weighted by Comparator.MinimizeStudentScheduleDaysWeight, which defaults to 1/20 of the Comparator.StudentConflictWeight</msg>
    <msg>- to enable this criterion, add org.cpsolver.coursett.criteria.additional.StudentMinimizeDaysOfWeek to General.AdditionalCriteria</msg>
    <msg>- as the StudentMinimizeScheduleHoles criterion tends to spread the student among as many days as possible, the second criterion StudentMinimizeDaysOfWeek can be used to counteract this effect, if desired</msg>
    <msg></msg>
    <msg>Course Timetabling: Week Start/End</msg>
    <msg>- added ability to define when a work week starts (General.FirstWorkDay) and when it ends (General.LastWorkDay)</msg>
    <msg>- it is possible that General.LastWorkDay &lt; General.FirstWorkDay, e.g., General.FirstWorkDay = 6 (Sunday) and General.LastWorkDay = 3 (Thursday)</msg>
    <msg>- corrected behavior of various constraints for the case when week starts on Sunday (PRECEDENCE, BTB_DAY, NDB_GT_1, FOLLOWING_DAY, SPREAD, MIN_ROOM_USE, and a few other places)</msg>
    <msg></msg>
    <msg>Examination Timetabling: Period Preferences</msg>
    <msg>- added additional information about how well are the period preferences satisfied into the solution extended info</msg>
    <msg>(showing how many time a preferred, a strongly preferred, etc. period is selected for an exam)</msg>
    <msg></msg>
    <msg>Examination Timetabling: Room Split Penalty</msg>
    <msg>- increased the limit on the maximal number of rooms that an exam can take to 30</msg>
    <msg></msg>
    <msg>Examination Timetabling: Save XML</msg>
    <msg>- corrected examination period penalty value</msg>
    <msg></msg>
    <msg>Student Scheduling: Scheduling Assistant Weights</msg>
    <msg>- corrected precision on the selected choices criterion as the result is a % of the selected classes</msg>
    <msg>- put selected sections higher in the list</msg>
    <msg>- minimize class penalties: divide penalty by the number of sections (counting average section penalty of the enrollment)</msg>
    <msg>- this is to avoid penalization of enrollments with more/fewer sections</msg>
    <msg>- prefer sections that are available (there is space in them)</msg>
    <msg>- this is especially useful when a student has an individual reservation that is not given for a particular section (student is allowed to pick any section)</msg>
    <msg></msg>
    <msg>Student Scheduling: Student Conflict Constraint</msg>
    <msg>- checking whether a student already has a complete schedule corrected</msg>
    <msg>- if the request is over the limit (student already has a complete schedule), do not return a free time or a wait-listed course request as a conflict</msg>
    <msg>- ensure that completeness of a student schedule is properly checked during the assignment</msg>
    <msg>- using Student.canAssign(request) does not work as it returns true when the request is already assigned and the conflicts are checked when Constraint.assigned(value) is called</msg>
    <msg>- this was causing troubles for the IFS phase</msg>
  </logentry>
  <logentry revision="ddff57c">
    <commit>ddff57c49fa3e08b3cfadfb7c70270e3e696239c</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>5-Nov-2017 8:36 AM</date>
    <subject>Add/Edit Timetable Manager</subject>
    <msg>- maximal length of the External ID field corrected (40 characters)</msg>
  </logentry>
  <logentry revision="c2a67eb">
    <commit>c2a67eb4c75e8f2f4a6c72e6d939c17154b1e182</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>25-Oct-2017 2:18 PM</date>
    <subject>Course Timetabling: Date Pattern Name</subject>
    <msg>- date pattern name changed to fit 100 characters</msg>
    <msg>- this is to avoid a hibernate exception when a longer name is entered on the Add/Edit Date Pattern page</msg>
    <msg>(the name text field already allows for up to 100 characters)</msg>
  </logentry>
  <logentry revision="18f37e2">
    <commit>18f37e2d72a16f64dcba26e186298d2c008af679</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>25-Oct-2017 2:11 PM</date>
    <subject>Student Scheduling Assistant: Minor Changes</subject>
    <msg>- List of Classes: do not include course note in the section note</msg>
    <msg>- Course Suggestions: when showing individual classes include subpart and section note in the hint</msg>
    <msg>- Filter Box: limit the height of the suggestions / filter popup when on mobile (allow for vertical scroll)</msg>
    <msg>- Alternatives: allow for the Alternatives dialog to be wider if needed (up to 90% of viewport width)</msg>
  </logentry>
  <logentry revision="a307a12">
    <commit>a307a125ee8baaeac570a2946285cb310d7c3f7d</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>20-Oct-2017 9:28 AM</date>
    <subject>Rooms: Event Message</subject>
    <msg>- do not copy event room note from the &lt;event department, room type&gt; pair over to the room when editing a room</msg>
  </logentry>
  <logentry revision="15f146b">
    <commit>15f146b21e04afd8ed13dd58693bd79528cac11a</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>19-Oct-2017 6:13 PM</date>
    <subject>Room Sharing Grid: Add Department</subject>
    <msg>- added ability to filter available departments by a given text (department code or name)</msg>
  </logentry>
  <logentry revision="04b3ee7">
    <commit>04b3ee7c1fc9945b0d7ae42939d70c22886db4aa</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>19-Oct-2017 1:56 PM</date>
    <subject>Examination Distribution Preferences: HQL Fix</subject>
    <msg>- fixed a query syntax exception when Subject is set to All, but a Course Number is filled in</msg>
  </logentry>
  <logentry revision="b164838">
    <commit>b164838d211f229efa2e7aa26ea2ede2cec386c6</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>18-Oct-2017 8:34 PM</date>
    <subject>Scripts: Send email when finished</subject>
    <msg>- added ability for a script to send an email (including the log and the generated file if there is any) when it is finished</msg>
    <msg>- if there is an error, include stack trace in the log</msg>
  </logentry>
  <logentry revision="1828900">
    <commit>1828900097c55a47190add69b91ea4f87e2c070d</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>18-Oct-2017 2:26 PM</date>
    <subject>Room Sharing Grid, Instructor Availability Table</subject>
    <msg>- corrected table splitting when more than 48 possible times are displayed horizontally</msg>
    <msg>- slightly increase cell width to make sure all cells are of the same width</msg>
  </logentry>
  <logentry revision="4e7f3d5">
    <commit>4e7f3d5e6ab19512e7f9bb61769c6eba2fccd045</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>17-Oct-2017 9:16 PM</date>
    <subject>Online Student Scheduling: Generic Updater -- Check For Multiple Masters</subject>
    <msg>- if multiple masters are detected, release all master locks and reload the new master</msg>
    <msg>(same as when MergeView message is recieved)</msg>
  </logentry>
  <logentry revision="ae1a95e">
    <commit>ae1a95ee81d2483f66b98f36c28368beccaff48f</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>17-Oct-2017 6:20 PM</date>
    <subject>Scripts: Roll Forward Student Accommodations from Previous Term</subject>
    <msg>- added a script that rolls forward student accommodations from the previous term into the current term</msg>
    <msg>(including students if they already exist in the current term)</msg>
  </logentry>
  <logentry revision="35301e3">
    <commit>35301e378e06400763233a3b42a2586ea9130ee5</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>17-Oct-2017 6:18 PM</date>
    <subject>Personal Schedule: Meeting Contacts</subject>
    <msg>- include meetings where the user is filled in as a meeting contact in the personal schedule</msg>
  </logentry>
</log>
