This documentation notes internals changes between the 4.0 and 4.2 series that are primarily of interest to developers writing extensions or local customizations. It is not an exhaustive list.
The link direction and type maps are consolidated into RT::Link. If you wrote local customizations or extensions utilizing %RT::Ticket::LINKDIRMAP, %RT::Ticket::LINKTYPEMAP, RT::Ticket->LINKDIRMAP, RT::Ticket->LINKTYPEMAP, or %RT::Record::LINKDIRMAP, you will need to switch to %RT::Link::DIRMAP and %RT::Link::TYPEMAP.
MakeClicky handlers added via a callback are now passed an "object" key in the parameter hash instead of "ticket". The object may be any RT::Record subclass.
ShowUser handlers (/Elements/ShowUser*) have moved out of Mason components and into RT::User methods. Any custom username formats will need to be reimplemented as RT::User methods. Renaming should follow that of the core components:
/Elements/ShowUserConcise => RT::User->_FormatUserConcise
/Elements/ShowUserVerbose => RT::User->_FormatUserVerbose
The _FormatUser* methods are passed a hash containing the keys User and Address, which have the same properties as before.
CSS is no longer processed through Mason; it's served by a proper static file handler. If you used the Begin or End callbacks of main.css in the aileron, web2, or ballard themes, you should transition to the "@CSSFiles" in RT_Config config option. If you need to target specific themes, you can use the class set on the <body> element (for example: body.aileron). See docs/customizing/styling_rt.pod for more information on custom styles.
The AddRights and AddRightCategories methods on RT::Class, RT::CustomField, RT::Group, RT::Queue, and RT::System were refactored into "AddRight" in RT::Record::Role::Rights.