RT 4.0.19rc1 released

RT 4.0.19rc1 – 2014-01-08

RT 4.0.19rc1 is now available for testing.

http://download.bestpractical.com/pub/rt/devel/rt-4.0.19rc1.tar.gz
http://download.bestpractical.com/pub/rt/devel/rt-4.0.19rc1.tar.gz.sig

SHA1 sums

65b8702ca4c16ddea45d64796bd409e7c7e8949f rt-4.0.19rc1.tar.gz
9e0fbcf065904ea28cffef9b0a7d486e463a6940 rt-4.0.19rc1.tar.gz.sig

This release is primarily a bugfix release; of particular note is that
it contains schema changes for MySQL, the first notable such in the 4.0
series. Though the changes are limited, it is especially important to
take, and verify you can recover from, a database backup prior to
upgrading.

Other changes of note:

Documentation

  • Add documentation for rt-crontool
  • Clean up examples in Lifecycles documentation
  • Document additional indexes that increase performance of Shredder
  • Replace a suggested GnuPG option with one which is not deprecated
  • Note that errors reported from the GnuPG infrastructure may be caused
    by GnuPG not being configured, but having been automatically enabled.

Database

  • On MySQL, alter the character set of all columns used to store email
    addresses to UTF-8
  • Ensure that invalid byte sequences that may have snuck into the
    database previously (on earlier versions on MySQL, for instance) are
    not blindly interpreted as UTF-8 when retrieved from the database.
    As a result, invalid bytes will be returned from the API as the four
    characters “\xHH”, where HH is the hexadecimal encoding of the byte.
  • Ensure that all data containing non-ASCII is quoted-printable encoded
    for PostgreSQL, instead of merely all data not claiming to be
    "text/plain"
  • Additional warnings prevention on Oracle; tests now pass cleanly
  • Allow fully-automated database upgrades using --upgrade-from and
    –upgrade-to options to rt-setup-database
  • Clean out any remaining traces of RTFM that lingered in custom fields
    and custom field values that were disabled at the time of the
    previous upgrade step.
  • Bullet-proof a 3.8 -> 4.0 upgrade step for Scrips with no Condition

Email

  • Set a transfer encoding on outgoing dashboards; this resolves issues
    with long lines when using the Sendmail MTA.
  • Cope with mangled and overly-quoted recipient headers occasionally
    generated by Outlook.

General user UI

  • When using the back button to return to a reply page with the rich
    text editor, contents will no longer be doubly HTML-encoded
  • Improve rendering on Internet Explorer 6
  • Fix cascaded custom fields on Internet Explorer 8 and below.
  • Support cascaded selects for all Select render types (dropdown,
    select box, radio buttons, checkboxes)
  • Minor rendering bugs with Charts placed on homepages and dashboards
  • Add “mark as seen” functionality to SelfService ticket display pages
  • Link the ModifyPeople page when the user has Watch or WatchAsAdminCc
  • Whitelist “show outgoing email” and chart results from CSRF
    protection
  • RT 4.0.7 introduced a performance regression when building ticket
    searches that query Links; switch back to a much better-indexed
    query.
  • Fix “Clone ticket” functionality with Select-multiple custom fields.
  • Show the queue ID for the current queue in the ticket edit page, even
    if the user does not have SeeQueue; this prevents the user from
    accidentally changing the queue.

Query Builder

  • Support CF.Foo in addition to CF.{Foo} and ‘CF.{Foo}’ in format
    strings. This follows the trend of allowing brace-less forms
    whenever possible.
  • Ensure that format strings from the Query Builder escape quotes
    correctly, and correctly parse existing formats with quotes.
  • Autocomplete CF values for custom fields of type “Autocomplete” in
    the Query Builder.
  • Warnings avoidance for searches with more than 1000 results.

Admin

  • Fix real-time updating of Theme CSS on Internet Explorer 8 and below
  • Fix a minor display bug in the CF Admin pages, where the queue number
    instead of queue name would be displayed in requests shortly after
    server startup.
  • Add “Extra Info” as a possible field for “More About Requestor”

iCal

  • Ensure that iCal dates are formatted with a leading space on the
    first nine days of each month, for correctness.
  • Show iCal dates (when omitting times) in the user’s timezone, not UTC

REST

  • Prevent a server error when attempting to guess content-type in the
    REST interface.

Development

  • Custom Action and Condition packages (as supplied by extensions;
    these are not the text entry boxes in the UI) are now loaded at
    server startup time, to catch compile-time errors in such classes
    early as well as reducing RT’s memory footprint on mod_perl.
    Previously, these errors would have logged errors only when their
    Scrip failed to fire. This restores the behavior found in RT 3.8,
    which was mistakenly removed in RT 4.0.0.
  • rt-dump-metadata has slightly more documentation and options
  • Additional callbacks, including in charts, and on ticket reply pages
  • Show customized rights under their appropriate categories
  • Remove an unused Makefile target
  • Ensure that RT::Template->Create returns (result,message) and not
    simply result

A complete changelog is available from git by running:
git log rt-4.0.18…rt-4.0.19rc1
or visiting
https://github.com/bestpractical/rt/compare/rt-4.0.18...rt-4.0.19rc1