Hello everybody. This is a summary of the last week of development in OpenSimulator. Except where otherwise specified, the changes described here appear only in OpenSimulator’s cutting edge Git ‘master’ branch. Only changes that I think will be interesting to end users are listed. Please do not attempt to use code taken directly from ‘master’ in any production environment. Sometimes this in-development code may not work or may even cause data corruption. If you are not a developer or tester, please treat this summary instead as a preview of what will be coming up in the next release. The latest official release is OpenSimulator 0.7.3.1 (released on March 30th 2012).
The letters and numbers in brackets after some entries tell you the latest git commit to which they apply.
This week in OpenSim ( 3f6dfa9 – 8769e4e ).
- The first release candidate for the next version of OpenSimulator, 0.7.4-rc1, is now available for download and testing. If you encounter bugs which appear in this release but were known not to be in OpenSimulator 0.7.3.1, then please raise a Mantis report under the 0.7.4-rc1 product version. All other bugs should be raised against the master version as usual. OpenSimulator 0.7.4 when released will incorporate changes up until master commit 374ebab on Friday August 3rd 2012 plus bug fixes.
Features & bug fixes
- SignpostMarv contributed a patch to make the behaviour of various llList2*() functions better match LSL when it comes to converting input values (58c630c).
- Melanie of Avination started to implement temporary attachments. This is controlled via the “set auto_grant_attach_perms” option that is available via the region debug console. More details about this below (faa710a).
- Melanie of Avination added support for the region debug console found in recent viewers. This can accessed via the ctrl + shift + ` (backtick) keyboard combination on recent viewers. Only estate owners and managers can access this console. Typing help at the prompt will list available commands (currently only set auto_grant_attach_perms) (f6562e2).
- Melanie of Avination added an arbitrary key:value storage ability for data associated with regions. This is currently only implemented for MySQL and is used to store the temporary attachments setting (c27ff70).
- I dealt with some race conditions that could crash scripts if one script removed an NPC whilst another thread was fetching its details (c42fe6c).
- Robert Adams from Intel continued to work on OpenSimulator Bullet physics engine plugin, improving fps calculation, linksets, collisions and mesh among many other things (e7ad6ed).
- SignpostMarv contributed a patch to add support for the ATTACH_*_PEC LSL constants (7679384).
- I made a change to avoid activating the thread watchdog until regions are ready for use. This is to avoid false positives whilst regions are under heavy load during startup (when users can’t login anyway) (5a1b6fd).
- I made a change to reduce the reporting of wrong delay numbers if the thread watchdog has detected a slow down in a monitored thread. However, these were occurring mainly on startup and should be more rare now that the thread watchdog isn’t enabled until regions are ready (e4e5237).
- SignpostMarv contributed a patch to implement PRIM_LINK_TARGET more efficiently in commands such as llSetPrimitiveParams() (0aa1f1c).
- SignpostMarv contributed a patch to support configuration of minimum sizes for physical and non-physical prims as well as maximum sizes. See the [Startup] section of OpenSim.ini.example for more details (ef41222).
- I added some information to the ThreadStackSize parameter in the [XEngine] config section of OpenSim.ini. This governs the maximum stack size for XEngine script engine threads. If you see unexplained StackOverflowException errors on the console, particularly on 64-bit Windows, try increasing this figure since a stack overflow appears to occur for some scripts when they are first converted from LSL to their C# form. At some point this will have a more permanent fix (56da788).
- SignpostMarv contributed a patch that implements PRIM_SLICE for llSetPrimitiveParams() and similar LSL functions (28d0aff).
- No news this week.