0.7.5 Release
From OpenSimulator
Release Notes
General
These release notes are in development. The current release candidate for 0.7.5 is RC1.
Welcome to OpenSimulator 0.7.5, an open-source multi-user 3D virtual environment server platform.
As ever, OpenSimulator is a highly complex piece of alpha 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 it breaks you get to keep both pieces.
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
- There is an occasional issue where other people will see you in the animation-less t-pose when you teleport between regions. This is being handled via http://opensimulator.org/mantis/view.php?id=6483
- 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 will be addressed before final release.
- 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, otherwise this regression may remain in the final 0.7.5 release.
- In a stock Linden Lab viewer 2/3, various tabs and buttons will point back to the Linden Lab website. In particular, the profile data will try to fetch from the Linden Lab website. It's not known currently how/whether this can be changed in the stock viewer.
- No form of prim equivalence is implemented for meshes.
- Loading scripts from the simulator library does not work properly.
- Multiple attachments on a single attachment point not supported.
- Bulletsim physics engine support is in an intermediate state in this release and may not work at all under Linux. This will not affect users since the Open Dynamics Engine (ODE) remains the default physics engine in-use on OpenSimulator.
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 will run under Mono 3.0.2 but physics instability has been reported (at least with the ODE plugin).
Backwards Compatibility Notices
- This release includes database migrations but these should be backward compatible with OpenSimulator 0.7.3.1 (i.e. one could rollback to 0.7.3.1 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.
- Due to a libomv bug fix, teleports in this release are incompatible with OpenSimulator 0.7.0.2 and earlier. This affects primarily Hypergrid teleports, since simulators within the same grid tend to be all in the same version. Teleports to OpenSimulator 0.7.1 and later should work.
Changes
General Server
- Default endpoint connection limit increased from 2 to 12, which will allow 12 simultaneous connections to an IP:Port combination rather than just 2. Experience suggests this will improve data fetching from ROBUST services. However, this change may not affect Mono installations due to a bug which may still be present in recent Mono releases. Separately, the number of simultaneous allowed asset requests to a connection was raised to 30. This will affect both Mono and Windows.
- Added facility to log outgoing http data via the "debug http" console command.
- More levels added to the "debug http" command to allow logging of incoming POST data. This command can be useful to debug configuration problems.
- The "show http-handlers" command now shows HTTP handlers listening on every port of that server - not just the 'main' port.
General Simulator
- Region debug console implemented, as accessed via the ctrl + shift + ` (backtick) keyboard shortcut in recent viewers. Only estate owners and managers can access this. Typing help at the prompt will show currently available commands (currently only auto_grant_attach_perms for temporary attachments).
- UDP related memory use by client connections improved. This should reduce the amount of memory used by each client connection as so reduce rubberbanding under Mono on busy simulators as memory is garbage collected. However, the affect may be swamped if there are many active scripts. There is further scope for improvement in this area.
Configuration
- Nonphysical* Regions.ini configuration names for controlling prim dimensions have been renamed to more consistent NonPhysical* names (e.g. NonphysicalPrimMin -> NonPhysicalPrimMin).
Services
- The "show http-handlers" console command is now available for ROBUST as well as the simulator.
- Inbound HTTP connectors can now be specified one per line in the [Startup] section of Robust.ini rather than in one large block.
Hypergrid
- For the items below, please see Diva Canto's HG 2.0 blog post for more details.
- Avatar appearance issues when using hypergrid 'suitcase' folder fixed.
- Attachment issues when visiting other grids via the Hypergrid fixed.
- Visitor access control to regions improved.
- Default Hypergrid config now changed to 2.0 from 1.5. On upgrading you will need to checking your existing Hypergrid configuration against the updates in Robust.HG.ini.example or config-include/StandloneCommon.ini.example as appropriate.
Objects
- Undo steps for object changes are no longer stored without limit. This meant that over time, a simulator with changing objects would use more and more memory that would not be released. The MaxPrimsUndo limit in the [Startup] section of OpenSim.ini is now enforced. The default is 20 steps.
- Minimum allowed sizes for physical and non-physical prims can now be configured. See the [Startup] section of OpenSim.ini.example for more details.
- Corrupted child prim permissions can no longer make objects change permissions after they have been rezzed.
- ReuseDynamicTextures option improved to work around a bug where an attempt to reuse a very small dynamic texture would cause the viewer not to properly redisplay it when it was pulled from its cache.
- Further crash bugs with very heavy use of dynamic textures by scripts fixed.
- Linkset sizes can now be restirected via the LinksetPrims value in the [Startup] section of OpenSim.ini.
- "show object pos" console commands added. These show object information by position on the console and are meant for debugging.
- More information added to various "show object" console commands for diagnostic purposes.
- "delete object pos <start-coord> to <end-coord>" console command added. This can be useful to delete all objects in a given volume of space.
- "dump object id" console command added to dump object serialization for any region object by its local or UUID. For diagnostics.
Mesh/Sculpt
- Mesh/Sculpt loading reliability improved.
Avatars
- OpenSimulator 0.7.r regression fixed where a logged out avatar could still sometimes be present in the connections list which would stop relog or visit of the scene until the simulator was restarted.
- Temporary attachments implemented. This is currently not well documented in OpenSimulator.
- Facility to periodically resend appearance UUIDs (ResendAppearanceUpdates setting in the [Appearance] section of OpenSimDefaults.ini) now set to true by default. This has been shown to help with grey avatar issues.
- Current animation is now retained by an avatar as it moves between regions, as long as both source and destination region are running this version of OpenSimulator or later.
Physics
- Many updates to bulletsim in the areas of collisions, fps calculation, floating, friction, linksets, megaregions, mesh, pushing, shapes, terrain, vehicles. However, this should still be considered experimental in this release.
- Movement of physical prims in ODE plugin improved.
Sound
Parcels/Region/Estates
- Bug fixed where having more than 63 users in an estate's banlist would cause the viewer to crash when the estate dialog was opened.
- Bug fixed with SQLite plugin where some parcel settings (such as media settings) were not persisted.
Map
Instant Messaging
Friends
Archiving
- Group ownership now properly changed to none when objects are loaded from an OAR where the group UUID is not present on that simulator.
- Parcel access lists now properly reconstructed on OAR load.
- "save iar" console command no longer hangs the console permanently if an asset save times out.
- Experimental support for multi-region OAR files added. As the name suggests, these are OAR files that store more than one region in an OAR. This is controlled using the --all switch on the "save oar" console command - currently the default is still to save single regions. This should be considered experimental.
NPC
- Fixed some script crashing race conditions if one script removed an NPC whilst another was fetching its details.
Inventory
- Fixed issue where newly created body parts and clothing sometimes did not appear in the user's inventory.
- Inventory folder versioning now much better implemented. This may cut down on excess requests by the viewer for inventory information as these were triggered by a mismatch between it's expected folder version numbers and those persisted by OpenSimulator. This may help with issues seen on OpenSimulator 0.7.4 where many requests for people with large inventories would lead to other region issues (see http://opensimulator.org/mantis/view.php?id=6412).
Groups
- Group information requests can no longer hold up the main incoming packet processing loop, which could lead to apparently frozen regions if the groups service was slow to respond.
Monitoring
- OpenSimulator 0.7.4 regression fixed where viewer stats sent by viewers were no longer being recorded in the LocalUserStatistics.db if this faiclity was enabled.
Test
- pCampbot fixed to work under Windows.
Scripting
- Script runtime error messages now displayed by version 3 and related third party viewers.
- Static methods from region modules can now be registered for calling by scripts using the modInvoke facility.
- Behaviour of llList2*() functions made to better match LL when converting input values.
- The attached event now correctly fires when an object is attached directly from the region.
- The money event now goes to the clicked prim rather than always the root prim of a linkset.
- ATTACH_*_PEC constants added
- PRIM_LINK_TARGET implemented on llGetPrimitiveParams() and similar functions.
- PRIM_SLICE implemented for llSetPrimitiveParams() and similar functions.
- llPlaySound() fixed to play sounds from the prim the script is in rather than the root prim.
- llLoopSound() now continues playing in a child prim when a sound is played in the root prim.
- llPlaySound() now consistently stopped by llStopSound().
- llDialog() fixed so that a script can hear responses no matter where a user has moved to within the region, rather than only when they are within shout range.
- llListStatistics() no longer ignores the last element in some operations.
- OpenSimulator 0.7.4 regression nfixed where the DATA_SIM_POS option on llRequestSimulatorData() would not return information on regions that were in the same simulator.
- Issue fixed with llListFindList() would not return a match if a script constant was used int he source list.
- llGetLinkName() fixed for LINK_THIS constant.
- CLICK_ACTION_ZOOM constant added.
- osGetHealth() added to return health information on an avatar where this is enabled.
- osSetContentType() added which allows setting of an arbitrary return type for an URL set up by llRequestUrl().
- osGetNumberOfAttachments() added to return the number of attachments given a list of attachment points.
- osMessageAttachments() added to allow a script to send a link message to an avatar's attachments.
- osDropAttachmentAt(), osForceDropAttachment() and osForceDropAttachmentAt() OSSL functions added.
- osListenRegex() function added which acts like llListen() but allows filtering by regular expression on name or message content of listen reports.
Acknowledgements
Many, many thanks to all the developers, testers and community members who contributed to this release. Your hard work makes this all possible :)