RT 4.2.11rc1 released

RT 4.2.11rc1 – 2015-04-23

RT 4.2.11rc1 is now available for testing.

https://download.bestpractical.com/pub/rt/devel/rt-4.2.11rc1.tar.gz
https://download.bestpractical.com/pub/rt/devel/rt-4.2.11rc1.tar.gz.asc

SHA1 sums

69ad2c1447f2bfef71884f4406890b0e1fd289a6 rt-4.2.11rc1.tar.gz
fb3c36faecf07fc7bc8cbaf1bf7858f1606b4504 rt-4.2.11rc1.tar.gz.asc

This release is a bugfix release; most notably, it improves indexing
time for full-text search, as well as improving support for Apache 2.4
and MySQL 5.5. Interactive command-line tools (including upgrade tools)
will now also default to displaying warnings to STDERR, to aid in
awareness of potential errors.

The complete list of changes includes:

General user UI

  • If storing a transaction failed, note the failure obviously in the
    ticket history (#30419)
  • Make sub-menus accessible on screen-readers
  • Prevent Dashboard portlet from rendering with too many columns
  • Hint that a transaction is Correspondence, using red background, on
    Jumbo and Bulk Update pages as well.
  • Articles distinction between “no classes exist” and “none visible to
    user” (#30638)
  • Skip Articles Class selection page if there is only one valid option
    (#29975)
  • For consistency with other roles, don’t attempt to send email
    notifications to owners that are disabled
  • Improve search performance when searching custom field values on
    users
  • Allow ModifyTicket to change nobody -> someone else, without
    OwnTicket
  • Allow HTML5 and tags for the replaced tag
  • Respect the user’s chosen units for Time Worked across page loads,
    instead of always defaulting to minutes. (#17985)
  • In Jumbo, preserve ticket basics so in progress changes persist after
    returning to the page
  • Make elements styled as .button render the same as other buttons
  • Add print styles for button and .button that match other inputs

Command-line

  • Default to enabling error warnings to the screen for interactive
    commands
  • Standardize --help, --quiet and --verbose options across tools
  • Allow GSSAPI authentication with bin/rt (#25074)

Web Administration

  • Don’t show rights on role groups rights list which are nonsensical
    (#30556)
  • Support setting multiply-valued custom fields during REST ticket
    creation
  • Fix an infinite loop in multiple-valued custom field parsing
  • Recover gracefully on template creation failure (#29021)
  • Provide a user-legible representation of the user’s GPG key (#25376)
  • Ability to change back to “role” UsernameFormat
  • Consistently store un-encoded header data for forwards (#29714)

Server Administration

  • Improve full-text indexing by 1-2 orders of magnitude, on both
    PostgreSQL and MySQL.
  • Warn if innodb_log_file_size would limit uploads to < 5M on MySQL
    5.5 and later
  • Increase the warn threshold on max_allowed_packet to 5M
  • Validate lifecycle right name length
  • For convenience, allow using the distribution name instead of package
    name in Plugin(); for example: Plugin(‘RT-Extension-SLA’)
  • Suggest explicit binlog_path for sphinx >= 1.10
  • Drop DatabaseRequireSSL option that does nothing; replace with
    DatabaseExtraDSN option to allow passing of arbitrary additional
    database parameters to the database interface
  • Respect configure-time FontPath configuration
  • Configurable transaction suppression for EscalatePriority (#29465)
  • Switch from Oracle DBA-only tables to tables the user can inspect
    (#30393)
  • Properly handle large IN sql arguments by breaking them up in to
    separate statements

Developer

  • Deprecate unused RT::Interface::CLI::debug sub
  • Standardize and simplify boilerplate for command-line options
  • Make rt-validator infinite loop checker actually work
  • Add ‘mbox’ option to $MailCommand which writes mbox-formatted output
  • Allow attributes to be set after object creation in initialdata
    files (#13036)
  • Do not set charset and body on multipart messages in ContentAsMIME
    (#23671)
  • Look harder for content in message/rfc822 parts
  • Allow creation of multipart/related via REST, by providing
    Content-IDs
  • Fold RT::Shredder code into core record classes
  • Skip Shredder tests on all non-SQLite databases
  • Built in HTTP Basic auth and htpasswd support in rt-apache tool
  • New callbacks for Ticket/Elements/ShowBasics, AfterTimeEstimated and
    AfterTimeWorked
  • Use %ARGS values in /Admin/Users/Modify.html to allow callbacks to
    modify them (#27655)
  • Allow passing SquelchMailTo to Ticket->Create
  • Explicitly depend on Class::Accessor::Fast not Class::Accessor
  • Add BodyClass parameter to Elements/Header so callbacks can more
    easily style only their own pages.

Documentation

  • Extend the documentation to support Apache 2.4 deployment
  • Attempt to improve reliability in lighttpd by suggesting sockets
    instead of TCP connection
  • Information on finding and installing plugins
  • Information on the new rights interface in the UPGRADING doc (#29515)

Internationalization

  • Localize EmailFrequency properties
  • Updated localizations (German, Spanish, French, Icelandic, Italian,
    Japanese, Lithuanian, Russian, Swedish, Traditional Chinese)

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

Hi,

the database upgrade step errors out with the following message:
ERROR: One of initial functions failed: Can’t call method “Subject” on
an undefined value at ./etc/upgrade/4.2.11/content line 49, <$handle>
line 1.

The problem is a missing check if actually a attachment object was
loaded at [1].
A simple
next unless $att;
fixes this for me.

I have found some Forward transaction which don’t have a attachment
object. It seams, without digging deeper into this, these transactions
where created with RT 4.0.

Chris

[1]

Hi Christian

I created 4.2/zero-attachments-in-forward-txns to fix this, which will be included in the future release.

Thanks for reporting this.

Regards
sunnavy> On Apr 24, 2015, at 18:21, Christian Loos cloos@netcologne.de wrote:

Hi,

the database upgrade step errors out with the following message:
ERROR: One of initial functions failed: Can’t call method “Subject” on
an undefined value at ./etc/upgrade/4.2.11/content line 49, <$handle>
line 1.

The problem is a missing check if actually a attachment object was
loaded at [1].
A simple
next unless $att;
fixes this for me.

I have found some Forward transaction which don’t have a attachment
object. It seams, without digging deeper into this, these transactions
where created with RT 4.0.

Chris

[1]
https://github.com/bestpractical/rt/blob/stable/etc/upgrade/4.2.11/content#L46

Thanks!

I just checked this an a vanilla RT 4.0.23 instance and it’s RT 4.0
default behavior to just create a Forward transaction without any
attachments [1].

RT 4.2 started to create Forward transactions with attachments [2].

Chris

[1]
https://github.com/bestpractical/rt/blob/4.0-trunk/lib/RT/Interface/Email.pm#L659-663
[2] https://github.com/bestpractical/rt/commit/a1a4f73Am 27.04.2015 um 17:43 schrieb sunnavy:

Hi Christian

I created 4.2/zero-attachments-in-forward-txns to fix this, which will be included in the future release.

Thanks for reporting this.

Regards
sunnavy

I just checked this an a vanilla RT 4.0.23 instance and it’s RT 4.0
default behavior to just create a Forward transaction without any
attachments [1].

RT 4.2 started to create Forward transactions with attachments [2].

Hi Cloos, this is indeed the case.

Thanks for calling this out. 4.2.11rc2 has been released with your
suggested fix.

Regards,