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

<log>
  <title>UniTime v4.8 build 224 change log (since the last release, build 216 on 09 Sep 2025 01:00)</title>
  <logentry revision="0d60f9d">
    <commit>0d60f9d72d2ad60ce831dd7153041be8fe681489</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>23-May-2026 10:43 PM</date>
    <subject>Exporter: Encoded URLs</subject>
    <msg>- it is now possible to specify which exporters allow encrypted URL authorizations (by default, only the iCalendar exports are allowed)</msg>
    <msg>- this can be configured using the unitime.export.authorizeEncodedQueries application property</msg>
    <msg></msg>
    <msg>- it is now possible to specify whether URL encoding is enabled for anonymous access</msg>
    <msg>i.e., when disabled, events pages that allow for anonymous access (such as Lookup Examinations) will provide an unencrypted iCalendar URL when the user is not authenticated</msg>
    <msg>- this can be configured using the unitime.encode.anonymous application property, defaults to false</msg>
  </logentry>
  <logentry revision="79cf047">
    <commit>79cf047f813a783b437e3d50f9450b0254cad86c</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>21-May-2026 10:16 AM</date>
    <subject>Export: Authentication</subject>
    <msg>- ExportServletHelper: improved user &amp; role checking for the encoded queries</msg>
    <msg>- QueryEncoderBackend: always attach user &amp; role in the encoded query</msg>
    <msg>- ACR Submit: include role in the export URL</msg>
  </logentry>
  <logentry revision="7b4d5c5">
    <commit>7b4d5c5d586cfd260a43ae98dd9a1cf62c416f7d</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="84a1ed3">
    <commit>84a1ed3db989aa35526cdef89c13d2116932ddf3</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>26-Nov-2025 5:44 PM</date>
    <subject>Add/Edit Subject Area</subject>
    <msg>- list all available departments (excluding externally managed ones) for a subject area</msg>
    <msg>- instead of those that are being used (have a manager, a room, or another subject)</msg>
  </logentry>
  <logentry revision="a6b2f2e">
    <commit>a6b2f2ef66c0b5748bc207e1a50dccfb2312a3a6</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>26-Nov-2025 10:02 AM</date>
    <subject>Course Timetabling: Suggestions</subject>
    <msg>- compute and populate conflicting constraints when a placement with conflicts is selected from the Suggestions table in the Placements mode</msg>
    <msg>- fixed a problem when an invalid placement is selected for the 2nd or later class from the Selected Assignment, which was causing conflicting placements to get unassigned</msg>
  </logentry>
  <logentry revision="66bc25d">
    <commit>66bc25de75b7e23089b72ac91cadcabf6b0645ba</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>25-Nov-2025 2:21 PM</date>
    <subject>Student &amp; Instructor Name Format</subject>
    <msg>- fixed an exception that was thrown when a first name or a last name is just a single space for name formats using initials</msg>
  </logentry>
  <logentry revision="98e86f9">
    <commit>98e86f9aaea3b3f52a5920d0effb5b8deb9e8621</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>25-Nov-2025 2:21 PM</date>
    <subject>Subject Areas: Delete</subject>
    <msg>- fixed a Hibernate exception (ObjectDeletedException) when deleting a subject area that has some not-offered courses</msg>
    <msg>- caused by the latest Hibernate upgrade (to version 6.6)</msg>
  </logentry>
  <logentry revision="5877590">
    <commit>58775902de20d8d05635dddabe863c208cf0ab93</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>26-Oct-2025 9:25 AM</date>
    <subject>Database Model: Subject Area</subject>
    <msg>- corrected the size of subject area abbreviation to much the database (40 chars)</msg>
  </logentry>
  <logentry revision="d3a0992">
    <commit>d3a0992c50dc4304625da454d8ab09b00b85d10a</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>21-Sep-2025 9:16 AM</date>
    <subject>Data Exchange: Course Offering Import</subject>
    <msg>- fixed a Hibernate exception when importing exams with instructors</msg>
  </logentry>
  <logentry revision="1692a00">
    <commit>1692a0063ff149e52a16672b87420c0bb6d370b1</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>19-Sep-2025 6:40 PM</date>
    <subject>Class Assignment: Assign</subject>
    <msg>- another attempt to avoid a Hibernate exception when making a complex change</msg>
    <msg>(by correctly updating Class_.assignments and flushing the changes before calling refresh if not running within a transaction)</msg>
  </logentry>
  <logentry revision="4277bd1">
    <commit>4277bd1330c053e2234ed99b3943f545b1010bcd</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>19-Sep-2025 6:40 PM</date>
    <subject>Class Assignments: Hibernate Fix</subject>
    <msg>- fixed a potential Hibernate exception (TransientObjectException) when making a larger change</msg>
  </logentry>
  <logentry revision="bb525f6">
    <commit>bb525f6e163c64bcdbe9185c9430a9d3bb4a2146</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>19-Sep-2025 6:36 PM</date>
    <subject>Examination Assignment: Logging</subject>
    <msg>- do not log "Given period is not required." errors</msg>
  </logentry>
  <logentry revision="d230f09">
    <commit>d230f094e111702fae15f4669ad4a7d288dd2fd7</commit>
    <author>tomas-muller &lt;muller@unitime.org&gt;</author>
    <date>19-Sep-2025 6:36 PM</date>
    <subject>Edit Course Offering</subject>
    <msg>- fixed a Hibernate error (probably caused by the latest Hibernate update) thrown when a course that has been just added in a cross-list is being edited</msg>
  </logentry>
</log>
