- Asset caching: Fixed the accounting of sizes in the 'removed' (replaced) case. It's possible that this could have prevented caching entirely in some cases, significantly hurting performance.
- Region-side asset cache can now succeed with only the raw asset (not the full asset stream).
- Region-side asset cache now stores the asset in the cache before attempting to fetch the asset stream, if possible.
- Region-side asset cache makes the post-write cache update unconditional even if it is already cached based on wire asset, since we have both wire and stream at that point.
- Added support for the option of asset storage being asynchronous, default disabled (opt-in) until we resolve the problem of unknown fetches after new uploads due to the use of separate processes.
- Fixed excessive "asset not found" types of reports in the logs, which were normal cases but making it difficult to read region logs.
- Fixed an null reference exception seen when avatar took enough damage just after crossing. Two fixes: fixed the null ref exception if a user received critical damage just as (or just after) it was leaving the region, and fixed to not attempt to teleport home a user who was already leaving the region (in transit) or not in the region at all.
- Mitigate against a duplicate CompleteMovement request which can cause all kinds of problems with the user session in the region. May resolve Mantis 3287 (duplicate notifications).
- llSetLinkCamera: Fixed the camera offsets to be relative to the specified prim at function execute time. Fixes Mantis 3317.
- iwMakeNotecard: Increase the length limit from 16K to 64K characters. This matches the viewer limit on reading notecards, as well as SL and OpenSim limits for notecards, while still providing a sanity limit for memory use.
- iwAvatarName2Key: Performance change to avoid attempting to contact the central User grid service for an ID if the agent is known to the current region. (!)
- iwAvatarName2Key: Changed the long delay to be 1 second (applied in addition to the User network/lookup time), was 5 seconds.
- llPushObject: Also permitted now if the script is owned by either the Estate Owner or an Estate Manager (previously parcel owner only).
- HTTP requests: Fixed a counter problem with HTTP request dynamic priorities that could result in theory in objects eventually being unable to send HTTP requests at all.
- floating point formats: Fixed the float to string conversions to match SL. See halcyon's PR 105. https://github.com/InWorldz/halcyon/pull/105
- Also includes some fixes to the Phlox script engine code to allow it to operate correctly under Linux.
- Remote admin: Fixed bug where the 1 minute alerts were not being sent. Now uses a timer so that the thread continues, resulting in the XMLRPC response being immediate instead delayed until the countdown stops.
- Remote admin: Also fixed a bug where you could start multiple shutdowns or restarts in any combination.
- Remote admin: Added a delay and logging for admin tool auth failures.
NOTE: Currently on Sandboxes, then to Oceans and Straits for testing with official rollout scheduled for Feb. 27, 2018!