LibOpenMetaverse Release 0.7.0

Hello everybody! I hope we didn't keep you waiting too long.

The libopenmetaverse Ninjas are proud to announce libopenmetaverse 0.7.0! This is the best libopenmetaverse yet! We've
got some new methods for estates, Packet Splitting, gesture support, a new Generic ThreadSafe Dictionary, and more!
There are also a bunch of performance improvements and bug fixes in this release. Look for the complete list at the
end of this post.

You can download this release from our Downloads page http://openmetaverse.org/projects/libopenmetaverse/download

Fully searchable API Documentation for this release can be found on the Documentation page http://lib.openmetaverse.org/docs/0.7/

To submit trouble reports please use the "Create New Issue" link in our jira issue tracker http://jira.openmetaverse.org

As always we would like to thank all testers, bug reporters, patch submitters and developers who contributed to this release. Thank you all!

Release Notes - libopenmetaverse - Version 0.7.0

Bug

  • [LIBOMV-75] - SLProxy is crashed when accessing ServerReleaseNotes capability
  • [LIBOMV-163] - libsl appearance handling continues to render scrunched avatars when data is inadequate
  • [LIBOMV-325] - No handler registered for packet event ParcelMediaCommandMessage
  • [LIBOMV-439] - crash shortly after login during appearance update
  • [LIBOMV-485] - Login problems using TestClient with Mono under Linux?
  • [LIBOMV-495] - Exception is thrown in WinGridProxy during startup, exception references LLSD Decoding: Notation LLSD parsing: Unknown type marker '...'
  • [LIBOMV-500] - Cannot stop WinGridProxy packet capturing
  • [LIBOMV-504] - Deserialize of special CAPS-Packets fails (e.g. RequestUploadNotecardAsset)
  • [LIBOMV-507] - ChatterBoxInvitation always leaves Session id UUID.Null
  • [LIBOMV-508] - Deserialize of ParcelProperties fails extracting "MediaData"
  • [LIBOMV-511] - CoarseLocationHandler locking regression
  • [LIBOMV-512] - WinGridProxy PacketToString should decode keyvaluepairs
  • [LIBOMV-518] - CreateItemFromAssetResponse failure
  • [LIBOMV-527] - gridproxy crash with RC client 1.23.1.119104
  • [LIBOMV-544] - PATCH - Sculpties can be Inverted or Mirrored on Simulator.. his allows those properties to be known
  • [LIBOMV-545] - TexturePipeline captures many threads waiting for locks
  • [LIBOMV-550] - Allow LLSD serialization of prims that don't have name/description properties
  • [LIBOMV-553] - TexturePipeline throws exception in TextureRequestDoWork due to values changing during enumeration (Probably lock related issue)
  • [LIBOMV-554] - Appearance fails to be set properly since the new network code in r2800
  • [LIBOMV-555] - Too thin lock in ObjectManager.GetAvatar/GetPrimitive
  • [LIBOMV-558] - CLONE -IndexOutOfRangeException in CoarseLocationHandler
  • [LIBOMV-559] - Build fails under Linux/Nant while compiling WinGridProxy with error: [resgen] Inner exception: Could not find a part of the path "/tmp/Resources/InstallWelcome.bmp". Line 123,
  • [LIBOMV-560] - FriendsManager.OfflineNotificationHandler exception
  • [LIBOMV-561] - inject packet with Gridproxyapp is not working.
  • [LIBOMV-562] - Login Response parsing of inventory-skeleton throws cast exception when inventory item name is determined to be an integer
  • [LIBOMV-563] - packets injected via gridproxy/wingridproxy in r2831 have no effect
  • [LIBOMV-565] - UDP Client throws exception: WSAIoctl: Need to translate 102 [Operation not supported on socket]
  • [LIBOMV-566] - ObjectGrabPacket ToBytesMultiple() not working
  • [LIBOMV-567] - Packets with Variable blocks that are sent null are not being handled by the packet splitter
  • [LIBOMV-568] - Infinite loop on caps exception.
  • [LIBOMV-570] - ObjectManager.InterpolationTimer_Elapsed causes Immensest lock condtions
  • [LIBOMV-572] - Zerodecoding error
  • [LIBOMV-573] - Setting SIO_UDP_CONNRESET Socket flag causes exception on mono/linux
  • [LIBOMV-577] - WGP does not detect POST to uploader capability
  • [LIBOMV-578] - *PATCH* Fix ownerID of folders on login inventoryskeleton
  • [LIBOMV-581] - RolesMembers event gives back a continuously growing list on subsequent calls
  • [LIBOMV-584] - OpenMetaverse.NetworkTests fail intermittantly.
  • [LIBOMV-586] - Null reference exception in ChatterBoxSessionAgentListUpdatesEventHandler()
  • [LIBOMV-588] - Packet handler chokes when sim drops bunch of packts
  • [LIBOMV-592] - Properly initialize InventoryFolder when created by UUID
  • [LIBOMV-593] - Inventory store not properly updated when item or folder is moved
  • [LIBOMV-594] - AgentAnimationPacket throws null pointer in ToBytesMultiple()
  • [LIBOMV-595] - TextureEntry throws null pointer in GetHashCode() when the DefaultTexture is not initialized
  • [LIBOMV-599] - GridProxy Does Not Recieve any RequestXfer after a AssetUploadRequest
  • [LIBOMV-600] - Teleport Success disconnects the previous simulator
  • [LIBOMV-601] - NetworkTimeout on 128 meter away neighbours causes problems when you get close again
  • [LIBOMV-604] - ObjectDisposedException in AckTimer_Elapsed
  • [LIBOMV-606] - FindAgentPacket throws null pointer in ToBytesMultiple()
  • [LIBOMV-608] - Null reference exception in Rendering.cs
  • [LIBOMV-609] - Null values not checked in GetOSD calls for Primitive and TextureEntry (patch included)
  • [LIBOMV-610] - Inventory cache functions do not consider folder versions when restoring and can result in an inconsistant folder state
  • [LIBOMV-611] - FriendsManager Exception An entry with the same key already exists PATCH Included
  • [LIBOMV-612] - TerrainManager (Locking the wrong Dictionary) PATCH Included
  • [LIBOMV-613] - GroupManager Improvements
  • [LIBOMV-614] - WGP null reference exception when loading saved filters before proxy is started
  • [LIBOMV-615] - WGP does not use same default file name when saving and loading filters and sessions
  • [LIBOMV-619] - Not handled message handle in MessageUtils
  • [LIBOMV-620] - WinGridProxy throws an unhandled exception when overwriting an existing filter file
  • [LIBOMV-624] - WinGridProxy does not decode message blocks since we switched from using Interfaces
  • [LIBOMV-627] - WinGridProxy not displaying some packets in listview due to first-match filtering FindWithText uses
  • [LIBOMV-635] - importprimscript fails to parse floats
  • [LIBOMV-636] - Various timers prevent GridClient from being collected by the GC

Improvement

  • [LIBOMV-456] - Simulator.SendPacket and friends should perhaps check for oversized payload and raise an appropriate exception
  • [LIBOMV-482] - Implement convenience accessors for Params field in TransferRequestPacket and TransferInfoPacket
  • [LIBOMV-505] - Implement TexturePipeline class in AssetManager for texture retrieval
  • [LIBOMV-506] - Improve CapsClient - Add KeepAlive support and IOCP threads.
  • [LIBOMV-516] - Move EstateTools to Client.Estate
  • [LIBOMV-530] - Update message template to viewer 1.23
  • [LIBOMV-539] - PATCH - TestClient Example command to see how to upload a script to one's inventory
  • [LIBOMV-575] - Add Sphere effect to agent manager that creates a swirl of particles around a target
  • [LIBOMV-583] - Add RequestPayPrice and PayPriceReply handling to object manager
  • [LIBOMV-589] - Grid Proxy Frame needs SecureSessionID field for VFile prediction and calculation!
  • [LIBOMV-590] - Implement full asset notecard decoding
  • [LIBOMV-598] - PATCH - Adds three new Events - Is 100% BACKWARDS COMPATABLE
  • [LIBOMV-605] - [patch attached] region searching is currently case insensitive, OpenSim is sensitive to case
  • [LIBOMV-618] - TexturePipeline doesnt like a disconnect/reconnect .. this patch seems to let it allow that
  • [LIBOMV-630] - TestClient: groupmembers, grouproles, invitegroup commands ... and GroupName to UUID refactoring
  • [LIBOMV-638] - Allow setting permission of newly created inventory in RequestCreateItemFromAsset()
  • [LIBOMV-639] - Implement Asset Cache (make Texture Cache more generic), change Requst*Asset() methods to accept callback parameter instead of using global event

New Feature

  • [LIBOMV-179] - estatetools should control sun direction factors and water levels
  • [LIBOMV-291] - [PATCH] Update an existent script via CAP (UpdateScriptAgentInventory)
  • [LIBOMV-477] - Create IMessage Interface + Capabilities packet classes
  • [LIBOMV-481] - (Re-)Implement XML-RPC Login
  • [LIBOMV-492] - WinGridProxy - a proxy application for exploring and shaping traffic on Virtual World Grids
  • [LIBOMV-493] - Matrix Inverse
  • [LIBOMV-503] - Implement new EventQueue messages: TeleportFailed and CrossedRegion
  • [LIBOMV-509] - Allow the ability for filter selections in WinGridProxy to be applied to saved sessions
  • [LIBOMV-514] - Added method for changing sim terrain
  • [LIBOMV-515] - Added method for changing sim terrain heights
  • [LIBOMV-519] - Add Plugin support to WinGridProxy
  • [LIBOMV-520] - Added method for Estate wide returns
  • [LIBOMV-521] - Added method for simTerrainVariables
  • [LIBOMV-523] - Added method for Adding Estate managers
  • [LIBOMV-524] - Added method for Remove Estate managers
  • [LIBOMV-525] - Added method for Sending all users HOME!
  • [LIBOMV-528] - Added 4 new methods , AddAllowedUser, RemoveAllowedUsers, AddAllowedGroup, RemoveAllowedGroup
  • [LIBOMV-529] - Some new cap stuff when changing options in the RC
  • [LIBOMV-531] - Create IMessage class for PlacesReply packet
  • [LIBOMV-535] - Implement RezRestoreToWorld Capability in Message system and methods to use the capability.
  • [LIBOMV-537] - Create an abstract function in the Packet Class which automatically splits oversized packets
  • [LIBOMV-538] - Implement Generic ThreadSafe Dictionary
  • [LIBOMV-543] - Implements classified ad creation and lookup
  • [LIBOMV-549] - Packet Splitting
  • [LIBOMV-607] - Implement ability to get remote parcel ID's
  • [LIBOMV-629] - Add support for gestures
  • [LIBOMV-632] - Add ability to upload gestures (implement UpdateGestureAgentInventory) CAP
  • [LIBOMV-633] - Access to children of the root prim

Task

  • [LIBOMV-501] - Clean up All Compile time warnings in for both Nant and Visual Studio based builds
  • [LIBOMV-540] - Implement SetScriptRunning packet to allow setting the running state of scripts contained within a task

Release Notes - TestClient - Version 0.7.0

Bug

  • [TC-22] - TestClient Import -- Failed to link X prims -- incorrect rotation
  • [TC-23] - TestClient Import group wierdness
  • [TC-67] - testclient frequent crashing in r2792
  • [TC-68] - testclient displays "TestClient has stopped working" system dialog when quit command is entered

New Feature

  • [TC-65] - PATCH TaskRunningCommand
  • [TC-73] - Adds derez TestClient command