0.7.6 Release

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(Teleport)
(Changes)
Line 45: Line 45:
 
* OpenSimulator can now specify to a compatible viewer if extra viewer menu options should be added for a grid, via the OpenSimulator-specific SimulatorFeatures capability.
 
* OpenSimulator can now specify to a compatible viewer if extra viewer menu options should be added for a grid, via the OpenSimulator-specific SimulatorFeatures capability.
 
* Some exceptions seen on startup of heavily loaded simulators were fixed.
 
* Some exceptions seen on startup of heavily loaded simulators were fixed.
 +
* On user logout, there is no longer a delay if any neighbouring simulators are unresponsive.
  
 
=== Configuration ===
 
=== Configuration ===
Line 81: Line 82:
  
 
=== Sound ===
 
=== Sound ===
* No noteworthy changes in this release.
+
* llSetSoundQueueing() implemented.
 +
 
 +
=== Voice ===
 +
* Voice distance attenuation settings are now correctly passed on to the Vivox voice server.
 +
* Requests to a Vivox voice server are now done serially rather than concurrently when an avatar logs in.  This may improve the login experience if Vivox is being used.
  
 
=== Parcels/Region/Estates ===
 
=== Parcels/Region/Estates ===
Line 98: Line 103:
 
* OpenSimulator now comes with a core message save and redelivery system for offline avatars.  This is not currently enabled by default.
 
* OpenSimulator now comes with a core message save and redelivery system for offline avatars.  This is not currently enabled by default.
  
=== Friends ===
+
=== Friends/Profiles ===
* No noteworthy changes in this release.
+
* The previously external osprofile module is now an optional module in the OpenSimulator distribution.  This provides viewer 1-like user profile support and also adds some further changes to make it more Hypergrid friendly.  Currently, this is configured by setting a ProfileServiceURL in the [UserProfiles] section of OpenSim.ini which points to either the standalone server or to a robust grid service.  See OpenSim.ini.example for more information.
  
 
=== Archiving ===
 
=== Archiving ===
Line 122: Line 127:
 
* 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.
 
* 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.
 
* C# scripts now correctly return error line and column numbers.
 
* C# scripts now correctly return error line and column numbers.
 +
* llSetSoundQueueing() implemented.
 
* llTransferLindenDollars() made available.  However, any action on money transfers still has to be performed by a third-party module.
 
* llTransferLindenDollars() made available.  However, any action on money transfers still has to be performed by a third-party module.
 
* llCastRay() significantly improved.
 
* llCastRay() significantly improved.
Line 129: Line 135:
 
* Sensors, llGetRootRotation(), and scripting *Param() functions now correctly use or return the avatar’s world rotation if it’s sitting rather than it’s local rotation with respect to the seat.
 
* Sensors, llGetRootRotation(), and scripting *Param() functions now correctly use or return the avatar’s world rotation if it’s sitting rather than it’s local rotation with respect to the seat.
 
* Objects removed with llDie() will now also disappear for users looking in from neighbouring regions.
 
* Objects removed with llDie() will now also disappear for users looking in from neighbouring regions.
 +
* llGetNumberOfPrims() no longer returns the wrong number when avatars are sitting on certain prims of a cloned object before the simulator is restarted.
 
* 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.
 
* 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.
 
* Default particle count (PSYS_SRC_BURST_PART_COUNT) on calling llParticleSystem() is now 1 instead of 0.
 
* llSetPrimParams() can now correctly disable flexi.
 
* llSetPrimParams() can now correctly disable flexi.
 +
* llSetPayPrice() no longer changes the prices on both the original and cloned object before a simulator restart.
 
* osGetPrimitiveParams() now works correctly for prims with the same owner as the executing script, rather than for prims with different owners.
 
* osGetPrimitiveParams() now works correctly for prims with the same owner as the executing script, rather than for prims with different owners.
 
* osCauseHealing() no longer terminates the script event if called with the ID of an avatar that was not present in the region.
 
* osCauseHealing() no longer terminates the script event if called with the ID of an avatar that was not present in the region.
 +
* osMakeNotecard() no longer fails if given an LSL list containing vectors or quaternions.
  
 
== Acknowledgements ==
 
== Acknowledgements ==

Revision as of 11:28, 27 September 2013

Contents

Release Notes

General

These are draft release notes for a package which is not yet available.

Internal note: next is 4th May 2013

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.
  • Internal HTTP server reliability improved.

General Simulator

  • New functions added to JsonStore Module, which allows scripts and region modules to share structured data between themselves.
  • A dynamic attributes facility was added to scene objects where arbitrary data can be stored. This is currently undocumented but is used by the Materials module.
  • The admin_exists_user XmlRpcAdmin call now properly returns the last user login time in the lastlogin field rather than a jumble of unspecified fields.
  • OpenSimulator can now specify to a compatible viewer if extra viewer menu options should be added for a grid, via the OpenSimulator-specific SimulatorFeatures capability.
  • Some exceptions seen on startup of heavily loaded simulators were fixed.
  • On user logout, there is no longer a delay if any neighbouring simulators are unresponsive.

Configuration

Services

  • Version 3 style Destination guide and avatar picker URLs can now be sent to the viewer on login. Full V3-like avatar picker implementation is a work in progress. This is set in the [LoginService] section of bin/Robust.ini or bin/config-include/StandaloneCommon.ini

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.
  • Viewer avatar picker will now find foreign Hypergrid users.

Objects

  • Support added for materials.
  • Experimental export transfer permission which will indicate whether a creator has given permission to export an item from a grid. This work is ongoing and also requires viewer changes to provide a checkbox for this new permission. The Singularity viewer is carrying out this prototype work.

Mesh/Sculpt

  • Mesh upload now correctly rotates the constituent parts of the mesh object to match the preview.
  • Mesh upload no longer fails if another user has entered and exited the region.

Avatars

  • Avatars can now have more than one attachment per attachment point (multi attachments).
  • 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.
  • Avatars now roll when flying.
  • Avatars can now here chat that originates from neighbouring regions if they are within range.
  • Added avatar picker search HTTP capability.

Teleport

  • Fixed problems on some meshes never being seen on the destination region after a teleport.
  • Teleport cancellation improved.
  • Teleport failure information to viewer improved.

Physics

  • A very large number of improvements were made to the BulletSim physics engine plugin, including improvements to avatar movement, collision detection, linksets, megaregion support, mesh, physical objects, physical properties, terrain, vehicles and volume detect. 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

  • llSetSoundQueueing() implemented.

Voice

  • Voice distance attenuation settings are now correctly passed on to the Vivox voice server.
  • Requests to a Vivox voice server are now done serially rather than concurrently when an avatar logs in. This may improve the login experience if Vivox is being used.

Parcels/Region/Estates

  • Estate settings and operations (e.g. teleport all users home) will now work across all the simulators on an estate, not just in the simulator in which the command was executed.
  • Administrators and estate owners are no longer blocked from entering a region with a misconfigured telehub.
  • Estate settings are now obeyed for sun position on a region.
  • Taking and re-rezzing coalesced objects in a megaregion now works correctly.
  • Avatar ejection and freezing improved for parcel owners.
  • Administrators and gods can now kick a user via the viewer.
  • 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/Profiles

  • The previously external osprofile module is now an optional module in the OpenSimulator distribution. This provides viewer 1-like user profile support and also adds some further changes to make it more Hypergrid friendly. Currently, this is configured by setting a ProfileServiceURL in the [UserProfiles] section of OpenSim.ini which points to either the standalone server or to a robust grid service. See OpenSim.ini.example for more information.

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

  • A user that declines an inventory offer and subsequently empties their trash will no longer cause the givers original item or folder to become invalid.
  • Copies of objects taken from a scene are no longer sometimes be placed in the lost + found inventory folder.
  • Objects rezzed from the trash or lost + found inventory folders are no longer wrongly placed back there if the object or a copy is retaken.

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.
  • C# scripts now correctly return error line and column numbers.
  • llSetSoundQueueing() implemented.
  • llTransferLindenDollars() made available. However, any action on money transfers still has to be performed by a third-party module.
  • llCastRay() significantly improved.
  • llGetObjectDetails() now correctly returns the world rotation of a sitting avatar rather than its local rotation with respect to the seat.
  • llGetLinkPrimitiveParams() and llGetPrimitiveParams() now correctly return data for avatars seated on the linkset. The equivalent set LSL functions do not yet work for seated avatars.
  • llGetNotecardLine() and llGetNumberOfNotecardLines() will no longer occasionally lose dataserver calls if the same notecard is read simultaneously by different scripts.
  • Sensors, llGetRootRotation(), and scripting *Param() functions now correctly use or return the avatar’s world rotation if it’s sitting rather than it’s local rotation with respect to the seat.
  • Objects removed with llDie() will now also disappear for users looking in from neighbouring regions.
  • llGetNumberOfPrims() no longer returns the wrong number when avatars are sitting on certain prims of a cloned object before the simulator is restarted.
  • 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.
  • llSetPayPrice() no longer changes the prices on both the original and cloned object before a simulator restart.
  • osGetPrimitiveParams() now works correctly for prims with the same owner as the executing script, rather than for prims with different owners.
  • osCauseHealing() no longer terminates the script event if called with the ID of an avatar that was not present in the region.
  • osMakeNotecard() no longer fails if given an LSL list containing vectors or quaternions.

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.

Personal tools
General
About This Wiki