RT: Request Tracker

RT 4.4.3 Release Notes

RT 4.4.3 -- 2018-06-26
============================

We're pleased to announce the general availability of RT 4.4.3. This
release introduces several new features and also bugfixes.

https://download.bestpractical.com/pub/rt/release/rt-4.4.3.tar.gz
https://download.bestpractical.com/pub/rt/release/rt-4.4.3.tar.gz.asc

SHA-256 sums

738ab43cac902420b3525459e288515d51130d85810659f6c8a7e223c77dadb1  rt-4.4.3.tar.gz
29e0f9c44e30fb8bb2d23448f1930593aef28e4b3faf5bd22619f52e53229c4f  rt-4.4.3.tar.gz.asc


General user UI
  * Show the Ticket's Subject when modifying the ticket.
  * Re-format RT/Config.pm so the `# loc` comment parses correctly.
  * Sort saved searches alphabetically by name rather than by id.
  * In Self Service, provide a path to remove attachments from the session
    when they are deleted from dropzone by the user (I#32663).
  * Fix evaluation of set vs. unset custom fields on display for correct hiding.
  * Set dropzone attachment size based on RT's MaxAttachmentSize configuration.
  * Add a configuration option TreatAttachedEmailAsFiles to treat attached email
    as a file attachment instead of parsing as regular email.
  * Restore email header parsing for items like email addresses when
    TreatAttachedEmailAsFiles is not set. This was disabled in a previous
    version.
  * Respect default queue settings in Create linked ticket dropdown (I#32884).
  * More fixes for recipient checkboxes on update. This version removes previous
    problematic fixes and gives a visual indication (shading) when RT is updating
    recipients in the background and checkboxes should not be changed (I#33027).
  * Provide a way to reset personal search preferences back to the RT system
    default (I#32854).
  * Add an Untake action to the Actions tab.
  * Add active and inactive status to query builder.
  * Re-add Queue to 'Order by' dropdown in Search Builder.
  * Make admin searches for queue and group case insensitive making it easier to
    find groups.
  * When editing ticket basics, always add valid default value to queue selection,
    taking into account SeeQueue rights.
  * Set dropzone parallelUploads to 1 to avoid losing attachments. Also
    set parallelUploads when the dropzone object is created.
  * Correct error messages on user rights for CF admin UI.
  * In ticket history, respect ShowHeaders option from request for
    ScrollShowHistory (I#32699).
  * Fix ExtraArgs of callback ExtraShowHistoryArguments in ScrollShowHistory.
  * In the ticket history with scroll set, continue to get transactions until all
    have been shown, even if a block has been hidden for some reason (rights, etc.).
  * Add PreferDropzone config/pref option for users. Dropzone is not accessible
    to screen readers and this enables the previous attachments interface which
    is accessible.
  * In the query builder, set operator to "IS" or "IS NOT" for NULL values.
    This fixes a regression from pre-4.4 RT behavior.
  * Don't create ticket if user clicks "Go" buttons of "Include Article".
  * Fix CF name escape for asset search's spreadsheet download.
  * Show the user in single member custom roles even if the user is
    disabled (I#32949).

Administration
  * Stop wrapping ShowUser in <a> tags to avoid unnecessary nested links.
  * When listing group members, sort by text-only representation of the
    user, not HTML (I#30771)
  * In the group admin page, stop pre-computing ShowUser.
  * In shredder, check for both id and name mismatches when loading objects.
  * Add a new rt-passwd command to make it easy to reset passwords on the
    command-line.
  * Support custom roles in RT serializer/importer tools.
  * Support catalogs and assets in RT serializer/importer tools.
  * Update RT's module dependencies for SSL (https) to align with updates
    to the CPAN module ecosystem.
  * Add age, batchsize, and dry-run options to rt-externalize-attachments.
  * Set proper HTTP Status codes on Abort.
  * The value for converting the owner dropdown to an autocomplete textbox can
    now be updated in configuration with DropdownMenuLimit.
  * Switch to Clone::clone to copy config structures in Obfuscate callbacks. This
    restores support for REGEXP and CODE configuration on the System Configuration page.
  * Provide a way to pass more options to Net::LDAP from LDAPImport configuration.
  * Provide more debug output on connection failures in LDAPImport.
  * Store log messages until RT::Logger is initialized. This means messages logged
    before the logger is available, like "Change of config option..." can now
    respect the configured log level.
  * In shredder, check for both id and name mismatches when loading objects
  * Retain scrip sort order in pagination links

Internals
  * Cache OCFVs to improve performance searching for duplicates when adding
    values.
  * Remove unused dependencies on File::Copy and Carp.
  * On Oracle, return the empty string instead of undef for Subject when it
    has no value on a ticket.
  * When linking, load assets by id to confirm the asset exists. This makes
    asset link handling consistent with ticket handling.
  * Various fixes for compatibility with perl 5.26.
  * Support unicode characters in constant time comparison function
  * Allow merge for tickets only, not other types like reminders (I#32700).
  * Preload Encode with UTF-8 to avoid masking other errors (I#32648).
  * Process multiple links via the REST 1.0 interface.
  * Add SLA field support on REST 1.0.
  * Build table attributes for RT::Asset. This is needed to allow assets to work
    properly with REST 2.0.
  * Avoid uninitialized value warnings with __CustomField__.
  * Call DoAuth only if ExternalAuthPriority is not empty, allowing use of
    ExternalAuthInfo without ExternalAuthPriority set.
  * Use "id asc" as the default sort order of GroupMembers for consistent ordering.
  * Cache OCFVs to improve performance searching for duplicates on add.
  * In CollectionAsTable, fix the uninitialized warning in case @Order is empty.
  * In rt-validator, update link checking regex to match asset links.
  * Remove trailing "/" from RT::URI::asset::LocalURIPrefix for consistency.
  * Use RT::Logger for EmailInputEncodings config warnings.
  * "Die" properly when receiving an invalid query via to FromSQL.

Developer
  * Avoid using $id in /Ticket/Display.html so callbacks can modify id in ARGS.
  * Pass the MIME entity to ParseTicketId in addition to subject.
  * Remove a 'This is scary' comment from code that has been running fine for
    over 10 years.
  * Improve warning tracking for automated tests.
  * Add an Initial callback to Bulk.html.
  * Don't fail externalauth/auth_config.t tests if Net::LDAP is missing.
  * Find an idle port for LDAP test server to avoid tests hanging when running
    in parallel mode.
  * When testing, make sure DevelMode is on to catch compilation errors.
  * Avoid uninitialized warnings of empty ticket subjects on Oracle.
  * In the MessageBox template, default callback, pass $message by reference in
    MessageRef, as the variable name implies. This will break previous use of
    MessageRef as a scalar.
  * Add support for a NeverNotifyActor argument to Notify actions.

Documentation
  * Mention the RT-Attach-Message: yes header in template docs.
  * Fix incorrect path in portlet documentation.
  * In $ParseNewMessageForTicketCcs docs, mention the RT::Action::AutoAddWatchers
    extension.
  * Document queue-level template overrides.
  * Document using prove and RT_TEST_PARALLEL for tests.
  * Note in UPGRADING that RT::Extension::AdminConditionsAndActions is now in core.
  * Remove unnecessary AUTHORS sections from docs.
  * Update rt-static-docs documentation processing to fix broken links.
  * Add MariaDB support to documentation and rt-setup-fulltext-index.

Internationalization
  * Many changes to refactor sections of RT's internationalization code.

A complete changelog is available from git by running:
    git log rt-4.4.2..rt-4.4.3
or visiting
    https://github.com/bestpractical/rt/compare/rt-4.4.2...rt-4.4.3