Imprudence:Release Notes/1.4.0 Beta 1

Imprudence 1.4.0 Beta 1
This is the first beta of new version of Imprudence with numerous changes since the previous 1.3.x code base to bring it up to date with the latest viewer technologies.

General

 * Added WindLight notecards. You can now save and load WindLight sky and water settings to notecards in your inventory. Check our wiki for additional documentation about this feature. Thanks to Katharine Berry, Armin, and McCabe! :done:
 * Updated Chinese, French, German, and Japanese UI translations. Thanks to (respectively): Kakurady Drakenar, Eddi Decosta, Eryn Gale, and Hiroshi Kumaki! :done:
 * Added "Derender" to the pie menu when right-clicking on an object or another avatar. This allows you to temporarily remove the object or avatar from your view. This is useful for removing eyesores when taking a snapshot, among other uses. Thanks to the Emerald Viewer for this feature, and Tom Grimshaw for porting it! :done:
 * Shortcut keys for gestures can now use many other keys, not just the F1-F12 keys. Thanks to the Emerald Viewer for this feature! :done:
 * Added a right-click menu to the "Advanced > Area Object Search" (Alt-A) list. This menu currently allows you to teleport to the object, focus your camera or it, or edit it. Thanks, Armin! :done:
 * Disabled draw distance stepping (aka "SpeedRez") by default, because it confuses less advanced users. You can enable it in "Preferences > Network > Performance". Thanks, McCabe! :done:
 * Updated RLVa to version 1.1.2. Thanks, Kitty Barnett!              :done:
 * Added support for "Particle Chat Enhanced", a feature for interacting with certain kinds of scripted objects (IMP-759). To use this feature, you must set the "ParticleChat" debug setting to TRUE. Thanks for the patch, Tazy Scientist! :done:
 * Added "Advanced > UI > Reload $ Balance" menu item (IMP-568). Thanks to Ansariel Hiller, the Phoenix Viewer, and McCabe! :done:
 * Added ability to select attached objects via the Inventory window. When you are wearing an object as an attachment, right click on that object in the Inventory window and choose "Edit" to begin editing that attachment. This is useful when an attachment gets hidden within your avatar. Thanks for the patch, Kitty Barnett! :done:
 * The viewer will now warn you if you are trying to buy land that has a higher maturity rating than is set in your preferences. Thanks, Frederick Martian! :done:
 * Added support for horizontal mouse scrolling (IMP-787). You can now use devices with horizontal scrolling (e.g. Apple Magic Mouse) to scroll windows horizontally. Thanks for the patch, Kakurady Drakenar! :done:
 * Fixed inventory needing to reload every time you log in. Thanks, McCabe! :done:
 * Fixed the Animation Overrider (AO) not activating until after your entire inventory has been loaded. The viewer now gives priority to downloading your AO and animations folder, so that the AO can take effect sooner. Thanks to McCabe, and Patrick Sapinski! :done:
 * Addressed the causes of a "Window Creation Error" message at startup, related to setting Antialiasing higher than your computer supports, especially on Linux (IMP-824/SNOW-466). Thanks, Robin Cornelius and Thickbrick Sleaford! :notdone:
 * Object tooltips now show prim count, position, and distance from your avatar. Thanks to the Emerald Viewer and Patrick Sapinski! :done:
 * Fixed a crash when hair, etc. is attached to the HUD. Thanks to the Singularity Viewer, and Tom Grimshaw for porting it! :done:crash:
 * Fixed a crash when renaming an item that was just added to the inventory. Thanks for the patch, Henri Beauchamp and Ansariel Hiller! :done:crash:
 * Added "Save search results" checkbox to the Search window (IMP-721). You can uncheck this option to save some memory when the Search window is closed. Thanks, Armin, McCabe, and Jacek! :done:
 * URLs are now clickable in group notices and user profiles' Avatar and Real Life tabs (IMP-77). Thanks, McCabe! :done:
 * Added a small button in the AO toolbar tab to quickly open the Animation Overrider window. Click the first up-arrow button to expand the AO toolbar, then click the second up-arrow button (next to the Sits button) to open the Animation Overrider window. Thanks, McCabe! :done:
 * "Advanced > Rendering > Run Multiple Threads" is now enabled by default. This should somewhat improve performance on multi-processor or multi-core computers. Thanks, Thickbrick Sleaford! :done:
 * Partially fixed Name/Owner not showing up when abuse reporting an object (IMP-634). The problem might still occur when the object is very far away. Thanks, Elektra! :done:
 * Fixed VWR-10592: sounds not working when running multiple instances. Thanks for the patch, Damian Delacrois! :done:
 * Fixed VWR-12984: Water flickers and disappears in patches. Thanks for the patch, Aleric Inglewood! :done:
 * Fixed SNOW-717: Prevent mouse cursor flicker. Thanks for the patch, Lance Corrimal! :done:
 * Fixed numerous warning messages (IMP-660, IMP-661, IMP-662, IMP-663, IMP-664, IMP-667). Thanks, Aleric Inglewood! :done:
 * Added "DisableInternalFlyUpAnimation" debug setting (IMP-689). You can set this to TRUE to disable the built-in "fly-up" animation, so its hand positions won't interfere with your AO fly-up animation. Thanks for the patch, Ansariel Hiller! :done:
 * Split the "Help > About Imprudence" window into two tabs, and added "Copy to Clipboard" button. Thanks for the patch, Siana Gearz! :done:
 * Fixed missing menu entries for the Raycasting and Sculpt debug tools in "Advanced > Render > Info Displays" (IMP-757). Thanks, Thickbrick Sleaford! :done:
 * Improved the efficiency of sky rendering when not using "Atmospheric shaders" (i.e. WindLight). Thanks, Linden Lab and Armin! :done:
 * Fixed Ctrl-Shift-O still being set to "Advanced > Rendering > Object-Object Occlusion". That shortcut was reassigned to "View > Animation Overrider" in a previous version, but accidently left assigned to Object-Object Occlusion too. Thanks, McCabe! :done:shortcut:
 * Renamed "Advanced > Restrained Life" to "Advanced > Restrained Love". Thanks, McCabe! :done:
 * Fixed screen_last.bmp being saved in the root of the hard drive if not logged in (IMP-526). Thanks, Elektra! :done:
 * Extended Windows version detection to detect Windows 7, Windows Server 2008, and Windows 8 (for future proofing). Thanks to Shyotl Kuhr, Ansariel Hiller, and Tank Master! :done:
 * Fixed stars causing graphical glitches on ATI graphics cards (IMP-903). Thanks to the Phoenix Viewer and Shyotl Kuhr! :done:
 * Improved the appearance of arrows and checkmarks in menus. Thanks, Linden Lab and McCabe! :done:
 * Tidied up the sky/water editors (both use a flyout_button to save now). Thanks, McCabe! :notdone:
 * Fixed the viewer attempting to use Vertex Buffer Objects (VBO) when "RenderVBOEnable" is TRUE but VBO is not actually available. Thanks, Armin! :done:
 * Fixed a crash in llhudeffectlookat. Backported from Pre-LGPL Viewer 2. Thanks, Linden Lab and McCabe! :done:crash:
 * Fixed a teleport-related crash in LLViewerObject::getBoundingBoxAgent (IMP-851). Thanks, Thickbrick Sleaford! :done:crash:
 * Applied lineSegmentIntersectFix patch from Cool Viewer. Thanks, Henri Beauchamp! :done:crash:
 * Potential fix for a crash in llfontgl. Thanks, McCabe!       :done:crash:
 * Fixed a crash in "Advanced > Rendering > Debug GL" related to missing "POOL_VOIDWATER" (IMP-773). Thanks, Thickbrick Sleaford! :done:crash:
 * Fixed a crash related to strings with negative length (IMP-853). Thanks, Armin! :relevantp:done:crash:

Communication

 * Added Spell Checking, AutoCorrect, and Translation. You can enable and configure these features in "Preferences > Chat > Spell Checking & Translate". Check our wiki for additional documentation about these features. Thanks to the Emerald Viewer, Patrick Sapinski, Thickbrick Sleaford, and McCabe! :done:
 * Added Chatbar Commands. Chatbar commands let you perform certain actions (e.g. teleport, adjust draw distance, or toggle the animation overrider) by typing commands into the chatbar. You can enable and configure this feature in "Preferences > Chat > Chat & IM". Check our wiki for additional documentation about this feature. Thanks to the Emerald Viewer, Patrick Sapinski, and McCabe! :done:
 * Added optional support for Display Names in Second Life. You can configure whether to show legacy names, display names, or both, in "Preferences > General". Thanks to Linden Lab for the feature, Henri Beauchamp for porting it, and Armin for adding the preferences UI! :done:
 * Added options to highlight chat from friends, and/or chat containing your name/nicknames. You can enable and configure these features in "Preferences > Colors". Thanks, Elektra and McCabe! :done:
 * Added tab-completion for names in chat. In the chat bar, type at least 3 letters of someone's name, then press Tab to fill in the rest of their name. Thanks, Elektra! :done:
 * Added "Preferences > General > Bold my friends' nametags" option. When enabled, your friends' nametags will be shown in bold text, to help them stand out in a crowd. Thanks, Elektra Hesse! :done:
 * Added search bars in the Friends and Groups tabs of the Communicate window. Type in part of the name of the friend/group you're looking for, and the list will show only results that match what you typed. Thanks, Charley Levenque, McCabe, and Elektra! :done:
 * Added Ctrl-Shift-G (Cmd-Shift-G on Mac) as the keyboard shortcut for the Groups tab in the Communicate window (IMP-712). Thanks, Aleric Inglewood! :done:shortcut:
 * Updated the formatting for group IMs to make it clear they're IMs. Thanks to McCabe, and the Emerald Viewer! :notdone:
 * Added "Profile" button to friendship offers you receive. This button opens the Profile of the person offering you friendship. Thanks to the Phoenix Viewer and McCabe! :done:
 * Added "Add Friend" to the quick-action list in the IM window. If the person you are IMing is not already your friend, you can easily send a friendship offer by clicking the down-arrow button next to "Profile", then choosing "Add Friend". Thanks, McCabe! :done:
 * Added a column in the Friends list to show whether they have given you permission to find them on the map. Thanks for the patch, Frederick Martian! :notdone:
 * Added "Copy Group Link" button to the Group Information window. This button copies a "secondlife://" URL which opens the Group Information window for that group. The link should work for anyone logged in to the grid that it was created for, but will not work correctly on a different grid. Thanks, McCabe! :done:
 * Fixed options in the "Preferences > Logging & Privacy" tab being grayed out (happens on OpenSim when a user's personal info isn't sent). McCabe :notdone:
 * Fixed options in "Preferences > Logging & Privacy" sometimes being forgotten between sessions (IMP-673). Thanks, Thickbrick Sleaford! :done:
 * Fixed the "Profile" button in the Group Chat window opening a user's profile instead of the group info (IMP-514). Thanks, McCabe! :done:
 * Tabs in user Picks now have a tooltip displaying the full title of the Pick. Thanks, McCabe! :done:
 * Fixed the Vivox Acceptable Use Policy agreement window appearing under the wrong conditions. Thanks, McCabe! :done:
 * Added several easter egg gestures. Codie                        :notdone:

Content Creation

 * Support for Alpha and Tattoo clothing layers. Ported from Snowglobe 2 by Henri Beauchamp. Tattoo tinting fix by Hg Beeks :notdone:
 * Mac: Added support for upload and local usage of PSD (Photoshop, including layers and native transparency) and TIFF images (including alpha channel) on any Intel Mac using native Quartz/vImage routines. Elektra :mac:notdone:
 * Prim alignment tool by Qarl, backported by Jacek, fixes and improvements from McCabe, Hg Beeks, and Eryn Gale. :notdone:
 * Ported local textures from Emerald. Thanks to Vaalith Jinn and the Emerald Viewer for this feature. Ported and improved by McCabe, additional fixes and improvements by Jacek and Elektra. :notdone:
 * The Object exporter can now export textures on objects from Second Life, if you have the texture in your inventory with full permission, and you are the texture creator. Exporting textures from other grids is similar, except that you do not have to be the texture creator. If any textures on the object are not allowed to be exported, a message will be displayed and that texture will not be exported. Thanks to Henri Beauchamp for the patch, and McCabe for applying and tweaking it! :done:
 * Emerald: copy/paste buttons for prim pos/rot/scale in build tools. Ported and improved by Armin :notdone:
 * preview animation locally on own avatar when uploading. Armin, with improvements from code by Henri Beauchamp :notdone:
 * Don't crash at the attempt to import clothing/bodyparts in file > import object. Armin :notdone:crash:
 * Mac: Implemented initial CoreGraphics image decoding to support uploads, both single and bulk, bypassing viewer's internal decoding classes and using osx native frameworks. Also pushing non-fully-working-yet (and thus disabled) code for native j2c decoding. (***FINISHED?) Elektra :mac:notdone:
 * Applied patch by Qarl Fizz to allow drag selection on plants. See http://www.qarl.com/qLab/?p=67. McCabe :notdone:
 * Ported changes to the inspect window from Ascent by Hazim: added last owner, faces, verticies, script and inventory count. :notdone:
 * Added Last Owner Profile button to the inspect window. McCabe   :notdone:
 * Ported list link number in tools window from the Ascent Viewer and Imprudenced it. McCabe :notdone:
 * Fixed IMP-729: PNG images with a "background color" lose their transparency when uploaded. That behavior was apparently based on an old misunderstanding of the PNG format specs. Thickbrick Sleaford :notdone:
 * Ported the GPL version of Zwagoth Klaar's fix for sculpty crashers. :notdone:crash:
 * Open texture preview after uploading a temporary texture (by Henri Beauchamp from the Cool Viewer). Ported by McCabe :notdone:
 * Added 'Copy Key' button to the build general tab. (***PORTED?) McCabe :notdone:
 * Ability to move trees the same max distance as normal objects. Revolution :notdone:
 * Added support for prim dimensions up to 64 meters in mesh-enabled Second Life regions. Thanks, Thickbrick Sleaford! :done:
 * Ported list link number in tools window from the Ascent Viewer and Imprudenced it. McCabe :notdone:
 * Made disable max build constraints also disable max position spinner values. McCabe :notdone:
 * Changed several spinners in the texture tab from 0.1 incremets to 0.05 for better accuracy. McCabe :notdone:
 * Patch to enable building on any parcel if the agent has create powers in the land group. If the land is deeded the object is created with the agent active group, else it's set to the land group by default. Also enables the build button when it should. Elektra :notdone:
 * Fixed the Link button in the build floater crashing the viewer under certain conditions (IMP-756). Thanks, Thickbrick Sleaford! :done:crash:
 * Removed profile buttons in the build window in favor of clickable links. Group names are now also clickable. Fixes inability to see full names when editing objects. McCabe :notdone:
 * Make the 'allow anyone to X' checkboxes in the edit window behave like they do in Viewer 2, which seems more straightforward. McCabe :notdone:
 * Potential fix for IMP-447: llSetText text shows characters as invalid. McCabe :notdone:
 * Widened the allowed range for Slice (aka Dimple or Profile Cut) on prims (IMP-862). The maximum Slice Begin is now 0.98 (up from 0.95), and the minimum Slice End is 0.02 (down from 0.05). These limits better match the values allowed by the server. Thanks, SignpostMarv Martin! :done:
 * Removed the debug setting "MaxSelectDistance". The maximum select distance is now determined by the grid platform (Second Life or OpenSim). Thanks, McCabe! :done:
 * Select distance is no longer limited when "Advanced > Disable Max Build Constraints" is turned on. Thanks, McCabe! :done:
 * Don't use the build window keyboard shortcuts when the UI has focus (except for the chatbar). McCabe :investigate:revertedp:relevantp:notdone:
 * Partial revert of a47ebd78. This caused issues with selection and alt-camming, and fixes for them seemed to only create more edge cases rather than solve them. If anyone finds a good way to differentiate when users can use keyboard vs. ui selection, go for it. McCabe
 * SNOW-282: prevent the toolbox from showing up uninvited and grabbing in-world click events after login. Thickbrick Sleaford :notdone:

Login, Grids, and OpenSim

 * Updated the grid manager to save names and passwords along with grid info. McCabe :notdone:
 * Merge in Var Sized Regions into the Imprudence Experimental. Revolution :notdone:aurora:
 * Added handler for new OpenSim function "OpenRegionInfo". Patrick Sapinski, Revolution :notdone:aurora:
 * more info at http://imprudenceviewer.org/wiki/Opensim_information_needed. Currently only supports a fraction of the provided parameters.
 * Finishes the OpenRegionSettings module, adds a new panel to Region/Estate for OpenRegionSettings, adds the new CAPS based WindLight Settings module, cleans up a few UI parts, and rebuilds the ToS window to support OpenSim regions better. Revolution
 * Fix setting the viewer offset time from OpenRegionSettings, and also have it show what UTC offset it is representing in the time bar. Revolution
 * fix: add missing settings for logging into Aurora Sim. Armin
 * Revolution Smythe: load voice module depending on login response. :notdone:revertedp:
 * Don't report crashes if the grid where the crash happened is different from the grid logging in. Armin :notdone:
 * fix Bug IMP-857: Imprudence lluserauth reports different mac address than other 1.23/SG1.x viewers. this just takes lluserauth from SG1.5. Armin :notdone:clarify:
 * Several fixes for bugs related to Advanced > Logout:            :notdone:
 * fix friendlist not cleared on logout. Armin
 * fix: don't play balance changed ui-sound when relogging into account with different balance. Armin
 * fix: Bug IMP-390 Logout: snapshot window doesn't close when logging out. Armin
 * Don't try to fetch grid list from empty url in GridUpdateList. Armin
 * Fixed IMP-157: Group lists get merged after logging into multiple grids. McCabe
 * Removed GOVERNOR_LINDEN check to allow land auctions on OpenSim. McCabe :notdone:
 * IMP-599: 'Account History'/'Manage My Account' use SL-specific URLs (since we don't get these from any grids, disable 'em for now). McCabe :notdone:
 * Potential fix for being unable to accept vivox licensing agreement, ported from Singularity, patch by Siana. :notdone:
 * fix Bug IMP-880 gridmanager defaults render_compat true instead of false. are there any render_compat grids anyway? Armin :notdone:clarify:
 * Improved tab order on login screen. McCabe                      :notdone:
 * Updated app_settings/default_grids.xml from our current online grids list. Jacek :notdone:
 * workaround crash seemingly specific for win7/64 on Aurora. Armin :notdone:aurora:clarify:crash:
 * Initialize the upload price to 0 in case a grid doesn't send this info (at least one doesn't). McCabe :relevantp:notdone:
 * Added support for InWorldz URLs ("inworldz://", "iz://", and "http://places.inworldz.com/"). (**EXPLAIN URL POLICY). Thanks, McCabe! :notdone:

Map, Radar, and Teleport

 * Added "Advanced > Full Radar", a radar window with more features than the embedded minimap radar. Thanks to Henri Beauchamp et al. for the patch, and McCabe for porting and improving it! :done:
 * Added "View > Teleport History" (Alt-H) IMP-472. Thanks to Zi Ree, Ansariel Hiler, and the Emerald Viewer and Phoenix Viewer! :notdone:shortcut:
 * Added "Show Objects" option in the mini-map right click menu (IMP-456). You can uncheck this option off to hide object markers on the mini-map. Thanks to the Emerald Viewer and McCabe! :done:
 * If you are an Estate Manager, the minimap radar will now list all avatars known to the viewer, even if they are out of radar range. Thanks, McCabe! :done:
 * Prevent double-click teleport when double-clicking touch-scripted objects or objects with non-default click action (sit, buy, etc.). Thanks, Thickbrick Sleaford! :notdone:
 * The World Map now displays the region access level (General, Mature, or Adult) next to each region's name (IMP-490). Thanks to the Emerald Viewer, Ansariel Hiller, and McCabe! :done:
 * When you receive a teleport offer, the destination is displayed in local chat (IMP-637). Be aware that it may take a few moments for the message to appear, as the viewer looks up the destination sim. Thanks to the Phoenix Viewer and Ansariel Hiller! :done:
 * The minimap radar's distance slider now lets you type in exact values. Thanks, McCabe! :done:
 * The minimap window can now be made even smaller than before. Thanks, McCabe! :done:
 * Fixed landmark inventory offers not opening even when "Automatically view Notecards, Textures and Landmarks after accepting" is enabled in "Preferences > Notifications". Thanks, McCabe! :done:
 * Replaced icon_top_pick.tga with an icon that does not contain the trademarked SL logo (IMP-786). Thanks, McCabe! :done:

Media, Browser, and Networking

 * Ported SL media plugins from Snowglobe/Viewer 2. Most work by Armin, help from Jacek and McCabe, Robin Cornelius :notdone:
 * Linux: Use system GStreamer, we no longer package GStreamer or its plugins. Linux users must install GStreamer and plugins for any formats they want to play. :notdone:linux:
 * Media and a stream URLs are no longer obscured in the About Land window (IMP-838). Linden Lab is doing likewise in the official Second Life viewer. Thanks to Henri Beauchamp for the patch, and Thickbrick Sleaford for porting it! :notdone:
 * Added Media Filters. (***MORE INFO). Thanks to Henri Beauchamps, Sione Lomus, and Thickbrick Sleaford! :notdone:
 * Added media interaction similar to Viewer 2's Media On A Prim (MOAP), but still using parcel media only (not per-prim media like true MOAP has). Go to "Preferences > Audio & Video", and enable "Media helper widget". Then if you click on a prim displaying a video or web page, you will zoom in and see some new media controls. Also, web pages are interactive while zoomed in that way; you can click on links, scroll around, etc. Thanks, Linden Lab and Armin! :notdone:
 * Web proxy is now used also for the login screen and parcel media. Before, it was only used for the built-in browser window. Armin :notdone:
 * Added button to clear web cookies. Armin                        :notdone:
 * Ported the Message log and Message builder from Inertia. Revolution :notdone:
 * split xmlrpc and web browser proxy setting into 2 settings (because the login service might refuse to let you in using TOR) Armin :notdone:
 * Ported SOCKS5 proxy support from Snowglobe 1.5. McCabe          :notdone:
 * Use the LGPL version of the quicktime media plugin. This allows us to use quicktime without violating the GPL. McCabe :relevantp:notdone:
 * Sync LLViewerMediaImpl::newSourceFromMediaType with SG2. Also renamed CookiesEnabled to BrowswerCookiesEnabled. Added BrowserJavascriptEnabled, BrowserPluginsEnabled. Aleric Inglewood :relevantp:notdone:
 * Fixed the play button disappearing when you play streaming audio. Thanks, McCabe! :done:
 * Fix IMP-700: "View > Web Browser" does nothing. Also made the "Home" and "Set Home" buttons work. "Send current URL to parcel" is still broken in SL, since it relies on the ParcelNavigateMedia capability which was never implemented by LL. Thickbrick Sleaford :notdone:
 * Fixed "View > Web Browser" sometimes loading the external browser and made it a menu item check rather than a call. McCabe :notdone:
 * fix news bar doesn't open internal browser. Armin       :notdone:investigate:
 * Added visual icons for Back, Forward, Reload, and Home buttons the built-in Web Browser window. Icons are derived from icons in the Open Icon Library http://openiconlibrary.sourceforge.net. Thanks, McCabe! :done:

Preferences

 * Reorganized the layout of the Preferences window. Besides the numerous label and organizational changes, here are the main points: :notdone:
 * Renamed several preferences panels
 * Moved numerous options out of the Advanced panel
 * Moved numerous options out of the General panel
 * Combined the Network and Web Browser panels
 * Combined IM, Chat, and Spell checking preferences
 * Combined 'Show timestamps in IMs' and 'Show timestamps in Local Chat' to one ShowTimestamps setting
 * Removed UI for 'hide my own group title'. This can still be set in the debug settings
 * Renamed Popups > Notifications
 * Renamed Chat Colors > Colors
 * Renamed 'IMs and Logging' to 'Logging and Privacy'
 * Moved Colors next to Skins
 * Added style guide to the top of every preferences panel xui*
 * IMP-841: Fixed string truncated in prefs > network.
 * Updated numerous labels in the Web tab.
 * Include dark and gemini skins (***PORTED FROM WHERE?). McCabe   :notdone:
 * Added three new resolutions: 1280x720 (HDV720), 1440x1080 (HDV1080), 1920x1080 (HD1080) (***NAMES CHANGED?). Removed 640x480 resolution from preferences since the UI doesn't fit when using it anymore. McCabe :notdone:
 * Ported ResetFocusOnSelfClick debug setting from Emerald, set the default to false. McCabe :notdone:
 * Added slider to control the number of avatar imposters. McCabe  :notdone:
 * The sliders for draw distance, max particle count, and max non-imposters now let you type in exact values. McCabe :notdone:
 * Added search to the Debug Settings. McCabe                      :notdone:
 * Add HeadFollowsMouse debugsetting + UI in "Preferences > Advanced > Main". Armin :notdone:
 * Added ability to customize the particle cloud you see for unrendered avatars. This only affects what you see on your computer, not what anyone else sees. You can adjust the particle colors and texture in "Preferences > Advanced > Avatar Cloud". For more advanced customization, you can copy cloud.xml from app_settings to your user_settings directory and edit the XML. Thanks, Armin! :done:
 * Increased the maximum value of the "Mesh Detail: Objects" slider in "Preferences > Graphics" from 2 to 4. Thanks, McCabe! :done:
 * Re-enable the 'Avatar Imposters' option for low-end graphics cards. McCabe :notdone:
 * Made 'notify when currency spent or received' also chat the message. McCabe :notdone:
 * Clarified difference between browser cache and disk cache clearing buttons. McCabe :notdone:

Texture Loading

 * Many texture loading fixes by Robin Cornelius: SNOW-780, SNOW-792, SNOW-784, SNOW-802. Thanks, Robin! :done:
 * Many texture loading fixes by Thickbrick Sleaford: IMP-603, IMP-672, IMP-771, IMP-772, IMP-778 and others. Thanks, Thickbrick! :done:
 * Fixed trees, grass, and certain other "built-in" textures appearing white on OpenSim. Thanks, Armin and McCabe! :done:
 * The viewer will wait until it has at least 512^2 pixels of local texture data before baking your avatar texture. Thanks, Thickbrick Sleaford! :notdone:
 * Updated the texture cache code from pre-LGPL Viewer 2 (IMP-425). Thanks, Linden Lab and McCabe! :notdone:
 * Preload default avatar eyes and hair textures. This is a temporary bandaid, it should not be necessary if everything was working like it should (***WAS IT?). Jacek :notdone:
 * Fixed a small potential memory leak of CacheReadResponder objects. Thanks to Linden Lab, Henri Beauchamp, and Thickbrick Sleaford! :notdone:
 * The viewer will automatically retry loading avatars, if they are still unloaded after a minute. The effectiveness of this method is still unknown. Thanks to Aidan Thornton, Siana Gearz, and the Phoenix Viewer! :done:
 * Fixed the viewer not validating textures with UUIDs starting with 00. Thanks, Aleric Inglewood! :since13p:notdone:
 * Initialize local variables in llimagegl.cpp, from Singularity, patch by Shyotl Kuhr. (***MORE INFO) :notdone:
 * Incremented LLTextureCache::sHeaderCacheVersion to 1.3 and cache_version to 7 to fix SNOW-799. McCabe :notdone:

Development

 * IMP-590: Added a thread-safe and robust wrapper for APR pools. Aleric Inglewood :notdone:
 * IMP-701: An API to wrap objects for thread-safe access. Aleric Inglewood :notdone:
 * simple log rotate. (***MORE INFO) Armin                         :notdone:
 * Backported improved viewer name/version system and packaging system from Kokua. Jacek :notdone:
 * Changed default compile settings for Mac. Now SSE3 and SSE4 are enabled by default, gcc-4.2 is used and 10.5 SDK is auto selected. Build from commandline in Release mode now work perfectly (./develop.py -t Release build) without the need for Xcode at all. Elektra :notdone:revertedp:mac:
 * Disable SSE4 on Mac (temporarily). GCC 4.0 on Mac OS X 10.5 can't handle SSE4, GCC 4.2 fails. (***STILL?) Jacek
 * Numerous code cleanup and compile system improvements by Aleric Inglewood. :notdone:
 * IMP-552 / VWR-12838: NDOF is assumed to exist, even with --standalone.
 * IMP-554 / SNOW-623: Add support for boost 1.42.
 * IMP-556 / SNOW-800: Massively duplicated objects.
 * IMP-560: Imprudence doesn't compile when configured with --standalone.
 * IMP-561: Don't use optimization flags when compiling in Debug mode on Linux64.
 * IMP-565: Building the package/ directory fails for standalone.
 * SNOW-86: Dangerous macro leads to possible wrong code.
 * VWR-14426: Link step fails on Linux when LDFLAGS is set.
 * IMP-575 / VWR-13040: LLObjectSelection::valid_root_begin is really the same as LLObjectSelection::root_begin.
 * IMP-576 / SNOW-415: Viewer prints always "WARNING: cleanup: Quitting with pending background tasks".
 * IMP-578 / SNOW-744: scripts/install.py --uninstall does not remove symbolic links.
 * IMP-579 / SNOW-751: 'configure' with cmake 2.8 is extremely slow.
 * IMP-553 / SNOW-766: Add a 'printbuilddirs' command to develop.py.
 * IMP-429: Link against prebuilt libraries / always use gtk-related system libs (linux). (***MORE DESCRIPTION?)
 * Don't dump callstacks at clean exit of viewer.
 * LindenUserDir fixes. The LindenUserDir (~/.imprudence/first_last/) cannot be initialized before the user logged in. However, several singletons (that only can be initialized once) depend on this directory for initialization. Therefore we have to take care not to instantiate those singletons until after the user logged in. With regard to webit, this fixes the browser_profile (cache and cookies) directory that the builtin browser uses.
 * Fix possible crash on llassert_always(purge_list.size >= entries_to_purge). :crash:
 * Fixed a locking issue with regard to texture cache purging.
 * IMP-670: Uninstall packages that are renewed Uninstall old files when a new package with the same name is being installed.
 * Fix llqtwebkit version incompatibility. This patch has the minimum changes needed to be compatible with LLQTWEBKIT_API_VERSION 2.
 * Rename hippo* files to lower case.
 * Update of gtk-etc prebuilt for linux 32bit.
 * replaces the libcairo package with a self-compiled one that doesn't depend on libdirectfb etc.
 * Add missing gdkconfig.h. I missed this one cause it's install in a different directory than all the other header files.
 * IMP-692 / SNOW-713: Fixed compile bug fixes.
 * IMP-692 / SNOW-713: Removed isHexString again, since it is not defined anywhere.
 * Install unstripped binary in packaged on Linux when --type=Debug.
 * IMP-560: Add support for STANDALONE to OPENAL.cmake. Aleric Inglewood
 * IMP-692 / SNOW-713: Global objects in libllcommon duplicated in plugins / made llcommon a shared library. :notdone:
 * Updated many software libraries:                                :notdone:
 * Updated ares to 1.6 for windows (from snowglobe). McCabe
 * Updated windows version of openal-soft to 1.12.854. McCabe
 * Updated boost to 1.39 on Mac. Jacek
 * Switched to Phoenix Viewers Boost 1.43 libs for Windows. McCabe
 * Use apr_suite-1.3.8 for windows in order to get the dll version of libapr. Required for a DSO libllcommon. Robin Cornelius
 * Add PluginAttachDebuggerToPlugins. Opens a terminal with a gdb session for newly started SLPlugin processes if PluginAttachDebuggerToPlugins is set to TRUE. Aleric Inglewood. :notdone:
 * Use a buffer for debug console output (improves speed on Windows when console is enabled). Ported from Singularity, patch by Shyotl Kuhr. :notdone:windows:
 * Added log info for when GStreamer fails to load because the plugin wasn't compiled correctly. McCabe :notdone:
 * IMP-775 Correct spaces in NSIS call. Reference VWR-20742. Used, with permission, Siana Geraz's Singularity Viewer portion related to this issue only. Ported by Nicky Perian. :notdone:
 * Changed the display of the GCC version to add more information on the compiler used in llfloaterabout.cpp. Elektra :notdone:
 * Ported memory leak fix in llcommon/llstring.h from the Ascent Viewer. McCabe :notdone:
 * Applied patch by Makomk Makosen for IMP-515: Uninitialized pointer mNextAudioSession in LLVoiceClient. :notdone:crash:
 * Fixed Boost.cmake to correctly find the boost_system lib on mac. Elektra :notdone:mac:
 * Ported media_plugin_webkit changes from Snowglobe2, which are identical to SL2.3. This includes a more stable version of llqtwebkit for Windows. McCabe :notdone:
 * linux: several improvements to the starter script, provide a default alsoft.conf. Armin :notdone:linux:
 * removed several export lines that are not supported
 * added a line that -if the user enables it- lets openal load a specific alsoft.conf
 * added a line that -if the user enables it- adds a custom GST_PLUGIN_PATH
 * create a crashlog package in the viewer folder if stack_trace.log exists.
 * send plugin messages with in notation format instead of xml. sideffect: media volume updates work on linuces where they failed. Thanks, Armin! :notdone:
 * move streaming audio out of gAudiop into its own class. might solve several issues with streaming audio, like: streaming audio not working when the sound effects driver fails. breaks fmod. Sorry. If you want fmod go fix it, its probably not difficult. Armin :notdone:
 * Added a null check for corrupt volume lists. McCabe             :notdone:
 * Applied customizableTranslationMenu.patch by Grandma Bates for IMP-533: Right Click menus are transparent on the login screen and IMP-534: Right click menus aren't translatable. :notdone:
 * Added a nullcheck, from Singularity, patch by Shyotl Kuhr. (***MORE INFO) :notdone:
 * revamp the voice client. Armin                        :relevantp:notdone:
 * split the "voice" debug tag into several tags for usable filtering while debugging
 * remove debug-spam from user view by remove capability request spam by:
 * unload the daemon if not used.
 * load vivox daemon depending on specific criteria in the caps
 * remove the partial implementation to load a specific daemon with via the openregion message or the login response.
 * discard obsolete caps.