RT: Request Tracker
RT 4.4.2 Release Notes
RT 4.4.2rc1 -- 2017-06-01 ========================= We're pleased to announce the availability of the first release candidate for RT 4.4.2. This release addresses many issues and adds several minor new features. A complete list of improvements follows. We have redesigned how time worked is calculated per user and for children tickets. As always please be sure to review the UPGRADING-4.4 document. https://download.bestpractical.com/pub/rt/devel/rt-4.4.2rc1.tar.gz https://download.bestpractical.com/pub/rt/devel/rt-4.4.2rc1.tar.gz.asc SHA-256 sums 08b35701234bba170e24114fed8488f47ac723f44e1f161c12483c40607453c3 rt-4.4.2rc1.tar.gz ca5fd5c069dae9f205824f0321726272b69b5d9844b7597005db871912a59db1 rt-4.4.2rc1.tar.gz.asc - Shawn M Moore, for Best Practical New features * Custom fields now have a "New values must be unique" option. * Custom fields now support value canonicalization (for example, automatically changing input values to be all uppercase). See the @CustomFieldValuesCanonicalizers config option. * Ticket timers provide a comment box for quickly adding ticket comments to describe your time worked. * You can now set up default values for assets on a catalog level. * You can choose to display result counts on ticket search portlets using the new $ShowSearchResultCount config setting. * There is now a "Load all history" link for the "as you scroll" history loading mode, to allow you to use browser-based text search. * We now display a list of recently-viewed tickets in the Search -> Tickets -> Recently Viewed menu. * We have made RT::Extension::AdminConditionsAndActions part of core RT, so you can now easily configure the conditions and actions of your scrips right within the admin UI. General user UI * Avoid breaking sorting of non-ticket searches in dashboards * Avoid duplicate one-time recipients (I#31938, I#31939) * Suppress ticket Ccs and AdminCcs from one-time recipients * Allow ordering assets with "CustomField.Foo" syntax * Avoid divide-by-zero in charts with no data (I#32143) * Add ability to link multiple assets to a new ticket from asset bulk update * Add quick asset create portlet for user summary * Add encrypt/sign controls to ticket forward page * Fix browser-based search navigation link generation (I#32197) * Remove self-service password change form under ExternalAuth * Respect SetInitialCustomField right in self-service (I#32233) * Declare page as being in user's language for browser spellcheck (I#32082) * Fix error with merge tickets being used on bulk update (I#32237) * Avoid overaggressively generating external attachment links * Add $HideOneTimeSuggestions config to hide one-time recipient addresses behind a click * Add "All recipients" checkboxes to modify people page and one-time recipients on update * Dashboards are now displayed in alphabetically-sorted order * Remove dashboard from menu if it can't be loaded (I#29719) * Avoid wrapping one-time recipient checkbox separately from its label (I#32117) * Use only top-level attachments for generating one-time recipient lists to avoid e.g. phishing addresses * Fix accidental usage of server timezone for end users (I#32315) * Add user preference for browser context menu instead of CKEditor's, for native spellcheck (#32274) * QuickCreate on a dashboard no longer sends you to the homepage (I#25573) * Respect HideTimeFieldsFromUnprivilegedUsers in correspond transactions with time worked * Fix occasionally-missing background-color for comments * Add a Timer column to search results for launching ticket timer * Fix error preventing merging tickets with lazily-created watcher groups (I#32490) * Add a __CurrentUserName__ TicketSQL placeholder * You can now search tickets using Queue LIKE '…' and Queue NOT LIKE '…' * Make "Show all" link for attachment lists more prominent (I#32459) * Respect SetInitialCustomField for multi-valued CFs (I#32491) * Fix bulk update for asset custom fields (I#32509) * Add support for CF grouping in asset bulk update (#32198) * Add "reattach" as an attachment warning keyword * Sort one-time recipient addresses (I#31879) * Fix article quicksearch degrading the article menu (#31591) * Avoid noisy "CF changed from 0 to 0" messages (I#32440) * Avoid showing a truncated list of articles due to permissions (I#31989) * Avoid double-encoded text attachments loaded from ExternalStorage * You can now chart tickets by SLA (I#31824) * Add "Show all" button for attachments on ticket forward page * Relabel "Password" portlet on user page to "Access control" (I#31379) * Fix UI for bulk update of "List"-type select-multiple CFs (I#32562) * Avoid discarding checkbox changes in Recipients panel (I#32290) * Clean up article custom fields display (I#32641) * Add SLA field to bulk update if any queues have SLA enabled * Include the new Request Tracker logo * Fix overly-large bookmark star on mobile UI (I#32727) * Stop double-escaping HTML which is made into links (I#31169) * Fix keyboard shortcut UI for selecting tickets on old themes (I#32748) * Add Reports menu with several predefined reports Command-line * Fix rt-ldapimporter --debug logging output (I#32196) * Improve rt-ldapimporter documentation * Produce output from etc/upgrade/upgrade-assets Email * Avoid overaggressively trimming whitespace from MIME encoded-words * Add config option $OverrideMailPrecedence to help avoid out-of-office autoreplies * Fix issues with encrypted attachments being unreadable/absent Database * Skip DBA password prompt on SQLite * Avoid warnings when upgrading old saved searches (I#32235) * … and fix up those old saved searches (I#16856) * Restart asset and catalog ID sequences for Pg and Oracle in etc/upgrade/upgrade-assets * Add index on Attachments table column Filename (I#32033) * Replace deprecated NOCREATEUSER with NOSUPERUSER for Postgres 9.6 (I#32511) * Avoid deadlock in SetOwner race condition which we believe affected only MySQL (I#32381) * The previous may have caused inconsistent ticket ownership, and so the 4.4.2 upgrade step will find and fix such issues * Add rt-validator rules for possible issues around ticket owner rt-serializer/rt-importer * Fix several incorrect references in output (I#31803, I#31804, I#31805, I#31808) * Add --exclude-organization option (I#31812, I#31813) * Add --limit-queues and --limit-cfs options * Suppress semi-unmigrated link relationships by default * Add --hyperlink-unmigrated option * Fix queue change transactions to mention unmigrated queues by name * Support for dashboards in menu preference (I#31810) * Support for RT at a Glance preference (I#31809) * Don't skip RT->System searches * Avoid breaking rights granted to users (I#31806) Web Administration * Add checkbox for selecting all custom field values in admin UI * Log a history entry when adjusting whether a user is Privileged * Log history entries when adding/removing a group member both to the group and to the member * Hide disabled scrips by default, adding a "include disabled scrips" checkbox (I#30131) * Add missing timezone field on user create/modify (I#29977) * Add RT extension names and versions to System Configuration page (I#31482) * Add a "SetCustomFieldToNow" scrip action whose Argument is CF name * Fix default values config when CustomFieldGroupings introduces duplicate CFs (I#32441) * Fix ExternalAuth failure after viewing System Configuration page (I#32469) * Support custom field groupings for groups * User searches can now be sorted by user CF Server Administration * Avoid error messages in 4.0.1 upgrade step * Improve automatic identification of `find` command * Add RefreshIntervals config option for managing homepage and dashboard refresh * Remove unnecessary conditionals on RT_Config Set calls for Assets (I#32087) * Log failure to unlink temp file after email parse (I#32142) * Make automatically linking a used article to the ticket configurable with $LinkArticlesOnInclude config * Add a --webpath option to rt-server * Avoid undef warnings with mbox MailCommand and FastCGI * Avoid regex deprecation warnings on perl 5.21.1+ * Avoid issues with modern Perl versions excluding ./ from @INC * Reduce log levels of custom field loading issues caused by ordinary end-user actions (I#31742) * Add Host option for S3 ExternalStorage * Add SelfServiceCorrespondenceOnly config to filter history * Adapt SMIME probe to work with openssl 1.1 * Tell S3 each file's content type rather than letting it guess wrong * Double bcrypt cost for password hashing * Fix unknown address log in ExternalAuth * Search $RT::LocalEtcPath for RT_SiteConfig.d includes * Avoid "Couldn't load object RT::Transaction #0" warnings (I#31548) * Log when Quicksearch wasn't replaced with QueueList as required by 4.4 upgrade (I#32475) * Warn if ServiceBusinessHours config incorrectly specifies Sunday as day 7 rather than day 0 (I#32487) * Avoid broken DateTime::Locale versions (I#31542) * Avoid incompatible DBD::mysql version (I#32670) Developer * /Elements/MessageBox now has a Placeholder parameter * /Asset/Elements/SelectCatalog now takes a ShowNullOption parameter * /Asset/Elements/SelectStatus now handles multiple lifecycles * Support processing time-related transaction CFs on ticket forms * Clarify the usage of skip_update in /Ticket/Update.html BeforeUpdate callback * Pass %ARGS from /Ticket/Modify.html to EditCustomFields * Disable reading of RT_SiteConfig.d during tests * Fix whitespace-related test failures under Mojolicious 7.0 * Fix test failures when /usr/bin/sendmail absent * Factor out _OutgoingMailFrom into a separate method for extensibility * Ensure that Test::NoWarnings is skipped if skip_all is used * Fix bug where RT::Ticket->Create's SquelchMailTo would squelch only to the first address (I#31600) * Avoid test failure caused by hash randomization * Add an RT::Ticket->Atomic method for avoiding race conditions and deadlocks; if you have a custom page that calls Process* functions or $Ticket->ApplyTransactionBatch, consider using $Ticket->Atomic * ExternalStorage backends can now store/retrieve files by methods other than SHA256 of content by returning the identifier from ->Store * Concatenate each JS file with a newline to avoid breakage with custom JS files ending with a // comment and no trailing newline (I#32539) * Add $InitialdataFormatHandlers to open up initialdata to other formats * Set up default args for customizations calling SignEncrypt directly * Support managing groups as watchers in REST by specifying group id * New callbacks: /Elements/ShowCustomFieldWikitext WikiFormatArgs /Asset/Search/index.html Initial /Search/Elements/Chart AfterChartTable /Elements/EditCustomFields ModifyFieldClasses /Elements/ShowCustomFields ModifyFieldClasses /SelfService/index.html BeforeMyRequests, AfterMyRequests /SelfService/Closed.html BeforeMyRequests, AfterMyRequests /Ticket/Elements/ShowAttachments BeforeList, AfterList /Ticket/Create.html BeforeRequestors * Improved callbacks: /Elements/Tabs Privileged adds Search_Args, Has_Query, and ARGSRef parameters /Elements/Tabs SelfService adds ARGSRef parameter /Ticket/ModifyDates.html Default adds results parameter /Elements/SelectDates BeforeDateInput adds Object, ARGSRef, and ShowTimeRef parameters /Elements/SelectDates AfterDateInput adds Object and ARGSRef parameters /Elements/ShowTransaction Default adds CreatorObj parameter Documentation * Include assets example in CustomFieldGroupings doc (I#32141) * Update links to the RT wiki * Improve Amazon S3 ExternalStorage docs * Improve LDAP import examples * Add docs for CustomRoles in initialdata * Update mailing list references to point to community forum * Improve documentation around creating a custom theme (I#31800) * Fix syntax error in SLA examples * Document how to include a config file for your extension * Add docs/customizing/scrip_conditions_and_action.pod for scrip conditions and actions * Expand Overlay docs to include many common extension patterns * Document how to include custom fields in format strings Internationalization * Improve translatability of "Refresh home page every x minutes." now that "x" is configurable with @RefreshIntervals * Update translations for: Brazilian Portuguese, Croatian, Czech, Dutch, Finnish, French, German, Greek, Latvian, Polish, Russian, Slovenian, Spanish, and Swedish A complete changelog is available from git by running: git log rt-4.4.1..rt-4.4.2rc1 or visiting https://github.com/bestpractical/rt/compare/rt-4.4.1...rt-4.4.2rc1