LibOpenMetaverse Release 0.8.0

The libopenmetaverse Ninjas are proud to announce libopenmetaverse 0.8.0! This is the best libopenmetaverse yet! Among many new features and bug fixes we can highlight much improved and fully automatic Appearance Manager, it's no longer needed to set appearance and rebake avatar textures manually. Libopenmetaverse 0.8.0 also adds support for recent protocol additions, such as media on a prim, inventory links, content maturity rating and others.

This release standardizes the event handling model and follows the standard guidelines for naming and implementation of events. This also unfortunatelly means that the API for events has change quite a bit, and porting applications from earlier versions will be a non trivial task. Application developers are encouraged to take a look at various implementation examples in the bundled TestClient application among the others. Help on updating the wiki that would reflect the current API would be greatly appreciated.

You can download this release from our Downloads page http://lib.openmetaverse.org/wiki/Download

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!

(full changelog below the fold)

Release Notes - libopenmetaverse - Version 0.8.0

Improvement

  • [LIBOMV-640] - Improve avatar appearance setting
  • [LIBOMV-644] - PATCH ObjectManager should try to set the region handles when creating prims
  • [LIBOMV-646] - WGP improve performance under Mono
  • [LIBOMV-658] - Improve correctness of baked textures
  • [LIBOMV-684] - Add support for searching places
  • [LIBOMV-685] - Unblock downloads sooner when packets arrive out of order
  • [LIBOMV-710] - Check friend's online status after they accept our friendship offer
  • [LIBOMV-727] - PATCH - add an overload in GridProxyLoader SayToUser
  • [LIBOMV-728] - PATCH - expose proxyConfig member of GridProxy Proxy class
  • [LIBOMV-732] - Some voice event handlers are missing
  • [LIBOMV-734] - EventArgs for EstateTools - The Patch for approx r3184
  • [LIBOMV-736] - EventArgs for AppearanceMananger - The Patch for approx r3186
  • [LIBOMV-768] - Change Voice-related events to use the common EventArgs structure
  • [LIBOMV-771] - need an .IsNew for AvatarUpdate event
  • [LIBOMV-783] - ParcelFlags enum ToString fails due to commented out bits values
  • [LIBOMV-810] - [PATCH] - Checks to reduce exceptions
  • [LIBOMV-818] - Add simulator to AvatarAppearanceEventArgs

New Feature

  • [LIBOMV-637] - PATCH - Added PlatformTarget so we can say explicitly x86/x64 instead of the defualt "Any CPU"
  • [LIBOMV-652] - OpenJpeg wrapper should detect platform and use proper dll for decoding
  • [LIBOMV-663] - Add support for IBM s390 and PPC architectures to OpenJpeg makefile
  • [LIBOMV-665] - Possibility to export the data to a file
  • [LIBOMV-671] - Add adult-specific functionality
  • [LIBOMV-672] - Packet Type: AgentGroupDataUpdate not being handled
  • [LIBOMV-682] - FEATURE - The ability to set the Objects Group
  • [LIBOMV-687] - new Meshmerizer which does prim faces and sculpties
  • [LIBOMV-696] - DirectoryManager DirLandReply message is being sent over Capabilities
  • [LIBOMV-720] - New Feature adds the ability to track and report Network utilization on a per-packet or per-message basic
  • [LIBOMV-739] - Support for Client Identification Tag
  • [LIBOMV-766] - abstract Group Invitation from InstantMessage packet
  • [LIBOMV-789] - Allow setting of agent position for doing dead reconning
  • [LIBOMV-794] - Add ability to update folder properties
  • [LIBOMV-796] - Added Visual Parameters field to Avatar Object and updated avatarmanager event AvatarAppearanceHandler accordingly
  • [LIBOMV-797] - Add ability to save changes to scripts and notecards within object contents
  • [LIBOMV-801] - ADDED GetOSD() functions to Avatar object and all subclasses.
  • [LIBOMV-803] - Add support for the new messages used for media on a prim
  • [LIBOMV-804] - Add ability to manipulate object media
  • [LIBOMV-819] - Implement support for resource usage limits

Task

  • [LIBOMV-793] - Add support for the functionality added in viewer 2
  • [LIBOMV-795] - Added support for inventory links
  • [LIBOMV-814] - Remove HTTP Server

Bug

  • [LIBOMV-121] - No handler registered for packet event RebakeAvatarTextures
  • [LIBOMV-597] - AgentManager.StartWearOutfitFolder the WearablesRequestEvent.WaitOne() is waiting forever
  • [LIBOMV-623] - PATCH to fix Agent data is being updated from a dying avatar that just crossed sims
  • [LIBOMV-645] - WGP does not restore sessions properly
  • [LIBOMV-647] - Socket exception in GridProxy
  • [LIBOMV-649] - InventoryManager.RequestCopyItemFromNotecard() needs to switch over to CAPS
  • [LIBOMV-650] - WGP odd behavior with CAPS messages when loading a saved session
  • [LIBOMV-651] - WGP shows incorrect hex data for UDP packets
  • [LIBOMV-653] - Default RequestRezFromInventory() to request CreateSelected flag
  • [LIBOMV-655] - Packet resends print strange timout numbers in the log
  • [LIBOMV-659] - Rebaked textures not cached by the sim
  • [LIBOMV-660] - Gesture decoder broken
  • [LIBOMV-662] - Unhandled CAPS event DirLandReply
  • [LIBOMV-664] - WinProxyApp crashing after closing connection
  • [LIBOMV-666] - Baked Avatar produce Tight Pant.
  • [LIBOMV-667] - Broken Trunk by removal of file r3070
  • [LIBOMV-681] - openjpeg-dotnet.dll entry points do not match OpenJPEG.cs
  • [LIBOMV-691] - Need a way to deal with Avatar appearance problems
  • [LIBOMV-697] - Packet injection with Gridproxyapp or wingridproxy is not working.
  • [LIBOMV-698] - TexturePipeline will only start if created before the sim connection
  • [LIBOMV-700] - a runprebuild clean build does not rebuild because of missing dependencies for MeshmerizerR in prebuild.xml
  • [LIBOMV-701] - PickInfoUpdate not taking into account globalPosition parameter
  • [LIBOMV-704] - RebakeAvatarTextures - No handler registered for packet event RebakeAvatarTextures
  • [LIBOMV-706] - Locking a null NamedValue array
  • [LIBOMV-711] - OfferFriendship does not sends wrong message
  • [LIBOMV-712] - TerrainManager updating Wind from Wrong Simulators
  • [LIBOMV-725] - Using of current culture in AssetBodypart.Encode()
  • [LIBOMV-729] - Prebuild needs to output Visual Studio 2010 instead of the current Visual Studio 10 to support Beta 2 of VS2010
  • [LIBOMV-733] - Color4 operators cause System.ArgumentException
  • [LIBOMV-735] - SendPacket eats packets when a simulator is not connected
  • [LIBOMV-737] - packet.ToBytesMultiple() returns 0 length array for PacketType.ScriptDialog
  • [LIBOMV-738] - ImprovedTerseObjectUpdateHandler did not update the prim anymore after some EventArgs changes
  • [LIBOMV-741] - System.IndexOutOfRangeException in AvatarAnimationHandler()
  • [LIBOMV-743] - PATCH - Primitives need to set extra params from bytes - Incode local variables accidently shadowed the fields
  • [LIBOMV-744] - AvatarGroupsReply needs implementation with EventQueueCallback
  • [LIBOMV-747] - A little typo prevents attachments to be handled correctly ;-)
  • [LIBOMV-752] - LookAtEffect() does not pass offset param to the sim
  • [LIBOMV-765] - WinGridProxy will not start if there is more than one thing in the LL registery entries
  • [LIBOMV-767] - No handler registered for packet event RegionInfo
  • [LIBOMV-770] - voice: errors with SessionUpdateEvent
  • [LIBOMV-772] - AvatarAppearance event is not being raised.
  • [LIBOMV-773] - No Packet or Message handler exists for ChatterBoxInvitation
  • [LIBOMV-779] - libopenjpeg library not found in linux x64
  • [LIBOMV-780] - Groups_GroupMembersReply fails to handle certain groups
  • [LIBOMV-782] - Client.Self.RequestLeaveGroupChat();
  • [LIBOMV-785] - Imaging.OpenJPEG.DecodeToImage adds alpha channel to images that do not have alpha component
  • [LIBOMV-798] - OSDParser.DeserializeJson() throws an exception on null values
  • [LIBOMV-805] - [PATCH] Assembly.GetExecutingAssembly().Location will return null on obfuscation, using Assembly.GetEntryAssembly().Location will fix that
  • [LIBOMV-809] - Serialization Bug, When serializing large osdmaps to xml an exception is thrown, and xml output is invalid..
  • [LIBOMV-811] - AVATAR FromOSD Problem, when base FromOSD is called, it cannot be explicitly cast to from Primitive to Avatar
  • [LIBOMV-815] - CAPS server deletion has caused a showstopping issue with inventorymanager, throws an exception without fail.
  • [LIBOMV-822] - _Client.Self.RequestLeaveGroupChat(myUUID); still only works half.