Catznip R7 Release Notes

From Catznip
Revision as of 23:01, 7 January 2014 by Trinity Dejavu (talk | contribs) (RLVa Updates and Fixes)
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, in addition to the big headline changes and user interface overhaul a lot of attention has been paid to performance and in particular memory usage. There has been no work imported from other TPV projects in this release.

Appearance Tools

Appearence floater has been over hauled with a new 'Inventory View' display option for the wearing panel and quick up/down icons to reorder items worn on the same layer. Find Original has been added tot he context menus and opens an Inventory floater.

  • added : up/down (re)ordering arrows shown for wearable types with more than one worn wearable
  • added : "Appearance" sort order to the wearing panel which sorts items in (more or less) order of appearance on the avatar
  • added : "Sort by" menu on the "Wearing" panel's gear menu to control the item's sort order
  • added : "Find Original", "Properties" and "Detach Folder" options on the list item context menu
  • added : ability to switch between a list view and inventory view of currently worn items
  • changed : new toolbars for the outfist list and wearing tabs
  • changed : show attachment point names for worn attachments in the wearing appearance panel
  • fixed : the currently worn outfit folder isn't selected when opening the appearance sidepanel floater
  • fixed : "Inventory List Refresh" decimates FPS after opening the "Edit Appearance" item list panel
    • with this change the frame rate will still be impacted, but only when the list control is currently visible

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 to make Catznip competative with other TPV's extended controls.

  • 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

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

Font Selection


  • added : preferences options for fonts used by the viewer
    • 'UI' - font used across the user interface
    • 'Monospace' - font used for scripts
    • 'Chat/Notecards' - font used in nearby chat, IMs and notecards
  • added : PTSans Font (UI & Monospace)
  • added : Open Dyslexic Font (
  • added : Source Sans pro (UI & Monospace)
  • added : Ubuntu Fonts (UI & Monospace)

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
  • 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"
    • 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"
  • changed : base the snooze start time on the last received message
  • fixed : changing the sort order for one participant list doesn't change it for all others
  • fixed : group participant list doesn't resort itself when an avatar name resolves

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
  • 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
  • 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

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

The legacy places search has been added to the main search floater and a compact version added to the Places floater. These combined really make finding places a lot quicker and we hope will highligh the advantages of UI based searching in the viewer to Linden Lab.

  • 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
  • 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
  • added : user-configurable color setting for the property lines on the mini-map
  • 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
  • fixed : the inspector tooltip stays visible for too long and gets in the way
    • params should now largely be identical to the legacy tooltips

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

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

Parcel/Landmark Floater


  • added : new parcel information floater to replace LL's default places information sidebar panel
  • changed : use the new floater to display landmark information

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

User Interface Reworking

Pretty much reworked all of the key floaters and cleaned up a lot of the UI. Lot of work done on the people floater with regards to names which are now handled better with added support for displaying both usernames and displaynames. This is on going.

  • added : "Show Blocked List" and "Toggle Mini-map" toolbar buttons to the 'Nearby' tab
  • added : "Show names as" sub-menu to the nearby, friends and recent people gear menus to specify the displayed name format
  • changed : moved the "Sort by" options on all people panels to a child menu
  • changed : avatar names fill the entire width of the floater
  • changed : the avatar list item name field overlaps (currently) invisible children
  • changed : default for 'NearbyPeopleViewMask' from nearby only to nearby + current parcel + current region
  • changed : reworked the About floater
  • changed : people floater/panel UI review
  • changed : places floater/panel UI review
  • changed : appearance floater/panel UI review
  • changed : preferences clean-up
  • changed : Group invite panel clean-up
  • changed : voice controls floater clean-up
  • changed : search/replace floater clean-up
  • changed : script recovery floater clean-up
  • changed : script queue floater clean-up
  • changed : sound and animation preview floaters clean-up
  • fixed : layout of graphics preferences panel
  • fixed : hiding avatar icons leaves an empty space and doesn't shift the name to the left

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

General Bugfixes & Minor Changes

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
  • 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
  • fixed : combobox dropdown opens behind other UI elements when places on a modal dialog


  • added : "Help / Catznip Blog" menu item to the login and main menu
  • added : "Catznip Wiki" option to the Help 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 : 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

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

File Dialogs

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


  • changed : don't suppport sharing inventory from the edit appearance embedded inventory panel
  • changed : don't show "Library" landmarks in the landmarks places sidepanel
  • 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
  • fixed : saving an inventory filter and then restoring it results in all items being hidden


  • 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

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

Settings & Related

  • added : Xbox 360 joystick presets
  • 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 : "Render Glow / Bloom" checkbox to the graphics preferences panel
  • changed : draw distance minimum to 32m with increments of 32m (previously 8m)
  • changed : flipped the default on some debug settings
    • "DeclineTaskOfferToTrash" to TRUE
    • "DoubleClickTeleport" to TRUE
    • "ShowPropertiesFloaters" to TRUE
  • changed : download feature and GPU table from
  • changed : never enable texture compression on cards with 512Mb VRAM or less by default
  • changed : raise the minimum LOD from 0.0 to 0.125


  • fixed : Windows client now has Quicktime media support.
  • fixed : Linux client now has FMOD for playing parcel audio.

Usability & Misc User Interface


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
  • added : "Close All" context menu option to script chiclets to close all scripted dialogs from the same object
  • added : [CATZ-51] "Touch" attachment action in context menus
  • added : "Touch" and "Edit" options to the "Wearing" panel gear menu
  • added : [CATZ-52] "Touch" and "Edit" options on the context menu when editing an outfit
  • changed : add a checkbox to toggle "ShowOfferedInventory" from the "UserGiveItem" notification
  • 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 : tightened up the IM session floater
  • changed : don't show both "Sit Down/Here" and "Stand Up" at the same time
  • changed : allow copy/pasting of a complete name or username in the avatar picker floater search
  • changed : "FriendOnline" and "FriendOffline" notifications are logged to nearby chat and open IMs by default
  • 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)

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
  • 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

RLVa Updates and Fixes

RLVa 512.png
  • changed : @sitip=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
  • changed : visually disable "Take Off" and "Detach" on the wearing panel context menu
  • changed : auto-deny PERMISSION_TELEPORT if the user is currently @tploc restricted
  • 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
  • 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
  • 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
  • fixed : @notify<channel_number*>;~Folder=add* doesn't notify when a folder with the specified name is accepted/declined
    • filter check was case-sensitive
  • fixed : clicking on terrain doesn't deselect all currently selected objects
  • fixed : "View Notices" group context option opens the group as a sidepanel rather than a floater when 'ShowGroupFloaters' is TRUE
  • 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
  • internal : Made mental note to test RLVa more on kitty.
Catznip R7.jpg
Catznip R7-2.jpgCatznip R7-3.jpg
Catznip R7-4.jpgCatznip R7-5.jpg