0.7.6 Release
From OpenSimulator
(→Changes) |
(→Avatars) |
||
Line 69: | Line 69: | ||
* Avatars now roll when flying. | * Avatars now roll when flying. | ||
* Avatars can now here chat that originates from neighbouring regions if they are within range. | * Avatars can now here chat that originates from neighbouring regions if they are within range. | ||
+ | * Added avatar picker search HTTP capability. | ||
=== Teleport === | === Teleport === |
Revision as of 10:13, 27 September 2013
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.
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
- 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
- No noteworthy changes in this release.
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
- 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
- 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.
- 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.
- 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.
- 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.
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.