Catznip R7 Release Notes

From Catznip
Revision as of 14:32, 17 October 2012 by Trinity Dejavu (talk | contribs) (Inventory Cut & Paste)
Jump to navigation Jump to search
Make sure you are running the latest Catznip release.
This document refers to an older (possibly depreciated) version.

Catznip R12.2 is the Latest Release (7th July 2019), Release Notes.

Catznip R7 (2012-10-23)

Known Issues
  • Warning : This viewer does NOT support server side appearance (SSA / SSB). It will be depreciated and updates will be forced as soon as Linden Lab indicate they intend to enable SSA grid wide.
  • Fixed : Initial release hangs on Ubuntu 12.10 with a fontconfig error. Viewer download updated.

These issues may be resolved in our beta viewer...

A massive amount of new features in this release with a lot of internal projects and discussions bearing fruit, aswell as the big headline changes and user interface overhaul lot of attention has been paid to performance and in particular memory usage. There has been work imported from other TPV projects in this release.

Automatic Updates

Future updates can now optionally be downloaded by the viewer in the background.

  • changed : redesign the update experience
    • used Trinity's redesigned update floater
    • changed the DownloadBackground* notifications to be more descriptive
  • fixed : combobox dropdown opens behind other UI elements when places on a modal dialog
  • changed : redesign the update experience
    • review of optional and required updates with notification before download
    • review of optional and required updates with notification before installation
    • clicking "Later" will not show the update reminder for the next 48 hours
    • if installer is available at start-up, follow the "download complete" code path rather than just running the updater
    • normalized 'UpdaterServiceSetting' values and actually made it do something useful
  • changed : use the new icon set for the installer

Build Tools

Limited new build tools added including unique pipette pickers, parameter copy and paste, edit object at root, adjustable object axis and ability to rez objects under the land group even across parcel boundaries.

This is a long way from what we have in mind for the build tools so should be seen as a stop gap.

  • added : "Axis at Root" checkbox on the build floater to position the axis on the center of the first (root) object in the selection rather than the center of the bounding box of the entire selection
  • added : axis options floater to control the "AxisPosition" and "AxisOffset" settings
  • added : copy/paste buttons to the build floater for position, size, rotation and prim parameters
  • added : pipette pickers for the texture and color on the build tools texture tab
  • added : 'Refresh' button to the build tools' 'Contents' panel
  • added : "RezUnderLandGroup" setting to rez prims under the land group rather than the avatar's active group
    • rezzing a prim across parcel borders will rez it with the proper parcel's group
  • changed : uncommented the "Restore to Last Position" option in the inventory context menu
    • added two (ignorable) notifications: one for copyable and one for non-copyable objects to prevent accidental usage

Chat Alerts

  • added : highlight matching categories to allow for conditional highlights
  • added : apply different highlighting masks on chat, IM and group/conference chat messages
  • added : highlight parsing callback functionality + working sound and flash triggers in the chat history control

Crash & Freeze Handling

  • added : list of recent crashes to the "Crash Reports" preferences tab
  • added : CATZ-14 Add freeze handling functionality to the watchdog class
  • changed : CATZ-15 Create a minidump whenever a freeze is detected
  • changed : explicitly report freezes to the crash server
    • freezes are listed as "(freeze)" in the recent crashes panel
  • fixed : saved settings aren't loaded by the crash logger
  • fixed : existing .old file isn't deleted at start-up

Detach Folder

Right clicking on a worn attachment provides the option to detach that item and additionally to 'detach folder'; This will remove the attachment and all other worn items (attachments & clothing) contained in the same folder. For example to detach a pair of shoes, alpha and boot base with a single click on your avatar. File:MenuDetachFolder.png

  • added : "Detach Folder" as a context menu option for worn attachments
    • detaches the selected attachment and all other worn items in the same folder
  • changed : only enable "Take Off/Detach Folder" if the folder has two or more worn items in it

Group Enhancements

Group moderators in are now show bold and sorted at the top in the participants list.

  • added : show moderators in bold in the group participant list
    • also changes the sorting by status first and then by name
  • added : moderators' names show in bold in group chat
    • for header style chat "(Moderator)" is added to the username
  • fixed : group participant list doesn't resort itself when an avatar name resolves
    • since names tend to resolve at the same time the list will only resort once per frame
  • changed : don't sort the user's own name at the top of the participant list
  • changed : default sort order for participant list set to "By name"
  • fixed : changing the sort order for one participant list doesn't change it for all others
  • added : "Receive chat" in the general group profile panel to control whether incoming group chat sessions will spawn
  • added : "Snooze Session" menu option on the group chiclet context menu to temporarily snooze a group chat session
    • duration of the snooze is controlled by "GroupSnoozeTime"
  • changed : base the snooze start time on the last received message

Inventory Floater Overhauled

  • added : "Show Filter" and "Collapse All" button to the main inventory floater
  • added : "Separate Text Filters" inventory gear menu option to use different filter text for each tab
  • added : sort button to the inventory floater's toolbar panel
    • sort options were removed from the main gear menu and moved to the sort menu
  • added : "Default action" button to the inventory toolbar to replace the three button row
  • added : action fly-out button to offer multiple actions for the current selection
  • added : "Show Received Items Panel" option to the inventory floater gear menu
  • changed : tighted the inventory floater layout
    • moved item count to the floater title
    • reduced vertical whitespace
  • changed : moved the "Upload" sub-menu from the top to the bottom of the inventory add toolbar menu
  • changed : "Collapse All" will not collapse top-level folders that are currently open
  • changed : removed "Save Texture As" and "Share" menu options from the inventory gear menu
  • changed : moved "Find All Links" from the gear menu to the inventory item context menu and the fly-out actions menu
  • fixed : "Find Original" from the "Recent" inventory tab doesn't select the original item
  • fixed : additional inventory floaters are not destroyed when closed
  • fixed : "Received Items" panels on secondary inventory floaters are non-functional
  • fixed : clicking the "Received Items" button changes the visible toggle state on all open inventory floaters
  • added : "InventoryDnDCheckFilter" setting to keep current drag-and-drop inventory behaviour or restore "legacy" behaviour
    • behaviour changed as a result of EXP-1335
    • allow moving an object's folder as long as one item passes the filter when "InventoryDnDCheckFilter" is TRUE

Inventory Tabs

Clicking the [+] button at the top of the inventory floater opens a new tab containing an independent inventory view. Each inventory view can have it's own filter and keyword search applied. File:InventoryTabs.png

  • added : user-add'able inventory panels to the inventory floater by clicking on the "+" tab
    • added : tab remove callback to the LLTabContainer
  • added : "Open folder in New Tab" inventory category context menu option

Inventory Cut & Paste

Linden Lab added Cut & Paste operations to the inventory floater and for some reason made them work in the style of a text editor. Cut objects would vanish and reappear when pasted. Sequential cut operations results in inventory items moving to the trash.

Inventory Cut & Paste in Catznip works the way you would expect from file manager. Cut items are marked and moved on Paste. Sequential Cut operations changes the selection. No inventory is ever moved to the trash.

  • changed : don't hide/filter inventory items that have been "Cut"
  • changed : don't move "Cut" inventory items to the trash
  • changed : "Cut" inventory items now have a distinct visual look
  • fixed : can't "Cut" folders that contain worn items
    • "Cut" folders were being checked for "can move" and "can remove"
    • "can move" contained virtually no checks so the relevant "can remove" checks were moved over and the "can remove" condition dropped

Legacy search

  • added : legacy places search tab panel to the general search floater
  • added : "Search" panel to the places floater
  • changed : commit the current "Search Places" sidepanel search when the search editor looses focus
  • changed : refresh the current "Search Places" sidepanel search when user changes the category or maturity

Mini Map


Overhauled Mini Map (CTRL+SHIFT+M in the viewer) can now show the world map image as a backround with parcel lines rendered over the top, special parcel flags are also shown (In addition to objects and such). Zoom menu has been redone with sensible settings.

Right clicking on avatar markers on the Mini Map provides the option to open their profile in the context menu. Tightly clustered markers will give the option to select which avatar's profile is desired. File:FloaterMiniMap2.png

  • added : property line overlay on the minimap
  • added : (optionally) colour collision parcels a transparent red
  • added : (optionally) show for-sale parcels with a yellow highlight on the mini-map
    • controlled by 'MiniMapForSaleParcels', defaults to off
  • added : "MiniMapObjects" setting to control the rendering of objects on the minimap
  • added : (optionally) use world map tile texture for the mini-map region texture
  • changed : removed title bar from the mini-map + fixed vertical centering of directions
  • changed : mini-map zoom levels for "Close", "Medium" and "Far" options
  • changed : moved zoom options into a "Zoom" sub-menu
  • added : "View Profile" context menu item for singular and context sub-menu for multiple dots on the mini-map
  • added : "Place Profile" menu item to the mini-map context menu
  • fixed : the inspector tooltip stays visible for too long and gets in the way
    • params should now largely be identical to the legacy tooltips
  • added : user-configurable color setting for the property lines on the mini-map

Object Blacklist

FloaterAvatarObjectBlacklist Derender.png

Brand new derender that is unique among TPV's with both session and persistent removal of objects, removed entries instantly rerez back in-world without requiring a tp'ing away and back or relog.

  • added : basic derender functionality ("Derender" option on the object context and object gear menus).
    • Derender will prevent the object from rerezzing.
  • added : derender list floater (also contains the mute list)
  • added : the ability to remove entries from the derender list and have them reappear in-world without requiring a teleport/relog
  • added : persistent derender option ("Block Visually" option on the object context menu)
  • changed : pop-up the "blocked" floater with the entry highlighted when derendering a new object

Rigged Mesh Attachment Menu

In short and after a considerable amount of work it is now possible to right click on mesh attachments and get the attachment context menu. It doesn't sound like much, but Catznip is the first and only viewer to make this work. File:MenuRiggedMesh.png File:MenuDetachFolder.png

  • fixed : can't right-click rigged mesh attachments to detach them
  • fixed : can't right-click other avatar's rigged mesh attachments

Texture Refresh

Right clicking on any object or avatar attachment and selecting Texture Refresh from the context menu causes all textures and sculpt maps for the target object to be dropped and re-fetched. This can help should textures or sculpts fail to load completely. File:MenuTextureRefresh.png

  • added : "Texture Refresh" to the context menu for objects and attachments (self and others)
    • forces all applied textures (and sculpt maps) to be refetched

Parcel Inspector

Hovering the mouse over a parcel on the Mini Map or World Map and clicking the inspector tip opens the parcel inspector. Inspectors show the parcel name & description and (if) price for sale. File:InspectorLocation.png

  • added : parcel/location inspector for the world map and Mini Map
  • changed : show parcel size and for sale price on the location inspector

Voice Controls

  • added : per-avatar voice volume slider in the "Voice settings" floater
  • fixed : enabling voice causes the speaking indicator to appear underneath the text column in the nearby people panel
  • fixed : speaking indicator is visible in friends and history people panels

Usability Enhancements & Minor Features / Changes

Fixed for *ALL* file dialogs in the viewer. You are no longer against the clock when opening or saving a local file.

  • fixed : CATZ-16 WIP File picker dialogs block the viewer's main thread
    • causes a server-side disconnect if the dialog stays open for around 1 minute
    • changed LLFilePicker::getMultipleOpenFiles() to always take a callback
    • changed LLFilePicker::getOpenFile() to always take a callback
    • changed LLFilePicker::getSaveFile() to always take a callback

Catznip allows you to rearrange your IM tabs by draging them, this now now affects the chicklet order as well. File:ConvRearrange3.png

  • added : rearranging an IM tab also rearranges the corresponding chiclet
  • changed : restore a torn off IM floater to its previous tab position when redocking

Texture preview 'Save as' button is now a fly out and remembers the last used format. File:TextureSaveAs.png

  • added : "bmp" and "png" as file type options to the texture "Save As" file picker
    • "Save As" preview button (or inventory context menu option) will show a file-picker with all three filetypes on Windows
    • on non-Windows platforms it will show a file-picker for the last saved file format
  • changed : add a checkbox to toggle "ShowOfferedInventory" from the "UserGiveItem" notification
  • changed : don't suppport sharing inventory from the edit appearance embedded inventory panel
  • changed : delay initialization of the edit appearance embedded inventory panel until the user actually uses it
  • changed : moved "Conversations" viewer menu option into the "Communicate" top level menu
  • changed : never enable texture compression on cards with 512Mb VRAM or less by default
  • changed : tightened up the IM session floater
  • fixed : don't try to update an edited wearable if we don't even have the floater up
  • fixed : persisted group notices log to the group log on every relog
  • fixed : saving an inventory filter and then restoring it results in all items being hidden

Improved Object inspectors.

  • added : "Detach" as an option to the object inspector drop-down menu
    • also shown as the default action for attachments
  • changed : visibility of object inspector drop-down menu
    • always show "Touch" but disable if not available
    • only show "Take" when it's available (and don't show it for attachments)
    • don't show "Open" for attachments
    • don't show "Sit Here" for attachments
  • changed : match the order of the object inspector drop-down menu items to the object context menu
  • added : CATZ-1 Remember last used debug setting (per session only)
  • added : revert certain debug settings to their default when running a new/different viewer version
  • added : "Close All" context menu option to script chiclets to close all scripted dialogs from the same object
  • added : "Render Glow / Bloom" checkbox to the graphics preferences panel
  • changed : don't show both "Sit Down/Here" and "Stand Up" at the same time
  • changed : don't show "Library" landmarks in the landmarks places sidepanel
  • changed : allow copy/pasting of a complete name or username in the avatar picker floater search
  • changed : draw distance minimum to 32m with increments of 32m (previously 8m)
  • changed : "FriendOnline" and "FriendOffline" notifications are logged to nearby chat and open IMs by default
  • changed : flipped the default on some debug settings
    • "DeclineTaskOfferToTrash" to TRUE
    • "DoubleClickTeleport" to TRUE
    • "ShowPropertiesFloaters" to TRUE
  • changed : download feature and GPU table from

Local chat log informations changed from ...

  [02:56] Second Life: secondlife:///app/agent/a9691bdb-ba37-452f-afba-51007c4139f1/about is online.
  [02:57] Second Life: Teleport offer sent to secondlife:///app/agent/a9691bdb-ba37-452f-afba-51007c4139f1/displayname

... to ...

  [02:56] Second Life: Catznip (catznip) is online.
  [02:57] Second Life: Teleport offer sent to Catznip

... which is much more useful.

  • fixed : "FriendOnline" notification (among others) logs SLurls to the nearby chat log
  • fixed : "FriendOnline" notification (among others) logs SLurls to the IM log
  • fixed : "PaymentXXX" notifications still log a SLurl to the log
  • fixed : "TeleportOffered" notification isn't being logged to nearby chat or IMs


General Bugfixes


  • fixed : heap corruption warning due to freeing new[]'ed memory with free()
  • fixed : crash in LLVOVolume::calcLOD()
  • fixed : crash switching between the single- and multi-line chat bar if IMs aren't tabbed
  • fixed : crash at logoff in LLTextBase::handleVisibilityChange()
  • fixed : crash in LLRiggedVolume::update() with weight == NULL
  • fixed : crash in LLViewerTextureList::removeImageFromList()
  • fixed : crash in LLOctreeIntersect::check()
  • fixed : multitude of crashes that can occur when the viewer gets disconnected
  • fixed : potential script recovery crash at logon


  • fixed : empty folders remain visible in the "Recent" tab
  • fixed : embedded notecards are silently copied to inventory rather than opened when 'ShowNewInventory' is set to TRUE


  • changed : raise the minimum LOD from 0.0 to 0.125
  • changed : don't initialize the "Destination Guide" or "Avatar Picker" floaters until the user actually opens them
  • fixed : an empty return closes the active IM rather than hiding it (with CloseIMOnEmptyReturn enabled)
  • fixed : "Play Inworld" doesn't audibly play sound when "Play sound from gestures" is unchecked
  • fixed : LLGroupMgr::processGroupTitlesReply() floods the log during log-on
    • we won't request titles unless the active group changes (and not until after login completes)
  • fixed : LLLandmarkList::onRegionHandle() floods the log during log-on
  • fixed : various missing local image file references
  • fixed : script recovery halts if an upload encouters an error
  • fixed : bottom-aligned toasts don't (re)align with the right side of the window after resizing
  • fixed : the restored window size isn't stored when the viewer is maximized (Windows-only)
  • fixed : pressing the up arrow doesn't skip over separators
    • right-click on an inventory item and press the down arrow => skips over all disabled and invisible items and separators
    • right-click on an inventory item and press the up arrow => skips over all disabled and invisible items but not separators
  • fixed : hovering the mouse above/below the separator line doesn't highlight anything if the items above/below it are invisible
    • right-click on the "Current Outfit" folder and hover on the separators
  • fixed : clicking on a separator commits the wrong menu item
    • fixes "Wearing Folder Occasionally Equips Entire Inventory!" [1]
  • fixed : "Cancel" button on the 'local' snapshot panel doesn't work
  • fixed : '%t' snapshot name format token is replaced with the current date rather than the current time
  • fixed : "PaymentReceived" IM notification setting follows the nearby chat setting
  • fixed : an empty return in the nearby chat bar doesn't close the conversations floater if it's docked (with CloseChatOnEmptyReturn enabled)


  • added : "Help / Catznip Blog" menu item to the login and main menu
  • changed : redirect "Help / Report a Bug" to the issue tracker
  • fixed : "Help / Second Life Help" shows "Page not found"
  • fixed : "PromptShowURL" action shows both the custom and default load external URL notifications


  • fixed : online/offline notifications are broken on non-English locales
  • fixed : "XXX is offline" when opening an IM doesn't show the name on non-English locales
  • fixed : release notes URL isn't available on non-English languages
  • fixed : not all non-English languages show Catznip as the application name
  • fixed : localized "WebLaunchBlog" notification and removed obvious references to LL
  • fixed : point non-English download links to the Catznip website as well
  • fixed : "Help / Report Bug" refers to "Linden Lab" and "Second Life" on non-English languages
  • fixed : various translation issues with the appearance floater sidepanels


RLVa 512.png
  • changed : @sittp=n no longer prevents @sit:<uuid>=force from succeeding if the target is >1.5m away
  • changed : behaviours floater clean-up
  • changed : locks floater clean-up
  • changed : worn "nostrip" items show in the locks debug floater
  • fixed : "nostrip" doesn't have any effect when placed in the name of a folder that's a direct descendant of the inventory root
  • fixed : llForceMouselook(TRUE) + issuing @edit=n on sit results in build floater popping up
  • fixed : clicking chat toasts opens the speaking resident's profile when @shownames=n restricted
  • fixed : can not delete a self-owned prim - that isn't sat upon - when @unsit=n restricted
  • fixed : clicking "Show" on an inventory offer opens the inventory floater when @showinv=n restricted
  • fixed : crash when executing @*this from an attachment that hasn't rezzed for the viewer yet
  • fixed : only one wearable of each type is worn when @addoutfit=n restricted during log-on
    • repro: set "ForceInitialCOFDelay" to 60 seconds before logging in while wearing multiple wearables of the same type
  • changed : visually disable "Take Off" and "Detach" on the wearing panel context menu
  • internal : refactored handling of & fixed several issues relating to script permissions
    • re-enabled the script caution question notification since we're piggy-backing on it
    • notify when we're granting take controls (see notify_cautioned_script_question)
    • always notify when we block attach when all attachment points are add-locked
  • internal : properly support @*this=force from the LSL attach() event
  • internal : folder locks (and cached wearable and attachment locks due to folder locks) show in the locks debug floater
  • fixed : @attach:<folder>=force will only wear one of each wearable type
    • all wearables in the folder should always be worn regardless of replace vs add
    • @attach:<folder1>=force,attach:<folder2>=force wears all wearables in folder 2 and only those wearables in folder 1 that aren't present in 2
  • fixed : having a wearable type remove locked but not add locked triggers assertions
    • repro: @remoutfit:shoes=n while wearing shoes and then wear a shirt/jacket/... (or replace outfit)
  • fixed : don't allow access to profiles or the place profile on the minimap when @shownames=n or @showloc=n restricted
  • fixed : don't allow access to the place profile from the worldmap when @showloc=n restricted
  • changed : auto-deny PERMISSION_TELEPORT if the user is currently @tploc restricted
  • fixed : @setgroup:<uuid>=force,setgroup=n forces the active group back to the previous group
    • if an object is singularly holding a @setgroup restriction then it is now also exempt from it