CHANGES IN 3.0.0
----------------

* RTIR 3.0 is primarily port over RT 4.0 and
  clean up release. More than 2500 lines of
  code were deleted, replaced with RT's modern
  solutions.

* Switched over lifecycles that replaced four RTIR's
  State custom fields with RT's Status field. Database
  grows slower, performance improvement, much less
  magic. It's now possible to add new statuses and
  customize workflow.

* Switched over RT's IP custom fields implementation
  that brings in IPv6.

* New %RTIR_IncidentChildren option in the config that
  allows admins to control whether incident required
  or not when child created and if child can be linked
  to more than one incident.

* Made Incident field on Create/Split pages more flexible.
  Users allowed to change value, enter multiple incidents
  when it's allowed by config, pick particular incidents
  on split, additional incidents' info displayed.

* RTIR's SLA implementation have been dropped in favor
  of RT::Extension::SLA.

* Numerouse bug fixes.

CHANGES IN 2.6.1
----------------

FEATURES
========

* allow local customization of research tools, see @RTIRResearchTools
  in the config
* new Iframe research tool, see $RTIRIframeResearchToolConfig
* no longer do a whois lookup by default just by visiting the
  lookup page

CALLBACKS
=========

* LeftColumnStart and RightColumnStart in Incidents' Display.html

BUGS
====

* order of tickets on 'RTIR at Glance' page could become incorrect
  after using system for a while
* on create incident page ids of HTML elements were repeated

CLEANUPS
========

* code cleanups to better follow modern perl coding guidelines
* config file is now has POD instead of comments and options are
  in better ordered

CHANGES IN 2.6.0 SINCE RTIR 2.4.x
---------------------------------

FEATURES
========

* INCOMPATIBLE: prefix '_RTIR_' has been deleted from
  all custom fields in RTIR. See UPGRADING for upgrade
  instructions.
* INCOMPATIBLE: New option %RTIR_CustomFieldDefaults
  that replaces several $RTIR_*_default options that
  were there before, don't forget to update config.
* almost all default Custom Fields of RTIR now can be
  disabled or un-applied. Read more in Administration
  Tutorial.
* IP CF can be changed to single value
* On create with linking (a new child from an incident or a new
  incident from a child) use default values for custom fields
  from linked object
* allow to use any custom field for lookup, not only IP,
  no UI at the moment, but can be used via arguments of a URL
  in clicky actions or linked CFs 
* switch SimpleSearch over to the buttonless version
* RTIR's SimpleSearch searches by IP in all queues if
  query is an IP only
* we have search in any RTIR's queue, so we need default
  search format, new entry in $RTIRSearchResultFormats
  config option
* switched over RT's style for RTIR's query builder
* RT::IR->OurQueue(...) method
* RT::IR->CustomFields(...) method
* refactored test suite for re-use in RTIR's extensions
* described better Incident input field on Create pages

BUGS
====

* Hide Launch links if user can not create an Inv
* More...

CALLBACKS
=========

* 'Init' callback in Create.html acting like /Ticket/Create.html
* 'AfterRequestors' in several components
* 'LeftColumnStart' and 'RightColumnStart' in Display.html

CHANGES IN 2.4.5
----------------

BUGS
====

* respect per queue SubjectTag in templates. Read UPGRADING for
  upgrade instructions.

CLEANUPS
========

* In ScriptedActions add requestor when we call Create instead
  of delaying it, so "on create" scrips notify requestors
* Updated sample WHOIS servers
* CSS to clean up the RTIR home page a bit

CHANGES IN 2.4.4
----------------

BUGS
====

* compatibility fix for RT 3.8.8 and preserve compat with older
  versions
* apply transaction date search only if it's full text search,
  otherwise it may slow down things
* avoid showing zero values when CF value is not set
* respect LinkValueTo for RTIR custom fields
* fixes related to handling user's signatures
    
CHANGES IN 2.4.3
----------------

BUGS
====
* RTIR 2.4.2 had syntax error that was preventing server to start

CHANGES IN 2.4.2
----------------

FEATURES
========
* use priority widget from RT 3.8.3 in RTIR

BUGS
====
* don't set $$skip to zero in SkipTransaction callback as it may
  conflict with other users of this callback. Just use return and
  as well check asap if the txn is already skipped.
* make proper overriding of WebNoAuthRegexp
* recheck Constituency cache if $const is _none
* adjust deserialization of IP from value with leading zeroes
* RT::IR::States without Queue argument never worked properly
* don't show modify user link if user can not modify the user

CHANGES IN 2.4.1
----------------

FEATURES
========
* added 'Bookmark' action for tickets in RTIR, use 'Bookmarked Tickets'
  portlet to see them on 'RTIR Home' page.
* added 'Results' subtab to appendable tabs like Link Incident,
  Link Children... This is interface people used to.
* added subtab 'New Incident' to 'Link to an Incident from a child'
  action, so people can jump away if they can not find suitable incident
* added support for RTFM on Create in RTIR, needs RTFM 2.4.1rc1 with
  RTFM_TicketCreate option enabled.

BUGS
====

* we don't apply anymore RTIR's css files if it's not path of the RTIR
* fixed simple search layout in web2 theme
* moved 'bulk reject' link to the top right corner, like other
  similar links in RT, for example 'Edit' or 'Graph'
* dropped @results argument from Display.html, it's used by
  new ListActions in RT 3.8. People could see random hex string in
  the results box caused by this "bug"
* applied HTML classes on some boxes to be on the same wave as RT.
  Fixed some layouyt differences, box colors and other.
* added paging to LinkChildren (adding a child to an incident)

CHANGES IN 2.4.0 SINCE RTIR 1.0
-------------------------------

Full integration with RT 3.8.

New Search UI

    This includes a 3.8-style search UI, and menu changes to
    accomodate this.  Instead of search results and criteria being
    displayed on a single page, you can now choose the 'Refine' menu
    option to refine your search and re-run it after you've added all
    of your criteria. This also includes extracting results to RSS and
    spreadsheet formats.

Configurable Search Results

    Search result formats are configurable in the RTIR configuration
    file, so you can easily choose which fields you would like to have
    displayed for RTIR searches.

Configurable RTIR home page

    You can choose which components (portlets) you want to see on
    RTIR's main page, including portlets from both RTIR and core RT.

Per user interface configuration
    
    Users can change RT's appearance through their preferences,
    including adjusting portlets, default search results, and ticket
    transaction order.

Integration between RTIR and RTFM

    Now RTIR is detects if RTFM is installed, and adds default RTFM
    classes, templates and rights for better integration with RTIR.

Create Incident with Investigation

    New interface allows the user to create an Incident and run an
    Investigation from the same page..

Incident Reports can be linked to multiple Incidents.

Quick states filter

    While browsing children linked to an incident you can filter the
    list by the their state.

Bulk Abandon

    Multiple Incidents can be abandoned from a single form.

Disable Blocks queue
    
    Blocks queue and its functionality can be disabled in the RTIR
    configuration file.

Advanced operations with RTIR tickets

    New 'Advanced' ticket's subtab allows the user to move misplaced
    tickets, merge wayward responses, and do other low-level
    maintainance tasks.

Business::SLA

    Service Level Agreement (SLA) calculations are now handled by the
    Business::SLA module, which offers more flexibility.  You can
    specify SLAs with business minutes, real minutes, or both.

Scrips

    RTIR-specific scrip actions and conditions are now in perl
    modules, so they're easier to customize.

Standardized Components

    RTIR 2.4 uses more of RT's core components, making it easier to
    customize and maintain.
