0.7.6 Release
From OpenSimulator
Release Notes
General
These are draft release notes for a package which is not yet available.
Welcome to OpenSimulator 0.7.6 release candidate 1, an open-source multi-user 3D virtual environment and metaverse server platform.
As ever, OpenSimulator is a highly complex piece of software. It's very likely but not guaranteed to work and various usage scenarios (standalone, grid, hypergrid, etc.) in combination with different dependencies (e.g. different versions of mono on Linux/Mac) can produce unexpected or unstable behaviour.
If you are upgrading from a version prior to 0.7.x, make sure to read the 0.7 Release notes. There have been extensive changes in OpenSimulator from 0.6.x to 0.7.
When you are upgrading, we strongly recommend that you start off with the default configuration files and port over any changes you made to your older version of OpenSimulator.
As this is a wiki page, please feel free to update it with more information about migration or other issues as and when these come to light.
You can download this release of OpenSimulator from http://opensimulator.org/wiki/Download
Known issues
- Arbitrary key:value storage for regions has not yet been implemented for SQLite or MSSQL. This is necessary for temporary attachments settings to be persisted. This functionality is considered experimental.
- Regression in RLV functionality where objects given via the llGiveInventoryFolder() function with a folder name with the format #RLV/~gift are still placed in the #RLV folder but now with the name still as "#RLV/~gift" rather than just "~gift". This is being addressed in http://opensimulator.org/mantis/view.php?id=6311. Any help from viewer developers on this would be much appreciated.
- No form of prim equivalence is implemented for meshes.
- Loading scripts from the library section of inventory does not work properly.
Requirements
OpenSimulator requires:
- .NET Framework 3.5 when running under Windows.
- At least Mono 2.4.3 when running under Mono (Linux or Mac). Mono 2.6.x and Mono 2.10.x onwards work well. Mono 2.8.x versions are reported as less stable in some situations. OpenSimulator should also run under Mono 3.0.3 and later although, as with Mono 2.10 and earlier, there are still issues when running under the optional new sgen garbage collector.
Backwards Compatibility Notices
- This release includes database migrations but these should be backward compatible with OpenSimulator 0.7.5 (i.e. one could rollback to the previous version of OpenSimulator if necessary without also rolling back the database). However, this is not a guarantee - please always backup your data before migrating from earlier OpenSimulator versions.
Changes
General Server
- Websockets support added to the builtin HTTP server used by OpenSimulator. This allows experiments with using Websockets to communicate with an OpenSimulator instead of UDP and long-poll mechanisms such as the HTTP event queue used in the Linden Lab protocol.
- Region modules and other codes (though not scripts) can now expose JSON-RPC handlers for external calls.
General Simulator
- New functions added to JsonStore Module, which allows scripts and region modules to share structured data between themselves.
Configuration
Services
Hypergrid
- There is now a [Hypergrid] configuration section in bin/config-include/*.ini files for standalone and grid. Here, a HomeUri and GatekeeperURI can be set which will apply to all other sections unless specifically overriden. The previous configuration arrangements where these settings were made separately in all relevant sections will continue to work. See Installing and Running Hypergrid for more details.
Objects
Mesh/Sculpt
- Mesh upload now correctly rotates the constituent parts of the mesh object to match the preview.
Avatars
- Avatars now roll when flying.
- Changing the running flag in scripts in attachments is now correctly saved without having to detach the attachment.
- A worn item no longer becomes invalid if is renamed after being edited in the same viewer session.
Physics
- A very large number of improvements were made to the BulletSim physics engine plugin, including improvements to avatar movement, collision detection, linksets, mesh, physical objects, physical properties, terrain and vehicles. It should general perform better than the OpenDynamicsEngine plugin and has much better behaviour in many situations (e.g. vehicles). In this release it is not yet default and has to be switched to explicitly in config.
- An osGetPhysicsEngineType() OSSL function to allow scripts to determine what physics engine they are running under.
Sound
- No noteworthy changes in this release.
Parcels/Region/Estates
- Administrators and estate owners are no longer blocked from entering a region with a misconfigured telehub.
- Estate settings are now obeyed for sub position on a region.
- The IRC module will now alert users when they enter a region where it is active.
Map
- Different regions on a single simulator can now use different fixed map tiles. This is specified using the MaptileStaticUUID optional setting in the region configuration file.
Instant Messaging
- OpenSimulator now comes with a core message save and redelivery system for offline avatars. This is not currently enabled by default.
Friends
- No noteworthy changes in this release.
Archiving
- Inventory Archive (IAR) loads will now skip corrupted coalesced objects rather than terminating the load.
- Specifying "/" as the inventory path in the "save iar" command will now save just the root folders instead of also saving the parent "My Inventory" folder. This makes it easier to restore entire avatar inventories. Previously, this could also be done by specifying the path "/*".
NPC
Inventory
Groups
A groups service was added directly to the OpenSimulator core distribution. This has been reliable but is not yet enabled by default. External documentation is also scarce - please see the [Groups] section in the OpenSim.ini config file and in other relevant config files for instructions on how to enable it.
Monitoring
Test
Scripting
- Scripts can now run with co-operative termination rather than forced. This should be more stable since it does not rely on thread aborts where there is a non-zero chance that the Mono/.NET virtual machine will be left in an inconsistent state. However, this feature is still considered experimental. See the ScriptStopStrategy in the [XEngine] config section of OpenSimDefaults.ini for more details.
- llTransferLindenDollars() made available. However, any action on money transfers still has to be performed by a third-party module.
- llCastRay() significantly improved.
- llGetObjectDetails() can now be used with the OBJECT_CHARACTER_TIME, OBJECT_ROOT, OBJECT_ATTACHED_POINT, OBJECT_PATHFINDING_TYPE, OBJECT_PHYSICS, OBJECT_PHANTOM and OBJECT_TEMP_ON_REZ constants. Those associated with pathfinding currently returns dummy values since OpenSimulator currently has no pathfinding implementation.
- Default particle count (PSYS_SRC_BURST_PART_COUNT) on calling llParticleSystem() is now 1 instead of 0.
- llSetPrimParams() can now correctly disable flexi.
Acknowledgements
Many, many thanks to all the developers, testers and community members who contributed to this release and who help out with OpenSimulator generally. Your hard work makes this all possible.