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

<log>
  <title>UniTime v4.9 build 116 change log (since the last release, build 102 on 16 Dec 2025 02:00)</title>
  <logentry revision="e87c224">
    <commit>e87c2247425424403b156e835e12e227751e287d</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>20-Mar-2026 6:45 PM</date>
    <subject>Event Room Availability: Time Grid</subject>
    <msg>- avoid overflows in the calendar view</msg>
    <msg>(this got broken with some of the WCAG changes)</msg>
  </logentry>
  <logentry revision="da96b35">
    <commit>da96b356bcc06fa58140194abffee0c724219c2d</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>20-Mar-2026 6:45 PM</date>
    <subject>WCAG: PDF</subject>
    <msg>- set initial view to show document title</msg>
  </logentry>
  <logentry revision="fd91ed6">
    <commit>fd91ed608021d04463ff3a963f64860bd4747e8e</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>19-Mar-2026 5:20 PM</date>
    <subject>Schedling Assistant: Approval Requests, Wait-Listed Courses</subject>
    <msg>- when the approval request can have the note changed, make the note focusable</msg>
  </logentry>
  <logentry revision="e6f06c4">
    <commit>e6f06c45e8c329326fd3e9c85e46db5f517b3a8e</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>19-Mar-2026 4:47 PM</date>
    <subject>Student Scheduling: Approval Requests</subject>
    <msg>- corrected position of the "Show all changes" toggle</msg>
  </logentry>
  <logentry revision="2148782">
    <commit>2148782ddede6950549baef4ea3073b51327fb57</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>19-Mar-2026 4:45 PM</date>
    <subject>TA: Teaching Conflicts report corrected</subject>
    <msg>- special case for midnight corrected</msg>
  </logentry>
  <logentry revision="13e7392">
    <commit>13e73924faeccd638fd3f401b01f0658e313ea86</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>18-Mar-2026 9:53 PM</date>
    <subject>WCAG: Scheduling Assistant</subject>
    <msg>- added a few missing aria-labels for Request Variable Course and Grade Modes &amp; Variable Credits dialogs</msg>
  </logentry>
  <logentry revision="a457135">
    <commit>a4571351f5627c6890e62d7fdc23ce16feb4db06</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>17-Mar-2026 8:54 PM</date>
    <subject>Timetable Grid: Student Group</subject>
    <msg>- fixed a Hibernate exception when showing Resource:Student Group of a saved solution</msg>
  </logentry>
  <logentry revision="960ab64">
    <commit>960ab64766be336321ce10a22bc2caf635027f83</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>17-Mar-2026 5:25 PM</date>
    <subject>Login Screen: Error</subject>
    <msg>- corrected HTML escaping of the error message on the login screen</msg>
  </logentry>
  <logentry revision="e51cffb">
    <commit>e51cffb1fba859e536e49744f21d102485ef88e1</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>17-Mar-2026 5:25 PM</date>
    <subject>WCAG: Events</subject>
    <msg>- a few color adjustments to esure date and status colors are dark enough even when the line is selected/moused-over</msg>
  </logentry>
  <logentry revision="d7ef888">
    <commit>d7ef888720a0fd25f14294f7d701cb94676370c1</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>16-Mar-2026 4:57 PM</date>
    <subject>Instructional Offering Configuration: Delete</subject>
    <msg>- when a distribution preference is being deleted, also remove it from its owner</msg>
    <msg>this is to avoid a Hibernate exception that occasionally pops up after a configuration has been deleted</msg>
  </logentry>
  <logentry revision="03b37a4">
    <commit>03b37a4af20b306af8d52aaf4edd4dc06fcdad38</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>16-Mar-2026 4:57 PM</date>
    <subject>Dependencies: CPSolver updated to 1.4.91 (was 1.4.89)</subject>
    <msg>Course Timetabling: Custom Back-To-Back Constraints</msg>
    <msg>- added the ability to parametrize Back-To-Back and Back-To-Back &amp; Same Room distribution constraints</msg>
    <msg>- Back-To-Back can now have a reference BTB_TIME(min,max), where the min and the max are the bounds on the gap between the two consecutive classes in the number of time slots</msg>
    <msg>- for example, BTB_TIME(0,3) will allow a gap of at most 15 minutes (3 time slots) between consecutive classes</msg>
    <msg>- Back-To-Back &amp; Same Room can now have a reference BTB(min,max), where the min and the max are the bounds on the gap between the two consecutive classes in the number of time slots</msg>
    <msg>- for example, BTB(6,6) will require a gap of exactly six time slots (30 minutes) between any consecutive classes</msg>
  </logentry>
  <logentry revision="9062b7a">
    <commit>9062b7a26ffb66bbb1f5cf7af7655ba431f395e2</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>16-Mar-2026 1:40 PM</date>
    <subject>Various PDF Exports: ADA improvements</subject>
    <msg>- include language (Catalog / Lang setting)</msg>
    <msg>- include title and author</msg>
    <msg>- the PDF (New) format of Examination PDF Reports page now has case sensitive title and header (rather than using all caps)</msg>
  </logentry>
  <logentry revision="1563ce8">
    <commit>1563ce800a3e3d2dd9004116f8e282bb2108fc72</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>16-Mar-2026 1:40 PM</date>
    <subject>Dependencies: Jackson Core</subject>
    <msg>- jackson-core upgraded to 2.21.1 (was 2.20.0) to fix CWE-770 vulnerability</msg>
    <msg>(Number Length Constraint Bypass in Async Parser Leads to Potential DoS Condition)</msg>
  </logentry>
  <logentry revision="30e67ef">
    <commit>30e67efeee7e363ad633c2e8dcefe6deff20c3cb</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>16-Mar-2026 1:40 PM</date>
    <subject>WCAG: Advisor Course Recommendations</subject>
    <msg>- a few changes to improve the WCAG compliance of the page</msg>
  </logentry>
  <logentry revision="ac6676c">
    <commit>ac6676c741ba52916d4d9d88beb9051fa757d446</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>16-Mar-2026 1:40 PM</date>
    <subject>WCAG: Student Scheduling Dashboards</subject>
    <msg>- various changes to improve WCAG compliance of the student dashboards</msg>
  </logentry>
  <logentry revision="0ccd144">
    <commit>0ccd144bff6c89ef72d154e0ba132b587d9c6418</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>16-Mar-2026 1:40 PM</date>
    <subject>WCAG: Events</subject>
    <msg>- various changes to improve WCAG compliance of Events pages</msg>
  </logentry>
  <logentry revision="6781854">
    <commit>67818548041e3d95e843645aad879e2b9e0092ec</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>16-Mar-2026 1:40 PM</date>
    <subject>WCAG: Student Scheduling Assistant/Course Requests</subject>
    <msg>- Course Finder: do not show a key down notifications accidentally added in commit 216c277</msg>
  </logentry>
  <logentry revision="64d87aa">
    <commit>64d87aab734cacafef233bc31c34f425efc17d7e</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>16-Mar-2026 1:39 PM</date>
    <subject>WCAG: Student Scheduling Assistant/Course Requests</subject>
    <msg>- a few improvements to improve WCAG compliance</msg>
    <msg>- confirmation, status, validation dialogs, student pref: alt for the dialog icon (warning, info, etc), aria-labeled-by for the text area (request note)</msg>
    <msg>- improved contrast for a few strings</msg>
    <msg>- course finder: bottom panel (course details &amp; list of classes) is now focusable and allows for scrolling using keyboard</msg>
  </logentry>
  <logentry revision="c341071">
    <commit>c341071511f0a27d3aee34df314c7f67d72034e8</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>16-Mar-2026 1:39 PM</date>
    <subject>WCAG: Course Catalog</subject>
    <msg>- a few modifications to the Banner/custom course catalog page to improve WCAG compliance</msg>
  </logentry>
  <logentry revision="6838935">
    <commit>68389352269bd55cac6ec2d34fdff1dbf1e7e7ad</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>16-Mar-2026 1:39 PM</date>
    <subject>Student Scheduling Assistant: Time Grid</subject>
    <msg>- eliminated the scrolling panel</msg>
    <msg>- made the grid a little bigger to ensure an hour long class fits two lines + header</msg>
    <msg>- to improve contrast, the meetings are no longer made opaque</msg>
  </logentry>
  <logentry revision="3fd2f0c">
    <commit>3fd2f0c4f47531b85ebdf14b91bee745343c0fba</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>16-Mar-2026 1:39 PM</date>
    <subject>Student Scheduling Dashboards: Filter</subject>
    <msg>- corrected before: for Arr Hrs classes</msg>
  </logentry>
  <logentry revision="eca19e1">
    <commit>eca19e1c81e094c0c983932cf20be06b9db07776</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>16-Mar-2026 1:38 PM</date>
    <subject>Data Exchange: Last-Like Student Course Demand Export</subject>
    <msg>- added an ability to export last-like course demands</msg>
  </logentry>
  <logentry revision="389cbbe">
    <commit>389cbbe1eff8b17a14126031cce3eed2a05d8021</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>16-Mar-2026 1:38 PM</date>
    <subject>WGAC Improvements</subject>
    <msg>- Tree On Side, Stach On Side, and mobile menu: fixed a few WGAC issues with the tree</msg>
    <msg>- images now have alt</msg>
    <msg>- treeitem elements are now within the tree element</msg>
    <msg>- keyboard navigation corrected</msg>
    <msg></msg>
    <msg>- Page header is now wrapped in H1 element</msg>
    <msg></msg>
    <msg>- disclaimer and similar messages are now a little darker to fall in the AAA category</msg>
  </logentry>
  <logentry revision="41e35a8">
    <commit>41e35a89368c2e2edb18db6248df7db354d9941b</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>16-Mar-2026 1:38 PM</date>
    <subject>Dependencies: GWT</subject>
    <msg>- GWT updated to version 2.13.0 (was 2.12.2)</msg>
  </logentry>
  <logentry revision="2559103">
    <commit>255910318613aa30314f7103c373b5fa8163a614</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>10-Mar-2026 6:11 PM</date>
    <subject>Student Scheduling Disclaimer: Custom Wait-List Validation</subject>
    <msg>- fixed a null exception when a course without a student scheduling disclaimer is being wait-listed</msg>
  </logentry>
  <logentry revision="b4852cd">
    <commit>b4852cddf869031984f53a3d355ec0499b0e13b3</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>5-Mar-2026 11:25 AM</date>
    <subject>Timetable Grid: Export PDF</subject>
    <msg>- changed visibility of a few methods to allow the PDF export to be called from a script</msg>
  </logentry>
  <logentry revision="e2f8856">
    <commit>e2f88567fdb12c19dafdd3ef7e23351e7b8c2fa0</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>2-Mar-2026 4:46 PM</date>
    <subject>WCAG: CSS changes</subject>
    <msg>- a few colors made darker to improve contrast in accordance to the WCAG compliance</msg>
  </logentry>
  <logentry revision="93ecd51">
    <commit>93ecd51a6bcbc52d8495262eebd585d671daf6b6</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>2-Mar-2026 4:45 PM</date>
    <subject>UniTime Page Layout: a few adjustments to improve WCAG compliance</subject>
    <msg>- HTML element now includes the language setting (e.g., &lt;html lang='en'&gt;) using the language from the current localization</msg>
    <msg>- page help icon (question mark) has an alt, aria-label, and is focusable</msg>
    <msg>- UniTime logo has an alt and aria-label for the link (back to home page)</msg>
    <msg>- stack menu hide/show button has an alt and aria-label</msg>
    <msg>- gray text is now using graytext color to improve contrast</msg>
    <msg>- hints, footnotes, tabs, etc. are now using darker color to improve contrast</msg>
    <msg></msg>
    <msg>- P: do not set overflow:hidden by default</msg>
    <msg>- SimpleForm: set aria-labeledby to the input element rather than the whole widget</msg>
    <msg>- UniTimeDocPanel: just like DocPanel but set role='presentation' on the tbody element</msg>
    <msg>- OpenCloseSectionImage: added focus and an ability to close/open section by keypress</msg>
    <msg>- time preferences toString(): return '-' when there is no preference</msg>
    <msg>- UniTimeWidget: use hint as aria-describedby instead of aria-labeledby</msg>
    <msg></msg>
    <msg>Scheduling Assistant</msg>
    <msg>- set alt for the email icon</msg>
    <msg>- Course Finder: set aria-label for the course selection checkboxes</msg>
    <msg>- limit the width of the Wait List Preferences dialog for mobile</msg>
  </logentry>
  <logentry revision="698c37e">
    <commit>698c37e8117357d5f63c23e77fdf5ddac875c3e9</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>2-Mar-2026 4:41 PM</date>
    <subject>Student Scheduling Dashboard</subject>
    <msg>- added ability to filter by free-time requests, e.g., use</msg>
    <msg>ft:&lt;=3</msg>
    <msg>- to filter for students with a free time request among the first three priorities</msg>
  </logentry>
  <logentry revision="fb9e126">
    <commit>fb9e1266e57d5f01a554521f6424eb42b22017cd</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>2-Mar-2026 4:41 PM</date>
    <subject>Student Scheduling Disclaimer</subject>
    <msg>- default scheduling disclaimers can be defined using the Default Scheduling Disclaimers administrative page</msg>
  </logentry>
  <logentry revision="c623efc">
    <commit>c623efce5b3640dac3cd50321099cc8d6c21f480</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>2-Mar-2026 4:41 PM</date>
    <subject>Student Scheduling Disclaimer: Custom Validation</subject>
    <msg>- when there are multiple disclaimer messages on a course</msg>
    <msg>- also ignore configurations that are not available (all classes are either cancelled or disabled for student scheduling)</msg>
    <msg>- also ignore configurations that do not match student required preferences (if used)</msg>
    <msg></msg>
    <msg>- added disclaimer warnings for wait-list validation</msg>
  </logentry>
  <logentry revision="c707492">
    <commit>c7074924a71a7255dabe9c479785be549f4f91ae</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>2-Mar-2026 4:41 PM</date>
    <subject>Student Scheduling Disclaimer: Added Release Notes</subject>
  </logentry>
  <logentry revision="05d3f3b">
    <commit>05d3f3b33e3b34ea059fa8c1d42ff1b531257b38</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>2-Mar-2026 4:40 PM</date>
    <subject>Student Scheduling: Course Request Validation</subject>
    <msg>- added a check for the new student scheduling disclaimer</msg>
    <msg>- when a course has only a signle config, or multiple conflicts with the same disclaimer, just display the disclaimer for the course</msg>
    <msg>- when there are multiple disclaimers, display {instructional method}: {diclaimer} for each applicable disclaimer</msg>
    <msg>- reservations and scheduling rules are checked and configurations that the student cannot take are ignored</msg>
    <msg></msg>
    <msg>- created a default verstion of the course request validator and advisor course recommendations validator that only does the UniTime-related checks, these include</msg>
    <msg>- no alternative course provided</msg>
    <msg>- associated course checks (associated course on the same request line, associated course requested as substitute, parent course not present)</msg>
    <msg>- high-priority free time</msg>
    <msg>- min/max credit checks</msg>
    <msg>- scheduling rules check</msg>
    <msg>- single-section time conflict check</msg>
    <msg>- inconsistent student preferences check</msg>
    <msg>- student scheduling disclaimer (new)</msg>
    <msg>- the Purdue's SimplifiedCourseRequestsValidationProvider is now inherited from the default validator</msg>
    <msg>- adding eligibility check, student hold check, and student PIN provider</msg>
  </logentry>
  <logentry revision="0459211">
    <commit>0459211cc92bac7b572e33a184bba21b1f056b23</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>2-Mar-2026 4:40 PM</date>
    <subject>Student Scheduling Assistant: Scheduling Disclaimer</subject>
    <msg>- all Submit Schedule confirmations bumped into one Confirmation dialog</msg>
    <msg>- only display the course note on the first class of the course</msg>
    <msg></msg>
    <msg>- display scheduling disclaimers (course configuration level)</msg>
    <msg>- in the Course Finder (on each class)</msg>
    <msg>- in the class schedule (on the first class of the course)</msg>
    <msg>- when adding a new course, or switching to a different config that has a (different) scheduling disclaimer, display the disclaimer in the Confirmation dialog</msg>
  </logentry>
  <logentry revision="5d99d4f">
    <commit>5d99d4f341abad79a93f21cc131f60c120f0bb4b</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>2-Mar-2026 4:38 PM</date>
    <subject>Student Scheduling Disclaimer: Data Entry</subject>
    <msg>- added Student Scheduling Disclaimer field on the instructinal offering config level</msg>
    <msg>- editable with InstructionalOfferingEditDisclaimer permission using Instructional Offering Configuration or Multiple Class Setup page</msg>
  </logentry>
  <logentry revision="cb4f118">
    <commit>cb4f118fd74b07744103d49694a08c3446b5d6c9</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>2-Mar-2026 4:37 PM</date>
    <subject>Dependencies: 3rd_party/sources</subject>
    <msg>- added gwt-user-2.12.2-sources.jar</msg>
  </logentry>
  <logentry revision="b01a9b9">
    <commit>b01a9b99844bbe9fe2600a30daab6518b0682b0e</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>2-Mar-2026 4:36 PM</date>
    <subject>Batch Student Scheduling: Free Times</subject>
    <msg>- for students with FT (need free-time) accommodation: added an ability to mark the free-time requests as higher priority</msg>
    <msg>- using solver parameter Load.FreeTimeAccRequestPriority set to Normal, Important, Vital, or Critical</msg>
    <msg>- added an ability to make sure that low-priority course requests do not overlap with a higher-priority free time request, even when it is not assigned</msg>
    <msg>- using solver parameter Sectioning.FreeTimeConflict is set to true; set to false by default</msg>
    <msg>- a few changes in the user interface to show free time request priority and free time conflicts</msg>
  </logentry>
  <logentry revision="930f7ad">
    <commit>930f7ad799ffa96237691073bef1fb6a6175dba5</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>2-Mar-2026 4:36 PM</date>
    <subject>Dependencies: CPSolver updated to 1.4.89 (was 1.4.86)</subject>
    <msg>Student Scheduling Solver: Free Time Conflicts</msg>
    <msg>- added a FreeTimeConflicts global constraint that does not allow an overlap with a higher priority free time request, even when it is not assigned</msg>
    <msg>- by default, a higher-priority free time request only blocks lower-priority course requests when it is assigned</msg>
    <msg>- enable by setting Sectioning.FreeTimeConflict to true (defaults to false)</msg>
    <msg></msg>
    <msg>Student Scheduling: Free Time Request Priority</msg>
    <msg>- added an ability to set RequestPriority for free time requests</msg>
    <msg></msg>
    <msg>Student Scheduling: Free Time</msg>
    <msg>- do not allow to overlap when there is no model</msg>
    <msg>- this makes the free-time conflicts show in the dashboards</msg>
  </logentry>
  <logentry revision="b2bce8b">
    <commit>b2bce8b4fd89a8ab1e9af9ac66174343283e2285</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>20-Feb-2026 9:13 PM</date>
    <subject>Class Detail: Timetable</subject>
    <msg>- fixed an exception thrown when showing an in-memory assignment with a partially-assigned violated distribution preference</msg>
  </logentry>
  <logentry revision="6832dd4">
    <commit>6832dd4d6661cce269335e6b1d573653eba87348</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>20-Feb-2026 9:13 PM</date>
    <subject>Enrollment Audit PDF Reports: Enrollments Violating Course Structure</subject>
    <msg>- corrected a case when the student is enrolled in the same course multiple times under different course names (e.g., different lab but the same lecture)</msg>
  </logentry>
  <logentry revision="3b8b48f">
    <commit>3b8b48fe7cfac274a0da7f2e04619610a335ba43</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>20-Feb-2026 9:13 PM</date>
    <subject>Course Finder: List Classes</subject>
    <msg>- when loading classes from the database, check the effective instructional method when evaluating student scheduling rules</msg>
  </logentry>
  <logentry revision="8a535b5">
    <commit>8a535b53b7cc450714d557a636e56406fd484432</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>17-Feb-2026 6:48 PM</date>
    <subject>Student Scheduling Assistant: Custom Enrollment Provider</subject>
    <msg>- fixed an issue that occurs when a student is enrolled in the same class multiple times (under different courses), tries to drop a class, and the drop is not allowed/fails due to the external system</msg>
    <msg>- the student was removed from the section in UniTime, and Special Registration did not get triggered</msg>
  </logentry>
  <logentry revision="8a70152">
    <commit>8a70152d14c3dbe4ba7671871d536d452faff99e</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>17-Feb-2026 6:48 PM</date>
    <subject>Menu</subject>
    <msg>- removed the old tmtbl.menu.displayxxx properties</msg>
    <msg>- adjusted permission checking for Lookup Classes, Lookup Exams, and Timetable for Anonymous role (Events permission is needed)</msg>
  </logentry>
  <logentry revision="5ba243f">
    <commit>5ba243f58cfc3ff2f75f4e7502302b65cbd17e99</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>17-Feb-2026 6:48 PM</date>
    <subject>Online Student Scheduling: Course Details</subject>
    <msg>- avoid serialization of the CourseDetailProvider</msg>
  </logentry>
  <logentry revision="acfa899">
    <commit>acfa89967e0f599e558641256ee8e25b8755a3b8</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>17-Feb-2026 6:48 PM</date>
    <subject>Course Catalog: added permission and release notes</subject>
    <msg>- create a simple page that shows information provided by the CourseDetailsProvider</msg>
    <msg>- to enable:</msg>
    <msg>- configure unitime.custom.CourseDetailsProvider (returning an HTML snippet)</msg>
    <msg>- set unitime.custom.CourseUrlProvider to org.unitime.timetable.server.courses.CourseCatalogBackend</msg>
    <msg>- set the Course Catalog permission for all the roles that should be able to see the catalog</msg>
    <msg>- possibly adjust the custom CSS to improve catalog page formatting</msg>
  </logentry>
  <logentry revision="f835e80">
    <commit>f835e80f89e75293097d4d65e1e2d24fe64a4ad2</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>17-Feb-2026 6:48 PM</date>
    <subject>Room Preference Index: Various Fixes</subject>
    <msg>- Session Roll Forward: Copy room index for room-related preferences (room, room feature, room group, and building preferences)</msg>
    <msg>- also fixed in AcademicSessionMerge</msg>
    <msg>- Preferences XML: Include roomIndex attribute for room-related preferences</msg>
    <msg>- Multiple Class Setup: Copy room index when room-related preferences are being moved pushed to the class level due to the change of the subpart's managing department</msg>
  </logentry>
  <logentry revision="1615941">
    <commit>161594179fcfbbd8b55be8ce10e16b7e20cc2cc5</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>17-Feb-2026 6:48 PM</date>
    <subject>Customization: Banner9 Course Details</subject>
    <msg>- a few more adjustments based on user feedback</msg>
    <msg>- sections now can be opened and closed (when shown on the Course Catalog page)</msg>
    <msg>- dotted lines between items in the first section</msg>
  </logentry>
  <logentry revision="7a24a6f">
    <commit>7a24a6fccee243b86e19b32869a3396256a3bb61</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>17-Feb-2026 6:47 PM</date>
    <subject>Customization: Banner9 Course Details</subject>
    <msg>- a few adjustments</msg>
  </logentry>
  <logentry revision="5472df6">
    <commit>5472df6d05cbf8049e637ba8a8b5c483a9067900</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>17-Feb-2026 6:47 PM</date>
    <subject>Customization: Banner9 Course Details</subject>
    <msg>- first implementation of a custom course details provider using the Ellucian's Ethos API</msg>
    <msg>- also created a Course Catalog page that just shows the data returned by the currently configured CourseDetailsProvider</msg>
  </logentry>
  <logentry revision="7f43105">
    <commit>7f43105fa1bff83eb3a6ac6ccb205c0ce52d512c</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>17-Feb-2026 6:47 PM</date>
    <subject>Solver Reports: Course Request Alternatives Statistics</subject>
    <msg>- added Course Request Alternatives Statistics report, an experimental report comparing course requests and advisor recommendations with and without alternatives</msg>
    <msg>- only available to user roles with Student Sectioning Solver Admin Reports role</msg>
  </logentry>
  <logentry revision="cabce7e">
    <commit>cabce7e455bf09a10452f671154be387ef10d2d8</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>17-Feb-2026 6:47 PM</date>
    <subject>Student Scheduling Solver Reports: Solution Statistics</subject>
    <msg>- updated the list of communication courses</msg>
  </logentry>
  <logentry revision="c995797">
    <commit>c995797cfe411fb2e22fee927a2e37f96f54f0c4</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>17-Feb-2026 6:47 PM</date>
    <subject>Default Course Details Provider: Default Template</subject>
    <msg>- the default template updated to display the credits correctly and to include indication that the course can be wait-listed</msg>
  </logentry>
  <logentry revision="54d5a64">
    <commit>54d5a64cf20424b7a6b2433a573322606365e443</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>9-Jan-2026 6:00 PM</date>
    <subject>Class/Scheduling Subpart Detail: Distribution Preferences</subject>
    <msg>- corrected the permission checking for the Add Distribution Preference button so that a Department Schedule Manager would see the button on an externally managed class or scheduling subpart</msg>
  </logentry>
  <logentry revision="c8f59d0">
    <commit>c8f59d0f832f2a6e368523d2e020112ab23b4000</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>8-Jan-2026 10:06 PM</date>
    <subject>Event Service Providers: HQL Bug Fix</subject>
    <msg>- fixed a query that loads all rooms for a service provider associated with a department, applying to all the department's event rooms</msg>
    <msg>- got broken with the Hibernate 6.x upgrade in commit b60f4a1</msg>
  </logentry>
  <logentry revision="324af16">
    <commit>324af1638b4c451054114ca072b0e8dc94664929</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>5-Jan-2026 3:00 PM</date>
    <subject>Dependencies</subject>
    <msg>Log4j updated to 2.25.3 (was 2.25.1)</msg>
    <msg>- this is to fix CVE-2025-68161 (Apache Log4j does not verify the TLS hostname in its Socket Appender)</msg>
  </logentry>
  <logentry revision="74b0bd6">
    <commit>74b0bd62deb24993762d5b78d76b432da4a728ba</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>5-Jan-2026 2:57 PM</date>
    <subject>Use 2026 in the copyright message</subject>
  </logentry>
  <logentry revision="b670c82">
    <commit>b670c82177953d19f320fc577ce0b8cefa717bca</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>23-Dec-2025 3:26 PM</date>
    <subject>Wait-Listing: Custom Validation</subject>
    <msg>- skip validation for a course that was made not offered (avoid null exception)</msg>
  </logentry>
</log>
