0.7.1 Release

=Release Notes=

This is a major release, the first one supporting Viewer 2's new features -- media on a prim and meshes.

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. If you are upgrading from 0.7, please read the 0.7.0.1 Release and 0.7.0.2 Release notes.

Backwards Compatibility Notices

 * Due to a libomv bug fix, teleports in this release are incompatible with earlier OpenSim releases. This affects primarily Hypergrid teleports, since simulators within the same grid tend to be all in the same version. But if grids have a mix of simulator versions in them, TPs will fail between 0.7.1 and earlier releases.

Archives Changes/Additions

 * Added -v|verbose option to save iar
 * Removed the restriction of having to be logged in when loading/saving iars
 * Allow OARs and IARs to save and load meshes
 * Added the option of preserving creator information upon creating archives (OARs and IARs). This is done with a new -p|profile= option present in save iar/oar.

Scripting Changes/Additions

 * OSSL function names normalization. See OSSL Implemented
 * Added: osUnixTimeToTimestamp, osTeleportOwner, osSetProjectionParam, osSetProjectionParam
 * Add PARCEL_DETAILS_ID to LSL

Hypergrid Changes/Additions

 * Normalized Hypergrid addresses to always use standard URLs. So, for example: http://foo.com/hg/service.php is now a valid HG address. This allows for web-compliant implementations of the Hypergrid services.
 * link-region command syntax change: link-region x y URL [region name]. Example: link-region 9000 9000 http://hg.osgrid.org:80
 * Creator info is now preserved upon HG asset transfers. Complete creator info now shown for the corresponding objects via the viewer as first.last @ domain
 * Support for running the HG services behind proxies (XFF header processing)
 * Added an option for grid operators to prevent their grid's assets to be transferred to other grids even if the objects are copyable, while allowing foreign visitors to come in. See configuration changes.

DB migrations

 * regions: increased size of region name
 * inventoryitems: increased size of creatorID
 * prims, primitems: increased size of CreatorID
 * Avatars: Value field from VARCHAR(255) to TEXT
 * Presence: added LastSeen field

General Changes/Additions

 * Support for meshes and initial support for mesh physics.
 * New console commands: show pending-objects, show circuits, show http-handlers, show caps, land clear, land show, show throttles, region restart [options]
 * Object serialization completely rewritten: moved away from automatic .NET serialization. For now the external representation is exactly the same as before, so everything is backwards compatible.
 * Updated ODE to 11.1
 * Added ability for GetTexture to serve multiple image formats, not just jp2k
 * Improved ban checks on TPs and crossings
 * Refactored the Freeswitch services so that they conform to the robust style. See Freeswitch
 * Added a bare bones shared and non-shared region modules that serve as examples
 * RemoteAdmin service can now bind to a private ip address
 * Add support for cross-domain (CORS) AJAX requests to REST console.
 * Fixed Flotsam groups
 * Removed support for obsolete Sirikata client stack
 * Added viewer's ip address, channel, mac, and id0 to agent circuit data, so that proxies can intervene on logins and HG TPs.
 * Changed to using a managed code SQLite library, CSharpSqlite. This makes SQlite work again across the board.
 * Refactored simulator data service and estate data service. See configuration changes.

Configuration Changes from 0.7.x

 * Simulator main configuration file (OpenSim.ini) has been split between two files: OpenSimDefaults.ini and OpenSim.ini[.example]. The former contains expert/less used configuration variables; the latter contains the configuration variables that most users should know about and change. Do not change variables in OpenSimDefaults.ini; instead, if/when you want to change their values, do it in your own OpenSim.ini by overriding the values.
 * New configuration sections: [SimulationDataStore] and [EstateDataStore]. These are system configs in non-writable .ini's. Users can set the connection strings for them in [DatabaseService] section. See .example.
 * New configuration variable in the simulator's [HGInventoryAccessModule] section: OutboundPermissions, which controls whether sim operators want to allow visitors to take assets into their grids. If set to False, so assets are sent outbound, even if the objects are copyable.
 * New configuration variable in the simulator's [GridService] section: NetworkConnector, so that it can take both robust and simian connectors. Affects grids only, not standalones
 * Removed obsolete configuration variables: PrimTerseUpdatesPerPacket, AvatarTerseUpdatesPerPacket, PrimFullUpdatesPerPacket. Added new one: PrimUpdatesPerCallback
 * New configuration variables in [Startup] section: DecodedSculptMapPath, UseMeshiesPhysicsMesh
 * (HG) New preferred syntax for service URLs in [LoginService] section: SRV_ . Old way still works, but it's obsolete. Please see .example's.

Bug fixes

 * Fixed bug where "My estate" name was always used even if the user entered a different name on initial setup
 * Added estate name to show regions console command
 * Fixed negative dripAmount in TokenBucket which caused random login failures when scene_throttle is set (mantis #5365)
 * Improved handling of X-Forwarded-For (XFF) header
 * Improved output of show neighbours
 * Fixed leak in caps handlers deregistration
 * Fixed llSetTexture
 * Send object date to viewer in microsecs (mantis #3990)
 * Make UUID 3a367d1c-bef1-6d43-7595-e88c1e3aadb3 reference a full alpha texture.
 * Change UpdateAgent (for changes in agent position) to be sent once to each simulator rather than once to each region. This should help with some of the delays caused by multiple outstanding requests to a single service point.
 * Change SimianGroupsServicesConnectorModule.GetAgentGroupMembership so that it returns null if the user isn't a member of the group.
 * If a non-globbed included file from config cannot be found then warn the user
 * Display supported file extensions/formats in "terrain load help" (Mantis #5349)
 * Added loading and saving of terrain files using Terragen format (Mantis #1564)
 * Check estate bans for walking crossings
 * Fixed prim count display in cut regions.
 * Implemented SendPLacesReply
 * Fix OAR parcel loading so that old parcels are replaced by the new instead of merged.
 * Show local IDs in "land show" output.
 * Make "show info" and "show version" show the same version text
 * Force objectId to UUID.Zero for non-overridden animations in AvatarAnimation packet
 * Prevent activation and deactivation of gestures from clobbering the slam bits
 * Change gesture activation to not quash any other flags
 * Fix slam bits being lost when editing perms in prim inventory
 * Fix direct item give permissions
 * Deal with possibly un-initialized scripts in object transfers (mantis #5310)
 * Fix HG map tiles on map search
 * Bring back remote HG regions' map tiles
 * Fixed changing clothes moves avatar to various locations in the region (mantis #5198)
 * Fix prim inventory lock down
 * Fixed bug in Http server (mantis #5128)
 * Fix notecards that end with an embedded object causing an exception
 * Revamp the viewer -> banlist packet processing so fix a number of bugs. Remove the too coarse CanEditParcel method in favor of a CanEditParcelProperties method that takes a GroupPowers argument to specify what action is to be taken. Also, make the method to set parcel data much more granular. Permissions in a deeded setting should now work.
 * Fixed avie stuck in PREJUMP animation
 * Trigger event with flag CHANGED_LINK when agent sits on objects that have not a sit target defined (mantis #4692)
 * Fixed budge movements
 * Fix the minimap sitting avatar location bug
 * Improved appearance representation and handling on TPs and crossings
 * Only force prim persistence before delete if the prim is the result of an unpersisted delink. This considerably improves delete performance for objects with large linksets
 * Stop LLUDPServer sending updates after object deletes by always queueing deletes
 * Amend GetLinkPrimitiveParams with implementations for PRIM_TEXGEN, PRIM_BUMP_SHINY, PRIM_FULLBRIGHT, and PRIM_GLOW
 * llUnsit position fix (mantis #4063)
 * Trigger changed events CHANGED_TELEPORT, CHANGED_SCALE, CHANGED_SHAPE, CHANGED_REGION_RESTART, CHANGED_REGION
 * Fix handling of landmarks for systems with culture settings other than en_US (mantis #5177)
 * Allow use of parameters without specifying a file path with command "save oar"
 * Fix joining land parcels not being stored correctly in SQLite (mantis #5230)
 * Only perform the take object permissions check if an object is being attached directly from the scene, not from existing inventory
 * Fix global region coordinates that are delivered by llRequestSimulatorData.
 * Fix gesture and viewer preview sounds not playing
 * Fix playing sound from HUDs
 * Fix attached sounds from HUDs erroneously being delivered to other avatars
 * Do not include hyperlinks in a random region search during a login
 * Fix: Write asset data into Asset.db when using SQLite
 * Add lsClearWindlightScene to the lightshare module to remove WL settings from a region and allow normal day cycles to be reestablished
 * Fixed wrong physical actor size
 * osSetDynamicTextureURL crashed region server (mantis #5165)
 * Prevent nullrefs in scene object deletion (mantis #5156)
 * Added PRIM_NAME, PRIM_DESC and PRIM_ROT_LOCAL
 * Fix llParcelMediaCommandList so that it applies commands only to the parcel that the script is in, not all parcels
 * Fixed a delay in llSetLinkPrimitiveParamsFast
 * Alphabetize results on region search by prefix matching
 * Fix autoreturn to not return zero objects
 * Upgraded Mono.Addins.dll to 0.5. This fixes a problem with region modules and mono 2.6.x+
 * Fixed CPU pinned high with HGAssetBroker (mantis #5057)
 * Improved CalculateMass
 * Prevent dropping someone else's attachments
 * Several fixes in SimianGrid connectors
 * Restrict top colliders / top scripts to estate managers
 * Prevent setting arbitrary groups on your objects
 * If you can't edit a prim's inventory, you don't need to see the asset ids. Prevents stealing IDs of animations, sounds and textures from prim inventories.
 * Restrict inventory items added in a transaction to folder belonging to the connected client.
 * Added delay for llSetPrimitiveParams and llSetLinkPrimitiveParams functions per the LSL wiki
 * Improve the explanative text of migration failures
 * Add LandServices to make landmarks work right in grids
 * Fixed length calculations for HTTP texture downloads (the end byte is inclusive in Range: headers)