Skip to content

rt-3.8.3

Compare
Choose a tag to compare
@alexmv alexmv released this 27 Jun 01:49
· 16444 commits to stable since this release

We are happy to announce that RT 3.8.3 is now available.

You can download it from:

http://download.bestpractical.com/pub/rt/release/rt-3.8.3.tar.gz
http://download.bestpractical.com/pub/rt/release/rt-3.8.3.tar.gz.sig

SHA1 sums

6fe0187408104e9a5a9f0832f1f11ed24b6df10a  rt-3.8.3.tar.gz
e87623b4a958b13d5ce1474ca6d8d4024fa13920  rt-3.8.3.tar.gz.sig

A longer changelog is available at the bottom of this announcement.
Some highlighted changes include:

  • Bug fixes for IE support with the RichText editor
  • Improvements in parsing and validating gpg-signed messages
  • Improved config loading, errors and improved messages
    about where Config overrides originated.
  • Fix for rewriting Ticket subjects when using Queue Subject tags
  • Fixes to searching for NULL Custom Fields
  • New User level config options for HomePage and Search Result Refresh
  • Multiple new callbacks
  • Updated Scrip descriptions to mention that a Notify All includes
    the Owner
  • Dashboard improvements, including the ability to nest Dashboards,
    new access links for dashboards, callbacks and a new Mon-Fri
    subscription

Changelog for RT 3.8.3, generated 2009-05-27T19:42:52

FIXES AND CLEANUPS

  • Indent cleanup.
  • doc updates for mysql upgrades from jmoseley
  • Tell explicitely that $DayBeforeMonth is only for parsing, not for displaying
    dates.
  • Remove blank Values since the magic field will take care of this. Sometimes
    the browser gives you a blank value which causes CFs to be processed twice
    Thanks to Philip Kime
  • better support situations when CF's LookupType is not complex,
    for example 'RT::Queue'. Thanks to Philip Kime and Emmanuel Lacour
  • Factor out a ShowParents template
  • Show the correct side of the link
  • RT/Config.pm
    minor pod changes
    delete empty functions
  • store extension name in META{Option}{Source}{Extension}
    instead of boolean value
  • Fix incorrect Queue->SetDisabled introduced in r17674.
  • Don't leave attachments in session after ProcessUpdateMessage to remove them
    from WebUI for next update.
  • Formatting cleanup (thanks to Richard Hartmann, closes: #12457)
  • Fix WebFallbackToInternalAuth (thanks to David Chandek-Stark, closes: #12478)
  • RT::Test sets ENV{RT_SITE_CONFIG} to a tempfile that doesn't
    look like SiteConfig.pm so we need to force _LoadConfig to
    treat it as a SiteConfig, otherwise it won't let you override
    DatabaseName or MailCommand and running tests will drop your
    real database.
  • use a little bit proper fix for site config thing
  • Reduce list of owners from SelectOwner in Search to queues the current user can
    see (or see tickets in).
  • Reduce the list of owners from SelectOwner in bulk update to queues where
    current user can create or modify tickets.
  • update ru.po
    reuse some loc strings that we have already
  • Revert commits that tried to fix the count of Owners displayed in Build.html/Bulk.html as it needs more discuss.
  • in RT we use [_1] instead of %1
  • use WebPath when invoking the Autocompleter
  • upgrade scriptaculous from 1.8.0 to 1.8.2
    upgrade prototype from 1.6.0 to 1.6.0.3
    mainly bugfixes and browser compatibility nits
  • local modification to avoid browser jumping when you try to use
    the keyboard to move up and down in an autocompleted list
  • fix reporting by owner, created by and last updated by
  • tiny html fix: an extra in Dashboards/Queries.html
  • make words consistent in Install pages
  • handle mails with nested inline signatures in old-style gpg format
  • Correct test count for gnupg-reverification
  • Rename schema.mysql to schema.mysql-4.0 to avoid confusion without reading
    Handle.pm (closes: #12665)
  • Use friendly name for customfields in title of chart page (closes: #13144).
  • add tests for validator
  • schema.mysql was renamed
  • use RT->Config instead of direct option variable access
  • {Add,Del}Watcher references principals as a group can be added as watchers
  • fix checking and recovering CGMs
  • Grammar nit
  • RT-Ticket: 13047
    Hide transaction custom fields from users who can't edit them
  • quiet test warnings
  • if you say JOIN you need to say ON or Pg will bail
  • RT-Ticket: 13174
    There's a small typo in RT::Interface::Email that causes emails to be sent to
    the first To address only, ignoring the other recipients such as Cc.
    Requestors: [email protected]
  • When we open a div, we should close a div, not a span
  • Comboboxes weren't rendering properly on IE7. This appears to fix it
  • LoadByValues returns detailed message on errors
  • don't check right in GrantRight as ACE->Create does better job
  • Pg 8.3 requires explicit casting of date types to text
    for substring and other functions
  • Don't rewrite sub language name in preference if the variant is already
    enclosed by parenthesis.
  • post check only when we're not in install mode
  • localize $@ as we don't rethrow it
  • on some systems gpg --version exits with code 2 even when it's 100% functional
  • don't detect and decrypt blocks which contains GPG header
    in the middle of a string instead of the beginning
  • use a local function to render attachments
    make difference between large text and not text
    show additional information when displaying named texts is disabled
    loc strings have been changed
  • fix verifying of old style signed attachments: we must decode bodies first
  • do better job at detecting attachments with signatures for them in another MIME part
  • if we load all attachments then update %ARGS as we pass it through
  • don't show GPG status for top most record, we'll handle it per attachment
  • store status on the message by default on decrypt/verify and only on related parts
  • we have status on all parts
  • show gpg status per attachment
  • adjust tests
  • there is no $Config but RT->Config
  • move WebDomain and WebPort above WebPath, these
    three are only options you usually need to setup paths
    calculate scheme in WebBaseURL using WebPort value
    don't add port to WebBaseURL if it's standard
  • fix debug message
  • add new option --skip-user
    use over/item/back for options in pod so usage actually outputs them
  • Removed doc for a nonexistent option in testdeps
  • RT-Ticket: 13125
    exit with positive code on errors, not all errors are handled,
    but this is beginning
  • update es.po, thanks to Margarita Manterola
  • not sure why, but on some systems without explicit status change mason doesn't
    set status to 302, but 200 instead and people see blank pages
  • Set a default text color (closes: #13197)
  • Add a test for the "On Reject" scrip condition (closes: #13181)
  • add a bunch of tests, searches by CFs
  • LoadByNameAndQueue should treat numbers the same way other methods do
  • treat number specially in _CustomFieldDecipher, the way we treat it other places around
  • wrap things we usually do with operations into a method
  • fix searches by CFs
  • Give verbose output when --debug is specified
  • Log::Dispatch 2.22 began implicitly requiring Sys::Syslog 0.16
    If you're installing on a RH box, you probably only have Sys::Syslog 0.13
  • Take care of RT-Attach-Message value so we don't add attachments if the value
    is "no" for example (closes: #13259).
    Thanks to Paul Vlaar.
  • Add checks for user email address syntax, and cover bad syntaxes by tests
    (closes: #12726).
    Reported by Richard Hartmann.
  • Don't assume that people were using "yes" for RT-Attach-Message until now,
    rather don't attach if it's set to n|no|0|off|false.
  • Make syntax check of user email addresses configurable with a default of "no"
    to avoid breaking existing setups.
  • Fix test so it uses our new 'ValidateUserEmailAddresses' option.
  • make ExtractSubjectTag.pm aware of queue Subject Tags so it doesn't
    assume a Queue Subject Tag is a remote RT's subject tag
  • Localize system groups
  • Make approval passed rule close other approvals in the same level.
  • remove an obsolete comment
  • Test ticket creation with REST using non ascii subject.
  • return 0 in a bunch of places so we exit with 0 rather than
    having warnings when we exit(undef)
  • return 0 rather than undef to signal succesful completion
    to avoid warnings about calling exit(undef)
  • clean up a warning when you have empty OCFVs
  • use tmp dir as mason data_dir in rt-email-dashboards
  • notify action with argument equal to 'All' sends notifications
    to owner as well, let's clear descriptions
  • Linkify the dashboard portlet header
  • Mason whines about getting an object argument; it won't stringify
  • Set default DBA based on databvase type
  • fix UseSQLForACLChecks: if user is direct watcher of a queue,
    however right is granted to global role then he didn't get that
    permission there is no global watchers, only queues and tickes, if at
    some point we will add global roles then it's gonna blow
    the idea here is that if the right is set globaly for a role
    and user plays this role for a queue directly not a ticket
    then we have to check in advance
  • better recovery for corrupt owner groups on ticket owner change
  • minor bin/rt doc fixes
  • check ordering of custom fields
  • we should not only check cache indicator, but also update it :)
  • revert plural/single forms magic for rights, it's too unstable for 3.8
  • Remove now-unneeded dependency on Lingua::EN::Inflect::Number
  • cfs -> custom fields
  • Make the path of the homepage index.html
  • Factor out ListOfDashboards
  • Add a callback for munging the list of dashboards
  • Limit to seven dashboards
  • Use the localized More instead of more
  • Surround dashboard names with quotes
  • Add a tab to go back to the homepage
  • Factor out building a list of dashboard tabs
  • Pass along $actions in Tools/Elements/Tabs
  • Display other dashboards as tabs, basics/queries/subscription as actions
  • Use the old interface for tempdir
  • clean a bit
  • t/shredder/utils.pl
  • Fixing mistaken siteconfig commit, adding example of second item in list
  • Fix failing dashboard tests
  • Quieting an uninitialized warning
  • Remove duplicate dependency in same group.
  • error message typo fix
  • Remove the quotes from dashboard names in the tabs
  • Add missing DashboardTabs file
  • Don't expect quotes in dashboard names
  • Follow the second link since the first is the menubar link to the edit page
  • Close fold
  • Refactor Dashboard's Tabs so that it highlights the right tabs etc
  • Always include the current dashboard in the tabs, even if it's not in the initial seven
  • Really confused as to why this wasn't already fixed
  • Remove duplicate template
  • Move DashboardTabs from /Dashboard/Elements to /Elements
  • Menu structure changed back :)
  • Minor cleanup
  • Factor out $portlet->{portlet_type}
  • Improve clarity
  • Pass Pane to the portlet renderer
  • Factor out rendering of a dashboard's elements into its own ShowPortlet template
  • If things get too crazy, bail out
  • Asking for "all" dashboards is probably common enough to make it the default
  • Return a flattenned list of dashboards if requested
  • Remove needless line
  • No need to retrieve SearchType
  • Allow users to add dashboards to dashboards :)
  • Display "Dashboard:" and "Saved Search:" in the queries for a dashboard
  • Load the dashboard from its frozen state
  • Add some callbacks to the dashboard query selector
  • Add some render callbacks
  • Don't allow users to add a dashboard to itself
  • Handle missing portlets a little more loudly
  • Handle empty @searches in HiddenSearches
  • Add a template for displaying what dashboard portlets have been deleted
  • Attempt to remove deleted dashboard queries
  • Remove deleted warnings about the pane we just updated
  • Display description instead of name where able
  • Dashboard->Dashboards
  • Check dashboards in the "is possibly invisible to other users" method
  • Dashboards were exploding with "Can't call method AddRights on an undef value"
  • pass additional arguments into callback
  • Prefer non-disabled CFs when loading by name
  • Fix lexical redeclaration
  • Avoid "200 Ok" not numeric warnings by using a regex instead of !=
  • When doing Date = '2009-04-22', we want to check < the end of the day, not <=, soas to not include midnight
  • we can get away with combining the DEFAULT CHARSET alter table statement with the
    column changes and save one more copy of data.
  • Avoid undef warnings in Format rewriting
  • Fold fix
  • Avoid undef warning in EditCustomFieldText
  • Avoid undef warnings in filling in CustomField URLs
  • Factor GetAuthenticationLevel into its own function
  • Lower level of SimpleSearch query debug log from crit
  • Remove duplicate "if id is a number.." from Simple Search
  • Sort users in the add-members-to-group select box by how they'll be rendered
  • add pod tests
  • pod fixes
  • warning fix
  • remove a bunch of buttons that you shouldn't want/need when writing email
  • fix test
  • Do not attempt to update LastUpdated in the REST interface
  • More informative comment
  • Throw an error if the template the user provided cannot be loaded
  • Silence undef warnings in Admin/Users/Modify
  • Avoid undef warnings in RT::User_Overlay::_Value
  • Add $Class argument to /Widgets/ComboBox
  • fix rest-non-ascii-subject.t
  • previous patch is wrong
  • Add Vendor/Local loading to a bunch of files
  • Patch by Jo Rhett to improve Edit People's display
  • Apply another Jo Rhett display patch
  • Move the custom onload hook above FCK textarea replace
  • fix t/web/rest-non-ascii-subject.t
  • if you're running trunk, which is 3.x.HEAD, be helpful
    find all the lower versions
  • remove unused variable
  • RT-Ticket: 13261
    detect if you're missing ExtractSubjectTag actions/scrip and add them
    They were missing from the 3.8.0 upgrade scrips, so if you upgraded
    from earlier RTs you won't have them
  • Only display "check box to delete" if there are reminders
  • In group member edit page, sort current members in the same way new members are
    sorted.
  • Typo fix from wes
    Use the correct variable when quoting the QueueObj's Name
    RT-Ticket: 13444
  • update to FCKEdtor 2.6.4 for bug fixes
  • add required trailing ';'
  • show requested help even if there is no current user,
    then whin about current user then about missing arguments
  • Make reminders actually be sorted (by Due date)
  • Fix the %Negate table which has been broken since 3.3
  • Make Reminder sorting consistent
    Sorting by Due descending made reminders due today appear at
    the bottom of the list, which isn't helpful. This way it matches
    with the display on the ticket page.
  • merge in updates from rosetta
  • re-extract maketext strings before updating rosetta
  • don't wrap textareas when using the RichText editor
    hlb discovered that wrap="" causes some really incredible
    IE bugs on all versions (6-8) when reloading a page (such
    as adding an additional attachment or using RTFM) or when
    creating a ticket with a user that has a signature.
  • Minor fixes for OCFV->LinkValueTo
  • URI-escape placeholders for OCFV->FillInTemplateURL
  • Simplify and clarify filling in template params
  • Force some widgets to fit at max parent box.

NEW FEATURES

  • Insert a transaction on queues creation and allow users to consult transaction
    history for queues (consistent with what is done for groups/users).

  • Add transactions when enabling/disabling users/groups/queues so admins can
    tracks those changes through "history" links.

  • Elements/ShowUser expects lowercase options

  • Drop Text::Template down to 1.44 as 1.45 had no functional changes

  • Dynamically localize each DateTime preferences so we are sure to present the
    correct string to user preferences.

  • Add a new optional date output formatters using DateTime::Locale: RT::Date::LocalizedDateTime

    • lib/RT/Date.pm: add method "LocalizedDateTime" which output date using
      DateTime and DateTime::Locale
    • lib/RT/Date.pm: add a method "Formatters" which returns the list of available
      Formatters (using a new @Formatters constant)
    • lib/RT/Config.pm: use RT::Date::Formatters to get available formatters for
      Locale preference
    • t/api/date.t: add optional tests for the new LocalizedDateTime formatter
  • allow caller to avoid sorting by sortorder and falback
    to name based sorting, useful for site configuration screen
    where most options has no defined sort order as they are
    not overridable

  • prepare for refactoring

  • show where option came from

  • allow main configs override options that came from other main configs

  • allow site configs to override options that came from its main config

  • warn about skipped options

  • Add alt and title to images attachments in ticket display.

  • Add support for multiple attachments in jumbo view (closes: #4172).

  • Add support for multiple attachments on bulk update (closes: #7192).

  • Add the ability to hide Seconds in the DefaultFormat date display

  • RTFM needs to modify $actions in a callback

  • make gnupg mails rejecting optional and configurable in the config

  • Note that stack traces may include sensitive information in logs

  • First cut of linking the "(pending N other tickets)" display to a search; still needs to limit to active statuses

  • Limit the pending searches to active tickets only

  • install validator

  • talk about other useful things AddressRegexp does (since it doesn't just apply to ParsenewMessageForTicketCcs

  • allow developers to define ACLEquivalenceObjects on any record not only tickets

  • add new queue rights

  • add methods to deal with context objects on CFs

  • add ACL equivalence for CFs via context

  • pass context object from a collection of CFs to CF records

  • set context for CFs in variouse places

  • ticket->QueueObj->TicketCustomFields is incorrect, proper way is to use ticket->CustomFields

  • set context object when viewing a ticket on txn

  • cover new custom fields' rights with tests

  • post check compatibility in standalone server

  • on queue we have SeeCustomFields right

  • test DB compatibility in webmux.pl

  • add simple priority input handler

  • use priority widget instead of custom input everywhere

  • Add an RT Size section to system config that counts: Tickets Queues Transactions Users and Groups

  • Distinguish between privileged and unprivileged users

  • use SelectPriority in query builder

  • show priority in a comp

  • use show ShowPriority

  • add an upgrade script that canonicalizes rights in DB

  • add index GroupMembers(GroupId, MemberId)

  • Add 'On reject" scrip condition.

  • Factor out edit transaction custom fields into a new template with a massage callback

  • New preference $DefaultTimeUnitsToHours for setting the default time units

  • When defaulting to hours, convert minutes into hours

  • Refactor time-input + select-time-units into a new template, EditTimeValue

  • add support for quoting in simple search to allow search
    for numbers, strings with spaces in subject or content

  • Added an id to <textarea> in MessageBox, added a callback AfterTextArea
    (closes: #13160).
    Thanks to Drew Taylor.

  • add useful callback points that mirror the callbacks in Ticket/

  • RT-Ticket: 13165
    Added callback

  • contributed patch to add two new config options that
    allow Homepage Refresh and Ticket Search Refresh to
    persist outside sessions.

    If you change the refresh rate using the portlet or
    dropdown on search results, you only change it for the
    duration of the session. Permanate change happens in
    user or global preferences

  • add a callback so you can add content after the Owner dropdown

  • Add Respond and Comment as possible links in search results

  • Add Resolve as a search link too

  • when you hit Enter in the editor, don't make a new paragraph

  • Add a callback for TimeTaken

  • Allow absolute paths in dashboard portlets, don't always just prepend /Elements/

  • Include dashboards in the top navigation

  • Make rejected approval send notes to the requestors by default,
    with an option to turn it off.

  • Generate compound ALTER TABLE statements so that mysql does less
    'copying to tmp table' and can finish this conversion faster.

  • Add a callback to use before you start inputting watchers in SelfService create

  • Add an AddRights helper method

  • Add ->AddRights method to other right-enabled models

  • More self-service callbacks

  • Add a BeforeCreate callback to SelfService Create

  • Add monday through friday subscriptions

  • contributed patch to allow upgrade-mysql-schema.pl to connect
    to mysql on a remote server

  • Add callbacks to MyRT

  • Add CF-###-Edit class to each EditCustomField field

  • add --log argument to the crontool

UI CHANGES

  • Let the left menu stay open and display current tabs on top menu when current tab has no subtabs.
    (example: Admin/Global/Scrips.html vs Admin/Global/UserRights.html)
  • Small fix for long transactions descriptions in ticket history.
  • Try to fit transaction images to parent div in ticket history.
    Works for Ie7/Firefox2/Firefox3/Safari. For Ie6, we set a fixed maximum of
    400px.
  • Use float instead of absolute css for quick-personal.
  • Remove "Search" button and replace it by grey text in text input field to save
    space in topactions.
  • Add title="localized right description" in SelectRight options so it's possible
    to see the description when the cursor is other the option :)
  • float SelfService's GotoTicket similar to the way we handle the search box
  • Fix downloadattachment overlapping with messagebody in ticket history (closes: #13316).
  • the overflow: auto causes things to get wrapped far short of where they should, resulting in insane display
    This fix causes things that would overflow horribly to overflow, but it's a less-common scenario