27 November 2017
verifycommand has been adjusted to report errors whenever a repository is not available.
26 November 2017
list. Instead, the entire list of notifications will be returned when no
tagskeys are sent along with the command - ticket #47
HTTPCommandTimeoutthat limits the amount of time that Corrade will allow a command to run when sending the command via the Corrade built-in HTTP server (the default is set to 5 minutes and configurable via the Configurator->Limits tab).
cyclehas been introduced that will make Corrade disconnect from the grid and re-log to the next location defined in the
StartLocationCorrade configuration - ticket #11
nostripfeatures for the
detachRLV behaviour have now been implemented.
detachRLV behaviour has been addressed thereby fixing issues with attachment removals: by attachment slot and entirely through
getstatusallRLV behaviour has been properly implemented instead of just being an alias.
redirchathas been implemented and applied to the
tellcommand for local chat.
1 September 2017
getblacklistcommand, both via IM and via LSL scripts.
setgroupcommand to properly unset the current group in case the group is not specified.
acceptpermissionRLV behaviour and the addition of the
declinepermissionRLV behaviour - Corrade now no longer forwards script questions to scripts when RLV is enabled and the
TakeControlspermissions are requested.
accepttpRLV behaviour has now been implemented to conform to v1.16 of the RLV specification (addresses #44).
4 August 2017
29 June 2017
16 June 2017
weightedload balancer that distributes the command to a single Corrade instance computed using a configurable weighted algorithm and an
unisonbalancer that attempts to make all Corrade instances execute the same command. For more information please see the Horde documentation.
multiple simulator connectionsoption has been removed hopefully to address memory issues.
uploadcommands has been resolved.
WorkerOccupationas a ratio between the number of currently occupied group workers versus the free group workers.
08 June 2017
notifycommand: Corrade will now properly only remove notifications by the supplied tag.
cachecommand in order to take a CSV list of entities for the
purgeaction - you can now specify which caches should be purged.
27 May 2017
wearcommand impacting stability (thanks chakkichakki).
crossingnotification now properly reports new simulator (thanks DJ Phydeaux).
importxmlcommand now takes an optional
setparceldatacommand now no-longer checks permissions.
terraformwill automatically attempt to switch to the land group in order to perform the requested operation.
monoparameter for the
uploadcommand when creating a script
uploadcommand returns script compilation errors as a sub-CSV following an
uploadcommand now properly marks uploaded asset type folder as needing an update.
uploadcommand can now be used to additionally update existing inventory assets such as notecards and scripts.
updatescripthave been added that are able to update notecard, respectively script contents in Corrade's inventory as well as update notecards, respectively scripts inside primitive inventories of in-world objects.
getteleportlurescommand (thanks DJ Phydeaux).
getinventoryofferscommand (thanks DJ Phydeaux).
terraformcommand now optionally takes
altitudedescribing the altitude at which the brush acts (default is 0) and the
amountparameter is now optional (default is 1).
parceljoinhave been added that will allow joining and dividing parcels (thanks anonymous).
databasecommand now properly returns empty values.
createnotecardcommand now allows embedding items into notecards via the new optional
permissionsparameter when creating a notecard with the
createlandmarkcommand that allows Corrade to create a landmark at the current location (thanks DJ Phydeaux).
getassetdatacommands that allow querying asset data.
uploadcommand now takes a Corrade permission string instead of a list of permissions.
updatescriptcommand. Added the ability to reset a script via the
resetparameter (default True) when creating or updating a script.
createprimitivecommand to allow setting the name, description and permissions of the newly created primitive. Furthermore, the command now returns the UUID of the newly created primitive for easily reusing with other commands.
Script-Kiddiemodule has been finalized.
1 May 2017
unwearcommand has been changed to accept unwearing items by slot and UUID (thanks chakkichakki).
databasecommand has been changed to support prepared statements.
batchavatarnametokeyhave been added.
20 April 2017
directorysearchcommand for better performance and consistency.
8 April 2017
compilescripthas been added that will make Corrade attempt to compile an user-supplied string and return any potential error message or success in case the script could be compiled successfully. This command would allow you, for instance, to couple or favorite IDE to Corrade and use Corrade as a lexer to check the supplied LSL syntax by attempting to compile the script.
getestateinfodatahas been added that will return requested estate info information.
scriptresethas been added that will make Corrade reset scripts inside a primitive - individually, or all the scripts in the primitive by using the
19 March 2017
verifycommand that allows groups to check whether the Corrade files match the files from a Stitch repository of their choice. The command returns the number of files that match and the number of files that do not match.
batchgetprofiledatahas been added that allows groups to query profile data for a given set of avatars.
getprofilesdatahas been added that retrieves profile data for avatars on a specified region or on all connected regions.
12 March 2017
getaccounttransactionsdatacommand has been cleaned and checked to properly retrieve the account transactions.
getaccounthistorydatahas been added that gets an account history on the Second Life grid.
4 March 2017
teleportcommand has been fixed to address the issue of the look-at vector not being taken into consideration.
setprimitivetexturedatacommand that would not allow Corrade to set a texture on all faces when
allwas being passed to the
getparcellistcommand has been extended to allow fetching very large list of banned residents (thanks FireEyes).
teleportcommand should now properly return the failure message in case of a teleport failure.
turncommand now takes
radiansas parameter instead of
25 February 2017
setparcellistcommand. Additionally, Corrade benefits from a
batchsetparcellistcommand that will allow you to batch-load avatars on a parcel ban or allow list.
batchsetinventorydatacommand (for Jym).
getremoteparcelinfodatanow uses the current simulator by default.
getparcelobjectresourcedetaildataand the plural form
getparcelobjectsresourcedetaildatacommands that are able to query a parcel for resource usage and to retrieve a list of primitives.
getparcellistcommand now properly returns a sane message if it fails to retrieve the parcel list.
datakey of any installed callback.
5 February 2017
turncommand has been updated to properly process degrees (thank you Luci).
24 January 2017
bootstrapmodules. Please see the Nucleus section on further details on Nucleus.
getaccounttransactiondatacommand has been amended to use the new Linden URL for retrieving account transaction data (thanks Jamal).
windowhave been added to the
executecommand allowing the user to specify whether Corrade should execute the command as a shell command (defaults to
Falsefor being able to run shell commands whilst Corrade is a service) and whether Corrade should create a window for the process (defaults to
False, for the same reasons).
nucleuscommand has been added that allows starting, stopping and generally, manipulating Nucleus.
netshcommands. However, the
netshcommand still has to be issued for binding SSL certificates.
4 January 2017
copynotecardassethas been added that allows requesting a copy of items embedded in notecards to be stored to the inventory.
attachallRLV behavior has been implemented with
3 January 2017
createnotecardcommand has been changed to accept reading text from either a file or directly by passing the
textparameter - this change may break scripts relying on the
createnotecardcommand and the scripts should be updated to pass
textin order to preserve compatibility (thanks chakkichakki).
30 December 2016
replytoinventoryoffercommand has been fixed (thanks Jonas).
18 December 2016
notifycommand has been adjusted to properly overwrite previous URLs when
actionis set to
setas per the API.
10 December 2016
deflatecompressed data via the proper content encoding, b.) the client accepts
deflatevia the proper accept content header. This could potentially mean less bandwidth usage when having to post or receive large data slices from Corrade.
10 December 2016
Corrade.exe install. For more documentation, please see the relevant pages on installing Corrade as a service.
infohas been added that will display various information about Corrade.
1 December 2016
tellon negative channels and fix for
terraformwith negative amounts (thanks Lucy).
tellon negative channels when the entity is set to
localis now possible.
amountparameter with the
terraformcommand is now possible.
31 November 2016
27 November 2016
Corrade.ini.default- this file should be loaded with the Configurator and then saved to
Corrade.inifor updates. Configurator now loads the defaults from
Corrade.ini.defaultsand prompts to load the defaults in case no
Corrade.inicould be found. This change is necessary in order to simplify upgrade procedures that do not require updating the Corrade configuration.
Corrade.iniwhen saving a configuration.
26 November 2016
downloadcommand under mono (thanks Cale).
20 November 2016
getprimitivescommand has been reverted to the old behaviour meaning that scanning will take more time but will produce more consistent results.
9 November 2016
teleportand all the
reply-family of commands. The dialog interaction system has been revamped in order to reply to dialogs by UUID rather than having to specify a large list of parameters. The
reply-family of commands has been updated to add options such as
purgethat will allow ignoring or flushing the entire tracked status.
teleporthas been updated to allow teleporting to global coordinates, to a region, position and lookat (the old behaviour) as well as to landmarks by UUID.
reply-family of commands have been optimized for speed using O(1) searches instead of O(n).
teleportcommand has been changed in order to allow Corrade to teleport to global coordinates, region name, position and look at (the current style) as well as landmarks by UUID or path. For compatibility, existing scripts should add
regionto the list of parameters sent to Corrade.
replytoteleportlurecommand has been updated in order to allow
actionto be set to
ignorein order to ignore the teleport lure request or
purgein order to purge all existing tracked teleport lures.
replytoscriptpermissionrequestnow also allows
actionto be set to
purgein order to ignore a script permission request, respectively purge the entire list of tracked script permission requests. The command now explicitly requires setting
replyin order to answer to script permission requests such that existing scripts should be updated to include
replyin order to be compatible with this release.
idkey from the notification data) and will now require only the UUID and button name or button index in order to successfully reply to a dialog. The
replytoscriptdialognow explicitly requires setting
replyin order to answer to dialogs and either
indexcan be supplied (note that if both are supplied, then Corrade will check if the button label matches the index). Furthermore, the
replytoscriptdialogcommand now allows setting
purgein order to ignore a dialog, respectively to purge all pending tracked dialogs.
replytoinventoryoffercommand has been updated in order to allow setting
purgein order to ignore, respectively purge all pending tracked inventory offers. Note that by
ignoringan inventory offer (or by purging all inventory offers), Corrade will simply remove the offer from its tracked offers without either accepting nor declining the inventory offer.
replytogroupinvitecommand has been updated in order to allow setting
purgein order to ignore, respectively purge all pending tracked group invites.
5 November 2016
30 October 2016
lsnow returns the inventory items in descending order by their time stamp.
22 October 2016
batchejectcommands now take an additional parameter
trueby default) that can be set to
Falsein order to prevent Corrade ejecting members that are part of any other roles other than the
Everyonerole. This is in response to the CapserLet issue ID 0001568 ( https://bugs.casperdns.com/view.php?id=1568 ) and should allow Caspertech to implement ejections that are compatible with other scripted agents. In case an agent is part of roles other than the
demotehas not been set to
True, then Corrade will throw an error indicating that the eject needs a demote.
nonefunctionality have been added to the Groups section of the Configurator in order to conveniently allow toggling all or no permissions and notifications.
inventorynotifications that can be used to track inventory additions, updates and removals have been branched out of the
inventorynotification and are now in a different self-standing notification called
store. This is to prevent a lot of information being sent through the
detachallhas been added to Corrade's RLV subsytem.
18 October 2016
setprofiledatacommands (thanks Jym).
getobjectsdatacommands when sent with
parcelhave been fixed to only return primitives in that parcel (thanks Duck).
Limitssection of the configurator (thanks Ghost).
16 October 2016
loginhas been added that allows Corrade to report on the log-in progress as well as send a message when it logs out of the grid.
inventorynotification has been extended to report additional inventory-store events such as when an item was: added, removed and updated. This addition to the
inventorynotification will also take into account events where items are added to the inventory during an asset upload.
9 October 2016
9 October 2016
7 October 2016
addconfigurationgroupcommand that allows adding groups to Corrade's configuration dynamically.
removeconfigurationgroupcommand that allows removing groups from Corrade's configuration.
7 October 2016
deleteitemcommand has been renamed to
removeitemhas been introduced that deletes an inventory item or folder by path or UUID (thanks Duck).
heartbeathas been added that sends various data, such as RAM or CPU usage, about Corrade as the bot is running (thanks Duck).
getheartbeatdatahas been added that allows groups with
groomingCorrade permission to query Corrade's heartbeat data.
searchinventorycommand now takes folders into account (thanks Jym) and additionally will be able to search both the inventory root folder as well as the library folder for items or folders. Furthermore the
searchinventorycommand now returns a CSV string of item asset type by item name by item UUID (instead of the asset UUID).
createnotecardcommand now returns the newly created notecard's asset UUID and inventory UUID (thanks Duck).
inventorynotification has been altered to pass the item name and item UUID whenever Corrade sends, receives or is offered an item.
6 October 2016
folderparameter, can now find an inventory item by UUID (since UUIDs are unique) or by path (rather than inventory item name as it was previously). This change is meant to get rid of the ambiguity when trying to locate inventory items that may have the same name. The affected commands are:
inventorynotification for reliability when receiving or sending items.
teleporthas been added that can send data to a bound URL about the teleport progress whilst Corrade is in transit.
26 September 2016
24 September 2016
24 September 2016
getavatarpickscommand that can retrieve all the picks for an avatar as a CSV string of pick UUID to pick name.
getavatarclassifiedscommand that can retrieve all the picks for an avatar as a CSV string of classified UUID to classified name.
getavatarpickdatacommand that can query a profile pick given an avatar UUID and a pick UUID (for instance, retrieved previously with the
getavatarclassifieddatacommand that can query a profile classified given an avatar UUID and a classified UUID (for instance, retrieved previously with the
24 September 2016
Corrade.iniusing the bundled Configurator tool and then overwrite the old file such that the settings are updated.
:separator and the cyphertext. The data will have to be decrypted by extracting the IV from the salt using RFC289 derivation and then decyphering the next segment after the
:which represents the cyphertext.
23 September 2016
bayescommand. Furthermore, the Bayes filter has been integrated with the notification system such that any sent notification can be configured to return the most probable match for the returned notification string - for instance, the
groupnotification will now attempt a Bayesian classification for each message sent to the group. One good application for the Bayesian filter is to harvest group message spam and then use follow-up commands to eject or ban users depending on whether the probability threshold is high enough (similar to how E-Mail Bayesian filters work). However, Corrade allows groups direct access and manipulation of their Bayesian filter such that any other application that requires a probabilistic categorization of text could use this feature. The group filters are saved and loaded when Corrade terminates or starts and they are placed under the new
Bayesfolder as a file for each managed group.
givecommand now allows sending inventory folders (thanks Jym).
22 September 2016
setinventorydatacommand has been added that will allow Corrade to set various data on inventory items (thanks Jym).
22 September 2016
downloadcommand is now capable of downloading sounds in
mp3formats for increased compatibility with HTML5.
uploadcommand has been fixed in order to accept uploading images in formats other than JPEG2000.
uploadcommand can now properly upload sounds.
18 September 2016
teleportcommands now accept a region UUID to be passed to the
regionparameter of the commands.
getinventorydatacommand can now be used to query data that is specific to the inventory item type found.
inventorycommand now returns an additional parameter
timein an LSL-compatible date-time format that represents the last time the item was updated (created or modified). For folders, the
inventorycommand will return a value passed to the
timeparameter that corresponds to the update time of the most recent item.
wasSharpNETproject dependency to the
17 September 2016
databasecommand (thanks Nitro and Cameron).
13 September 2016
listcommandscommand has been addressed that made the command fail (thanks Jym).
getremoteparcelinfodatahas been added that allows the user to query the
ParcelInfostructure of a parcel on a remote region. Contrasted to the
getremoteparelinfodatatakes as parameter a vector passed to the
positionparameter whose X and Y components represent a global (grid) position. The command could, for instance, be used to retrieve the simulator name of a remote region if the global position of that region is known.
inventorycommand that should not affect its functionality.
11 September 2016
changeprimitivelinkcommand such that it will not timeout when attempting to link primitives that are already linked. Added the optional parameter
restructurethat takes care to unlink all the supplied primitives to the command and then re-link them into an object if requested.
deactivatehas been added as the converse of the
activatecommand that will make Corrade set the group to
noneand thereby clear any tags (thank you Dj Phydeaux).
renameitemthat is able to rename an inventory item (thanks Jym).
inventorycommand has been changed to allow naming target items when performing the
lnactions (thanks Jym).
6 September 2016
4 September 2016
netshcommand in Windows as an administrator in order to allow Corrade to listen on its prefix.
user. You can now configure a Corrade horde to synchronize the same group configuration.
shoothas been added that makes Corrade turn towards a specified position, enter mouselook, press the left mouse button and then exit mouselook.
preloadfor sound-preloads has been added. Furthermore, Corrade respects the hint to preload sounds and automatically downloads them to the asset cache. This is fully integrated with the Corrade horde, such that the asset will be distributed across any configured horde peers using the
cache/Regions.cachethat will contain grid information for the various regions that Corrade travels to. Corrade soft-resolves a region handle and then proceeds with a follow-up check in the background to make sure that the cached region is not stale.
3 September 2016
animationnotification. Please consult the progressive upgrade instructions for Corrade 9.119 in order to find out how existing scripts will have to be altered.
animationnotifications. The upgrade will require scripts to be changed and the new
templatesfolder to be copied over.
wasSharplibrary has been forked into the portable component and the
wasSharpNETnon-portable library that contains code that is not portable.
wasOpenMetaverselibrary for general structures and Corrade for instance-specific constructs.
21 August 2016
Hordethat allows selecting soft-ban synchronization for each individual peer.
batchinvitecommand now check whether an agent has been banned before inviting and requires the group permission to manage the group ban list. Furthermore the
batchinvitecommand now also checks for soft-bans and offers the ability to soft-unban invited agents via a new optional parameter
invitecommand has been fixed to use the
targetgroup instead of the command group. Similar to
invitecommand now also checks for soft-banned avatars and offers the new optional
softparameter to unban the avatar before inviting them to the group.
21 August 2016
softbancommand such that avatars can be soft-banned from a group and then automatically ejected in case they re-join the group. The list of soft-bans is stored locally on the filesystem and is independent of the group ban list (manageable with the
bancommand has been overhauled and now performs an extra check to see whether adding the new set of bans would overstep the Second Life group ban list length (500 avatars).
bancommand benefits from a new parameter
softthat can be set to
Truein order to additionally add the ban to Corrade's soft-ban list.
membershipnotification has been enhanced and solved in a better manner than previously, hopefully leading to better overall performance.
replytoscriptdialoghas been changed in order to make the
indexparameter optional. In case the
indexparameter is not specified, then Corrade will attempt to locate the button index and use it (thanks Luci).
20 August 2016
mutecommand has been changed in order to distinguish between muting agents, groups and objects. The
mutecommand now requires the
typeparameter to be specified.
mutecommands has been addressed such that empty mute lists are returned much faster instead of timing out.
20 August 2016
Namehas been added to the horde configuration in order to refer to peers by name instead of HTTP URL.
14 August 2016
12 August 2016
libsand manifest files) and then load your old configuration in the Configurator because the framework has changed a lot since the previous release.
group, etc...) with horde peers. Furthermore, Corrade now requires an additional shared-secret to be established individually between your Corrade instance and the other Corrade bots in the horde in order for synchronization to work.
muteasset, that mute will propagate to all other Corrade bots in the horde accepting
cache/directory (such as
Group.cache, etc...) are no longer compatible. However, upon upgrading, Corrade will truncate the files and start recreating the caches again.
11 August 2016
10 August 2016
conferencenotification has been added that allows Corrade to send conference messages through the notification system.
logs/conferencedirectory named after the name of the conference.
logscommand has been updated in order to allow processing of conference messages.
conferenceentity has been added to the
tellcommand in order to allow Corrade to send messages to conferences.
conferencehas been added that allows Corrade to create a new conference, list the members of a conference and list the conferences that Corrade is part of. Corrade is now able to manage conferences as well as restore previous conferences in case Corrade disconnected from the grid.
getconferencemembersdataallow querying the
ChatSessionMemberclass in order to retrieve data about participants in a conference.
downloadcommand now checks that an inventory item has been found in case a script or notecard has been requested for download.
logs/conferencedirectory and enable it in the configurator in case you are upgrading.
9 August 2016
playgesturecommand has been addressed such that Corrade now properly plays gestures when items are specified either by name or asset UUID (thanks Dj Phydeaux).
6 August 2016
membershipnotification has been revised and the algorithms have been optimized.
feedcommand now properly only requires an URL when the action is set to
nameand URL when the action is set to
aicommand now checks that SIML has been enabled before processing messages.
30 July 2016
29 July 2016
20 July 2016
playsoundcommand has been fixed in order to properly play sounds (thanks Jaroslaw). Furthermore, the command now takes an additional parameter
regionthat can trigger the sound on any connected region. The parameter
playsoundcommand can now either be a name, in which case the item is searched in Corrade's inventory, or an asset UUID in which case Corrade trusts that it is the asset UUID of a sound on the grid and plays the sound.
soundhas been added that makes Corrade pass data on the sounds that it hears on all connected regions.
regionhas been added to the command
getregionterrainheightsthat allows the command to act on any neighboring region.
regionhas been added to the command
getregionterraintexturesthat allows the command to act on any neighboring region.
13 July 2016
importxmlhas been added that can import XML files or ZIP files previously exported using the
exportxmlcommand. Please see the documentation page for the
importxmlcommand for further details on how to import items.
uploadcommand has been altered in order to return the inventory item UUID and the asset UUID of the uploaded item as a CSV list (thanks Ray). This should allow you to perform an action directly once an item has been uploaded without needing to search the inventory for the item beforehand.
10 July 2016
downloadcommand (thanks Ray).
downloadcommands. Please make sure you read the documentation on the API page for the
downloadcommands when you design your application and need an exotic file format that is platform dependent.
9 July 2016
getgridlivedatafeeddatahas been introduced that allows querying Second Life live feed data which includes grid statistics as well as LindeX data (Linden exchange).
8 July 2016
7 July 2016
4 July 2016
3 July 2016
getavatargroupsdatacommand as the plural form of
getavatargroupdatathat will be able to query AvatarGroup data for all groups that an agent is a member of (thanks Ghost).
3 July 2016
3 July 2016
setestatecovenantcommand, as the counterpart to the older
getestatecovenant, that is able to change the covenant of the current estate. It is now possible to batch-change estate covenants using Corrade and LSL scripts. :-)
29 June 2016
25 June 2016
divorcethat will allow Corrade to send partnership requests to other avatars as well as dissolve partnerships.
20 June 2016
invitecommand now invites people to groups by default regardless whether they are in the group or not. The
forceparameter from the previous release has been changed to
verifysuch that scripts must send a verification request in order for Corrade to perform the extra check whether an agent is in the group or not. This change is necessary to make Corrade compliant with the default Second Life behavior that does not perform any extra checks on sending group invites.
modifyeventcommands have been enhanced in order to santize input before sending the form to Second Life. Furthermore, the commands will return error messages from the online form in case of failure.
19 June 2016
invitecommand now takes an additional parameter
forcethat, when set to
Truewill forcibly invite an avatar to a group regardless if they are already inside the group.
Basicexperience level where only the essential Corrade settings are shown. The other experience levels unlock more and more features.
Load Defaultsthat loads a default configuration - similarly, the Configurator now loads the default configuration even if there is no
Corrade.iniin the same directory.
homeare still compatible.
18 June 2016
getaccounttransactionsdatacommand has been changed to not restrict Corrade to be on the same grid. Corrade can then be on a different grid (such as OpenSim-based grids) but still query the transaction data from a Second Life account.Furthermore, Corrade only assumes that the calling account is the account Corrade connects on in case both
lastnamehave not been specified.
modifyeventhave been added that allows users to create events in Second Life using scripts (this feature is specific to SecondLife and will not work on other grids). The
geteventformdatacommand can be used to query data on the event submission form - for instance, to determine what locations are available for hosting an event. The
addeventcommand, given user-supplied parameters will schedule the Second Life event and return an event ID. The event ID can then be used by the
deleteeventcommand in order to delete the event. Lastly, the
modifyeventcommand will allow you to edit an event by ID and change all the parameters. For further information, please see the respective API pages of the newly introduced commands.
17 June 2016
getaccounttransactionsdatahas been added that allows querying the Linden Lab website for account transactions. Although, the command is called by authenticating via a group and password as per all the Corrade commands, the
getaccounttransactionsdatacommand allows querying the transactions for any account given a
secret(the password). Note that this command will reveal your account data to the person hosting the Corrade bot. Naturally, this command requires Corrade to be connected to the Second Life grid and can only query Second Life transactions.
actionwith possible value set to
ignorehas been added to the
replytoscriptdialogcommand that makes it possible to ignore and remove a dialog from Corrade's stack of dialogs. The addition does not change the behavior of the
replytoscriptdialogcommand , which is by default to reply to the dialog.
11 June 2016
changeappearancecommand), primitive and object finding improvements (both in speed and the number of items returned) and minor changes and additions to command - note that the current release may affect already existing scripts so please revise before upgrade.
Corradesince the Syn Studio expects the folder containing SIML files to be named the same as the project (thanks Sidius).
changeappearancefor which the number of failures in finding the folder to equip has been drastically reduced (this also affects RLV-related commands).
objects(the former are link-set child nodes whilst the latter are entire objects).
getobjectsdatathat function the same way as
getprimitiesdatawith the exception that the new commands query objects instead of linked primitives - which may be more useful for command such as
sitthat usually need to interact with objects and not linked primitives.
9 June 2016
getgroupmembersdatahas been added as a plural of
getgroupmemberdataand will return data for an entire group member set (thanks FireEyes).
targetparameter for group-oriented commands.
8 June 2016
6 June 2016
groupnotifications - the rest can be achieved by using the
5 June 2016
languagecommand called with a
detectaction. The language recognition implementation reports the most likely language for notifications and a list of most likely languages for the
detectcommand using the ISO639_3 standard.
ownersaynow return an additional key
languageset to an ISO639_3 code representing the most likely language matching the message.
languagehas been added with a
detectaction that takes a
messageand returns a CSV list of most probable languages in ISO639_3 by their score.
5 June 2016
tellcommand to support typing event and others.
tellcommand has been extended to support dialog and message types such that you can now simulate start typing / stop typing when messaging agents. Furthermore, the command now allows sending a message as online-only - to be delivered only if the avatar is online. Additionally, the
tellcommand allows further message types such as requesting a lure, sending a busy message response, etc...
4 June 2016
getinvworncommand and fixed a deadlock and optimized the code in order to speed-up the
Browse #RLVfeature of OpenCollar and similar devices that list the
#RLVfolder (thanks MsLarah).
4 June 2016
getcommandcommands have been simplified along with Corrade's internal commands structures.
getgroupmemberdatanow required the
groupCorrade permission instead of
1 June 2016
1 June 2016
getgroupmemberdatacommand has been renamed to
getgroupmemberdatahas been added that queries a GroupMember structure.
ParcelFlagsproperty is now returned by Corrade using literal explicit values formatted using Corrade's RFC compliant CSV routines.
Permissionproperty now use the Corrade permission notation.
28 May 2016
27 May 2016
itemparameter for the
noticecommand is now optional (thanks Romeo).
21 May 2016
getcurrentgroupshas been added that allows retrieving the current groups that Corrade is part of as a CSV list of group name by UUID.
getcurrentgroupsdatahas been added that allows you to query OpenMetaverse group data for the current groups that Corrade is part of.
getgroupsdatahas been added that allows retrieving OpenMetaverse group data for a list of groups specified by name or UUID.
tellhave been been changed such that the commands now additionally take a
targetparameter that allows the command to act upon a group other than the configured group with which the command is invoked.
16 May 2016
14 May 2016
ERROR: the request has timed out.should now be resolved - the issue pertained to the
Reduce.aimlfile being ill formatted. If you are upgrading, please replace
AIMLBot/AIML/and remember to delete the current brain file at
AIMLBot/brain/AIMLBot.brainto let Corrade recreate the file. Alternatively, just overwrite the entire
AIMLBotdirectory with the one provided in the download.
13 May 2016
8 May 2016
feedscommand now additionally takes a required
nameparameter that can be a descriptive name for the feed that will be passed along with the notification. This should help distinguish between various feeds.
8 May 2016
feedcommand to subscribe to an RSS feed and then using the
notifycommand with the type set to
feed; Corrade will then poll every minute (configurable via the Configurator) for news and deliver them to the URL specified with the
4 May 2016
batchinvitecommand when roles were sent along with the command. Corrade now no longer requires the group power
Roles -> Assign Members to Any Role(thanks Sidius) in some cases and is able to distinguish whether a member is to be invited to the same role as Corrade (and whether that role has the group power
Roles -> Assign Members to Assigner Roles) or whether it does indeed need the group power
Roles -> Assign Members to Any Rolein case a role was specified that Corrade is not part of.
3 May 2016
returnprimitivescommands that were affected by a concurrency bug that yielded an erroneous message instead of the usual message when called with various parameters (thanks Sidius).
2 May 2016
getrolepowerscommand no longer requires the role property group permissions since any member can query group powers even if they are in the default “Everyone” role.
updategroupdatacommand has been renamed to
setgroupdataand now requires the “Group Identity -> Change Charter, Insignia and 'Show in Search'” group permission in order to modify
AllowPublish; the “Membership -> Toggle 'Open Enrollment' and change 'Signup Fee'” group permission in order to change
OpenEnrollmentand the “Parcel Identity -> Toggle 'Show in Find Places' and set category” group permission in order to change
ShowInList. All the other settings (such as “ListInProfile”) do not require this permission check.
updategroupdata) now can correctly set the
ListInProfileproperties (the old behaviour did not properly hide the group from the profile when required).
setrolepowershas been introduced that allows setting the powers of a specified
role(by UUID or by name). The command takes as parameter a CSV list of
GroupPowerspassed to the
powerskey and requires the “Roles -> Assign and Remove Abilities in Roles” group permission.
25 April 2016
notifycommand has been addressed (thanks Desdemona).
21 April 2016
configurationcommand was not introduced and it has been added so it is accessible now (thanks Jym).
databasecommand on some platforms.
downloadcommand was used with a
pathparameter - although the command worked, an erroneous message was posted to the callback as a response (thanks Jym).
getinvwornhas been reverted to a previous state due to some issues with the latest optimizations (thanks Suiseiseki).
17 April 2016
outfitnotification has been changed to properly display the attachment or wearable slots.
17 April 2016
17 April 2016
match) by sift data to the
siftparameter and Corrade will apply them in-order to any returned data. Note that his change will break scripts that rely on scripting. In order to maintain compatibility, in case you had a
sift, REGEX key-value pair sent to Corrade, you will now have to provide to Corrade:
match, REGEX ]). For more details please see the sifting tutorial on the Corrade project website.
15 April 2016
outfitnotification has been added that is raised whenever an attachment or wearable is attached or detached from Corrade.
14 April 2016
detachcommand now additionally takes a
typeparameter that lets you detach attachments by
13 April 2016
changeappearancecommand that would not work in case the specified folder had sub-folders.
detachcommands now also take a
deanimateparameter that makes Corrade stop all animations before attaching, respectively detaching an object.
folder) will now allow searching the inventory in order: by UUID, regular expression or string. This is performed by attempting to interpret the value passed to the
folder) key as an UUID and if that fails, the value is assumed a regular expression and if that fails, finally, the item is considered a string.
12 April 2016
atcommand to properly take into account UTC timezones as per the documentation.
addclassifiedcommands now properly set the texture for the pick, respectively classified (thanks Jym). Additionally,
addclassifiedwill now accept any UUID in case specified.
8 April 2016
animationnotification has been fixed and should not stall the bot on login (thanks Sidius).
5 April 2016
3 April 2016
avatarsnotifications have been slightly optimized.
Corrade.inihashed with SHA1 - you can also send SHA1 hashed passwords from scripts to Corrade when sending commands.
Corrade.inifrom the same folder in case the file exists which should rule out some issues with misconfigured instances.
1 April 2016
parcelbuycommand has been amended to include parcels that are sold to a specific avatar - notably Corrade.
getparcelinfodatacommand has been added that allows you to query the parcel info class.
27 March 2016
deanimatecode such that Corrade properly deanimates when the
deanimateparameter is supplied to supporting commands.
26 March 2016
sitnotification has been added that will allow you to determine when an avatar sits or unsits on, respectively from a primitive in the regions that Corrade is connected to (thanks Hintswen). The notification will send the keys
oldboth of which represent the UUID of the primitive that the avatar sat on, respectively the UUID of the object that the avatar sat from. Note that this means that both keys will not necessarily be passed simultaneously except in the situation where an avatar makes a sit transition from a primitive to a different primitive. Otherwise, in cases where an avatar just unsits from a primitive then only the
oldkey will be passed because there is no
newprimitive that the avatar is sitting on (because the avatar is standing).
animationnotification that allows tracking animation changes that Corrade experiences. For example, when sitting down on a primitive that triggers an animation, the
animationnotification will send the UUID of the animation and its sequence number.
deanimateparameter is involved.
24 March 2016
flytocommand contained an unbalanced thruster on the upward direction such that any request to land after a flying sequence would have made the bot to bounce instead. This situation has been addressed and now Corrade can properly land.
23 March 2016
turncommands now respect flight status.
22 March 2016
angleparameter of the
turncommand has been renamed to
each(in order) post-processing commands when dealing with commands that deal with data aside from
takepost-processing command takes from the
dataparameter a certain number of elements from the returned CSV.
skipwill skip a given number of elements.
eachproduces a stride from the returned CSV. The post-processing commands are applied in order:
20 March 2016
nudgecommand now correctly uses
NUDGEinstead of movement agent control flags.
turncommand with possible directions
rightthat takes an
angle(in degrees) and rotates Corrade to the left, respectively right by the amount of degrees.
12 March 2016
26 February 2016
databasecommand, semantic fixes to the
invitenotification (thanks Sidius) and major code refactoring.
databasecommand has been changed such that Corrade now uses SQLite3 and allows sending SQL commands directly from scripts. If you are upgrading from a previous release and have used the
databasecommand please be aware that the command has changed entirely. Perform a backup on your databases and delete them so Corrade can create SQLite databases instead.
invitenotification now properly returns the UUID of the agent sending the group invite as well as the
lastname. Separately, the
groupkey has its value set to the group UUID that Corrade has been invited to.
wasOpenMetaverselibrary - functions moved over from the main Corrade source.
21 February 2016
16 February 2016
libsdirectory in this release because there are some significant changes to the libraries that Corrade uses.
messagekey if there is no message to pass (thanks Sidius).
wasOpenMetaverseand rearranged and optimized the calls. There should be a minor performance improvement in both CPU and RAM consumption.
monounder those platforms and, in case you intent to run Corrade progressive under those platforms, please re-compile Corrade yourself such that the new code will be generated at compile-time.
28 December 2015
26 December 2015
deletiondue to the fact that a viewer can have multiple viewer effects active (please see the documentation on
setviewereffectfor more details).
16 December 2015
typingnotification to include local chat typing messages.
15 December 2015
6 December 2015
deanimatefeature was fixed for the commands:
1 December 2015
20 November 2015
19 November 2015
logscommand with which you can retrieve and search chat logs for: group messages, local messages, region messages and instant messages.
detachcommand closer to wearables where it makes sense.
8 November 2015
getwearablesshould now work properly and return valid data.
6 November 2015
4 November 2015
noticecommand (please check the API page for changes) and some performance enhancements.
noticecommand has been boosted in order to allow you to browse previous notices sent to a group by either Corrade or by agents with necessary permission. This change will break scripts slightly: if you want to update the scripts, please add the
actionparameter set to
sendin case your script was sending notices using the
noticecommand now takes a required parameter named
actionthat can be set to either
sendaction is meant for sending a notice. The
listaction is meant for listing previous notifications. With
declineyou can now accept, respectively decline, notice attachments. For further information, please see the API page for the
noticenotification that now displays more data.
sitno longer stop all non-Linden animations before executing. Instead, these commands now take an optional parameter
deanimatethat will stop all non-Linden animations before executing.
1 November 2015
30 October 2015
changeappearancecommand and outfits handling (all credits go to Bintang and chakkichakki for extensive testing).
changeappearancecommand now properly wears folders. The problem was traced to Corrade requesting the inventory through HTTP which seems fairly broken. Most of the functions have been overhauled and tested.
2500000and all the other throttles to
deanimateparameter to the
changeappearancecommand that will attempt to stop all non-built-in animations before equipping the new outfit.
28 October 2015
Corrade.iniand change the string
Configurationand the string
ENIGMAConfiguration- there should be two instances of each. After that Corrade should start up fine and the Configurator should be able to read
libsdirectory over the
libsdirectory of your Corrade install - there should be two new files added
22 October 2015
13 October 2015
paycommand now takes
descriptionas parameter for
avatarentities instead of
objectentity takes as parameter
name(usually the name of the object) instead of
getattachmentscommand output now returns a CSV list of attachment point, by attachment name by attachment UUID. The attachment UUID being the new addition to this command.
getprimitiveownerscommand now returns a flat CSV list of avatar name by avatar UUID by number of primitives. The UUID after the name being the new addition in this release.
replytoteleportlurenow check that the item to respond to is indeed managed by Corrade and additionally the item, if found, is removed.
10 October 2015 (please re-download this release, it was cursed and we needed a bunch of priests to exorcise it back to normality, it's almost Halloween, after all)
10 October 2015
sitcommand now can take an optional parameter called
offsetas an LSL vector that will make Corrade sit on the target with a given offset.
teleportcommand now takes a
turntooptional parameter as an LSL vector that will make Corrade turn and face a position after teleport.
setcameradatacommand to trigger an update once parameters have been set.
8 October 2015
7 October 2015
createtreecommands have been amended to allow the creation of grass, respectively trees when the land is group owned and Corrade has the necessary permissions.
terraformhas been added that allows Corrade to programmatically terraform land.
5 October 2015
getestatelistcommand now resolves UUIDs to names and passes back the name by UUID as a CSV in the
3 October 2015
3 October 2015
teleportcommand has been adjusted to return status
37559(destination too close) faster when attempting a teleport (before querying grid-regions). This should speed-up scripts waiting for the teleport result.
2 October 2015
flytocommand now saves the movement state after moving.
getregiontopcommand now correctly displays top colliders.
teleportcommand now takes a
flyparameter that will allow Corrade to fly once it reaches its destination. Additionally, the
teleportcommand now saves movement state.
1 October 2015
29 September 2015
replytoscriptpermissionrequestthat maps the permissions to Corrade permissions.
replytoscriptpermissionrequestcommand no longer requires only the Corrade
interactpermission. Instead, depending on the permission to be granted to the script, Corrade will first check that its own ACL takes precedence.
26 September 2015
26 September 2015
estateteleportusershomecommand that teleports avatars from the current estate home. The command takes an
avatarsparameter, as a CSV list of avatar UUIDs or avatar names and attempts to teleport them all home (granted estate manager rights) and returns a list of avatars that could not be teleported home. If no
avatarskey is provided, then all the avatars on the current estate will be teleported home.
getestatecovenantcommand that returns covenant info for the current estate. The data returned is, in order: the covenant UUID, the estate name, the UUID of the estate owner and the timestamp.
getregionterrainheightscommand that returns the estate heights as a CSV string of values, in order: Low SW, High SW, Low NW, High NW, Low SE, High SE, Low NE, High NE. Note that
setregionterrainheightshave compatible input and output.
setregionterrainheightscommand that sets the estate terrain heights given that the
datakey is set to a CSV of values, in order: Low SW, High SW, Low NW, High NW, Low SE, High SE, Low NE, High NE. Note that
setregionterrainheightshave compatible input and output.
setregioninfocommand that takes the parameters:
limit- representing the agent limit; if not specified then set to 40,
bonus- representing the object bonus; if not specified then set to 1 and
getregionterraintexturescommand that returns a CSV list of terrain textures as UUIDs, in order: low, middle low, middle high and high. This command is compatible with the
setregionterraintexturescommand that, given estate manager rights, sets the current region terrain textures. The command takes the textures as UUIDs supplied to the
datakey, representing, in order: low, middle low, middle high and high. This command is compatible with the
setregionterrainvariablesthat takes as parameters
waterheight- representing the maximal height of the water for the current region (default 20),
terrainraiselimit- that represents the maximal terrain raising limit (default 4),
terrainlowerlimit- that represents the maximal lowering limit (default -4),
usestatesunwhether to use the estate sun or not,
fixedsun- whether to use a fixed sun and
sunposition(ranging from 6 to 30) representing the current position of the sun.
24 September 2015
noticecommand for sending group notices now checks that Corrade has modify and copy permission to the attachment item to be sent. Additionally, the
noticecommand now allows a
permissionsparameter to be specified which makes Corrade change the permission on the item before sending the notice.
givecommand now optionally takes a
permissionsparameter and makes Corrade attempt to change the permissions on the item before sending it.
23 September 2015
20 September 2015
versionnewRLV commands - thanks MsLarah.
20 September 2015
deflatefor all sent POST requests to Corrade's internal web-server.
20 September 2015
state/Movement.statefile. This means that in case Corrade logs out whilst flying, upon the next log-in Corrade will not fall down like all ill-inspired viewers. We are waiting to see how fast Linden Lab and the chipmunks making viewers will plagiarize this one given that Oz Linden seems to be an avid reader of our crap (even though your plagiarised our key-value data stuff, you STILL implemented it poorly!).
setcameradatacommand that is able to set the camera data (requires
getcameradatacommand that is able to get the camera data (requires
getmovementdatacommand that is able to get movement data (requires
setmovementdatacommand that is able to set movement data (requires
17 September 2015
mastersends an item. This is perhaps needed in cases where a master offers an inventory item to Corrade and then uses a script to act upon that item.
16 September 2015
atcommand which can schedule commands to be executed in the future. The
atcommand takes as parameter a
timestamp (in LSL notation, in the UTC time zone), an action either
dataparameter set to a full Corrade command. Corrade then schedules this command in the future and executes the command when the time is due. Additionally, all scheduled commands are stored in the
statefolder and are read upon Corrade's restart such that schedules that are in the past will still be executed as soon as Corrade is online. The configurator allows you to limit the amount of scheduled commands per group and the scheduler feature is only enabled if there is at least one group having the
llGetTimestamp) for all commands executed representing the time that the command has already executed. This may be beneficial to the linearisation of Corrade commands.
14 September 2015
flytocommand that makes Corrade fly towards a
positionin a given time
durationgetting as close to the
positionas possible with a specified
affinityand finally turning flight mode on or off depending on whether
flyis set to
llOwnerSayis a private means of communication (thanks Elsa).
12 September 2015
10 September 2015
10 September 2015
monodoes not have support for it.
8 September 2015
6 September 2015
6 September 2015
6 September 2015
mutecommand not setting the
batchmutecommand that takes an array of
mutesas a CSV string of mute name by UUID and proceeds to add the mutes as a faster variation of calling the
mutecommand for all mutes to apply.
3 September 2015
3 September 2015
getmutescommand has been fixed and corrected to also display the mute flags and the mute types.
mutecommand has been fixed and extended to optionally take
flagsas the MuteFlags parameter.
2 September 2015
1 September 2015
This release adds a GUI configurator to Corrade that allows you to configure all Corrade's settings conveniently - as well as creating an MD5 hash when a password is typed in plaintext. On the other hand, the configuration
Corrade.ini now comes in a different, albeit similar, format. Nevertheless, the Corrade Configurator will be able to load old configuration files using the
Load Legacy... button and then save them to the new format using
Save.... This change in style comes from the need to standardize Corrade's configuration as well as provide an easy start without having too much knowledge of Corrade's internals.
Functionally, there are two new commands
getconfigurationdata that are able to set, respectively get Corrade settings using scripts. The interface to changing Corrade's settings no longer requires knowledge of XPATH and all operations are performed using the same semantics as the rest of Corrade's
30 August 2015
29 August 2015
29 August 2015
libsdirectory with the new libraries provided in the download; this release contains optional modifications to
bancommand that can now ban group members from a group. The
ejectwhich, when set to
Truewill act as a ban and an eject from the group. If
ejectis not set to
True, then Corrade will just ban the avatar. The
bancommand takes as action
listthat is able to show the avatars currently banned from joining the group.
pingcommand that is accessible to every configured group and will make Corrade answer with
Corrade.ini- these settings influence default timeouts for the HTTP server.
28 August 2015
state/Notifications.state) is being watched by Corrade for changes. It is now possible to change the notifications just by editing the notification state file and Corrade will load it automatically.
notifycommand has been changed slightly -> the
clearaction now clears all the installed URLs for a notification type and a new action
purgehas been added that flushes all the notifications for a given command group.
28 August 2015
notification not allowedwhen there are no group permissions for a notification instead of
one or more errors occurred.
26 August 2015
batchejectcommand that can be used to eject a list of avatars from a group which will be faster than using several
23 August 2015
23 August 2015
membershipnotification has been fixed and a state file now tracks group members.
21 August 2015
AgentInGroup- apparently the entire list is returned.
batchinvitecommand that takes as input a CSV list of UUIDs or full-names passed to the
avatarsparameter and invites all the avatars in the list whilst returning avatar names and UUIDs that could not be invited. This has the benefit over
invitethat the group members have to be looked-up once which speeds-up the process a lot in case multiple avatars have been invited. As a counter-part, there will be a new PHP template available that allows you to mass-invite avatars.
invalid face index->
invalid face specified
getprimitivelightdatacommand that can be used to query light parameters for any primitive.
getprimitiveflexibledatacommand that can be used to query flexible data for any primitive.
getobjectmediadatacommand that can be used to query media data for any object.
getobjectpermissionscommand now returns a
datakey instead of
permissionsto follow the general Corrade output style.
setobjectmediadatacommand that is able to set media data for any object.
setprimitiveflexibledatacommand that is able to set flexible data for any primitive.
setprimitiveshapedatacommand now first retrieves the shape of the primitive and then applies the parameters supplied by the
datakey - as opposed to starting off with a cube.
setprimitivesculptdatacommand now first retrieves the sculpt data for a primitive before applying the parameters supplied by the
setprimitivematerialcommand that is able to set a primitive's material.
setprimitivelightdatacommand that is able to set the light data for any primitive.
20 August 2015
Corrade.iniwhere you can change the libopenmetaverse throttles for various parts of the library.
successin case a command failed. The new
statuskey now contains an unique error code that should make branching easier from scripts. Please see the status codes section for the mapping of status codes to error descriptions.
creategrassthat creates foilage at a specified location provided that Corrade is the owner of the parcel (Second Life limitation).
setprimitivetexturedatacommand has been altered to take
indexas parameter and accept
defaultas values which will set the texture data for all faces, respectively the default texture.
getprimitivebodytypescommand that retrieves the bodies that are built-in and can be supplied to the
typeparameter of commands such as
getstatuscommand with an
entityparameter that must be set to
descriptionin order to retrieve the description of an error status.
18 August 2015
grabcommand that is able to touch a primitive whilst account for the surface that is touched.
getprimitivephysicsdatacommand that is able to query the physics data for a given primitive.
setprimitiveflagscommand that is able to set some miscellaneous flags including physics and temporary properties.
getprimitivepaypricescommands now grab the simulator from the primitive and the
regionparameter has been removed and inferred from the found primitive.
changeprimitivelinkcommand no longer takes
regionas a parameter and additionally the command will check that all the supplied primitives are in the same region before attempting to link.
18 August 2015
scalerequirement for the
createprimitivecommand. By default the scale will be on all three axes.
createtreecommand that can be used to create trees.
18 August 2015
state/Notifications.statefile if there is one and add the
controlnotification to your defined groups if needed.
controlnotification which makes Corrade send
llTakeControlsrequests from LSL scripts - the
controlnotification has been added to
Indexparameter to routines that return data where that data is an array or a list. In such cases, Corrade will now always prepend the string
Indexand the index number of the array element in the returned output CSV. This affects all
getprimitiveshapedatawhich returns a CSV list of parameters off the
PrimDatastructure that reflect a primitive's shape. This output of this command can then be used with either the
setprimitiveshapecommand to create a new primitive, respectively to set the shape of an already existing primitive.
createprimitivethat takes as input a CSV list of
PrimDatastructure elements and creates a new primitive within the specified simulator. Note that this command is meant for the actual creation of new primitives; contrasted to
rezwhich only rezzes an item from inventory in-world. Note that this command also bundles the default shapes in viewers and that by supplying the
typeparameter you can create a default primitive such as a Cube, Torus, etc... For more information, please consult the progressive API page.
setprimitiveshapedatathat takes as input a CSV list of
PrimDatastructure elements and modifies the shape of an existing in-world primitive. Note that this command also allows specifying a
typeparameter which will first create a default primitive such as a Cube, Torus, etc... And, if
typewas specified, then on top of that the command will apply the
PrimDatastructure elements passed in the conventional
getprimitivesculptdatacommand that queries the
Sculptstructure of a primitive given a
dataparameter. The output of this command can then be used with the
setprimitivesculptdatacommand in order to set the sculpt texture, etc...
setprimitivesculptdatacommand that, given a
dataparameter containing elements of a
Sculptstructure, will set the sculpt data for a specified primitive (ie: sculptie texture, mirroring, etc...)
getprimitivetexturedatacommand that can query the
Texturesfield of any primitive, optionally returning all the face textures by index. The returned data can then be used with the
setprimitivetexturedatacommand to set the default texture of a primitive or the texture of individual faces.
setprimitivetexturedatacommand that is able to set either the default texture or the textures of any face of any primitive given a supplied
indexparameter that represents the texture face.
17 August 2015
dataas a CSV list of fields and properties as a key when installing a notification. When
datais supplied, Corrade queries those fields in the resulting notification. This feature can be used to create your custom notifications and querying fields that are not returned by Corrade's standard notification system. For further information, please consult the progressive API page and the notification tutorial.
afterburnas a CSV list of strings when installing notfications which will make Corrade send the afterburn for every notification that it sends. For further information, please consult the progressive API page and the notification tutorial.
Corrade.ini(no changes to
Corrade.iniare required in this release).
17 August 2015
getattachmentscommand has been revised to avoid an issue with locking.
uintused instead of
intwhen reading the configuration.
POSTthreads, configurable from
Corrade.ini->limits->post->threadsinstead of blocking wait.
15 August 2015
15 August 2015
13 August 2015
Notification.statefile in the
state/sub-directory before upgrading and then re-install your notifications.
Corrade.inithereby making it possible to supply a hidden group.
12 August 2015
10 August 2015
IsSecondLifeto determine current grid instead of in-place comparisons.
Netmanand added an extra dependency on the
9 August 2015
7 August 2015
6 August 2015
changeprimitivelinkcommand with actions
delinkwhich is able to link and unlink primitives. In case of linking primitives, the first primitive in the list will become the root.
primitivebuycommand that can be used to buy a primitive.
getprimitivepaypricescommand that returns a CSV list of pay prices for a primitive with the default pay price being first in the list.
5 August 2015
add, overwrites any notifications to the new one being supplied. This should make templates work again as well as provide a shortcut for smaller and simpler scripts that do not want to track the URL pool.
26 July 2015
cache/assets- if you upgrade, you need to create the directory
cache/assetsand delete the directory
cachecommand now additionally purges the asset cache.
26 July 2015
23 July 2015
22 July 2015
5 July 2015
getgroupmemberdatawhich is able to query data about group members.
22 June 2015
RoleUUIDToNamenow take the
Everyonerole into account.
8 June 2015
getterrainheightsince Corrade is able to see in neighboring simulators.
replytoscriptpermissionrequestnow takes an additional parameter
regionset to the region name.
getnetworkdatathat returns network manager data.
joincommand now checks whether joining a group would exceed the maximum number of groups that an avatar can join.
getconnectedregionshas been added added that returns the name of all connected simulators.
addclassifiedcommands now check for
economyCorrade permissions if the land requires currency
getcommandsthat lists all available commands given the group's access level.
getcommandthat is able to show the syntax and permissions of a command referred to by the
7 June 2015
notifycommand has been altered: the
listand a new action
removehas been added which allows you to unbind from a notification given a notification name and an URL.
5 June 2015
Corrade.ini- amongst others, this feature will allow you to set a negative exit code such that Windows will consider the Corrade service to have failed and will restart Corrade without requiring a manual restart on normal termination.
31 May 2015
setparceldatato allow setting parcel flags (please see the API on the
setparceldatawas unable to set parcel flags and this release adds the parcel flags structure to the function responsible for setting data. Note that you can set the parcel flags by supplying a CSV list of flags or you can also supply an integer with the values of the flags ORed.
30 May 2015
setparceldatacommand no longer checks for estate rights since it is irrelevant.
28 May 2015
&) in the name are now processed correctly (thanks Drake).
27 May 2015
exportdaecommands in order to speed-up download requests.
weightedand Corrade now uses that by default instead of the former
arithmeticdecay type. This new decay type should yield better results at a very slight penalty cost over the previous default algorithm.
directorysearchcommand has been fixed that should allow for more results under the configured decay type and data timeout.
24 May 2015
application/x-www-form-urlencodeddata which must be escaped and unescaped using RFC1738. The LL API commands llEscapeURL and llUnescapeURL are not compatible with RFC1738 (since llEscapeURL and llUnescapeURL conform to RFC3986 which is actually an URI encoding making the name of the functions misleading) and you need to use either our implementation or your own implementation based on the RFC's specification.
Corrade.ininow includes both decoders for RFC1738 and RFC3986 just that RFC1738 is chosen as the new default. You can always switch back to RFC3986 as needed during the transition.
application/x-www-form-urlencodedotherwise it sets the content-type to
application/x-www-form-urlencodedcontent-type and thus RFC1738 by default.
24 May 2015
formatis specified (thanks Clara).
23 May 2015
movecommand has been renamed to
downloadcommand now accepts an additional
pathparameter which, if specified, will save the asset data to that path instead of returning the binary data.
exportdaecommands now normalize the exported file name such that objects with conflicting names will no longer trigger an error (thanks Clara). Furthermore, a
pathparameter has been added, which, if specified, will save the export to that path instead of returning the binary data.
19 May 2015
getprimitivesdatacommand has been fixed such that it will now return all the primitives worn by avatars instead of objects.
rangeparameter, this parameter has now been made optional and, in case of omission, Corrade assumes that the range is the current view distance (configurable in Corrade.ini). This affects the commands:
setobjectrotationcommands now perform a check to make sure that the specified
itemis an object and not a primitive part of a link-set.
setobjectnamecommand has been renamed to
setobjectdescriptioncommand has been renamed to
setprimitiverotationwhich operate on primitives (whether part of a link-set or not) rather than entire objects.
setobjectpermissionscommand now use Corrade's permission notation - please see the scripting considerations page for details.
getobjectpermissionshas been added that returns a Corrade permission mask for a specified object.
setobjectscalehas been added with an optional parameter
uniformhas been added that allows setting an object's size (along with all the primitives of the link-set).
setprimitivescalehas been added that can scale primitives regardless whether they are part of a link-set or not.
awayhas been added with the possible actions
getwhich allows setting and getting Corrade's away status.
runcommand has been fixed to properly set always-run and now additionally benefits from a
getpossible action that returns whether always run is currently enabled or not.
busyhas been added with possible actions
getwhich allows setting or getting Corrade's busy status.
typinghas been added with possible actions
getwhich allows setting or getting Corrade's typing status.
14 May 2015
getprimitivescommand has been removed since it has been made redundant by the
getprimitivesdatacommand. For an equivalent, please use the
getprimitivesdatacommand which is more powerful.
getavatarsdatacommand now takes
entityas a parameter and is able to reduce the search scope to: a given range, a parcel, a region, or an avatar. There are major changes to this command that may break scripts relying on it.
getprimitivesdatacommand now takes
entityas a parameter and is able to reduce the search scope to: a given range, a parcel, a region or an avatar. There are major changes to this command that may break scripts relying on it.
exportxmlhas been added that is able to export an object to an XML file as well as download all the necessary textures for ulterior import. The command takes as parameter a
formatand can optionally download the images in the given format. When the format is not specified, the
exportxmlcommand defaults to JPEG 2000 Codestream. Since multiple files may be part of the export, the
exportxmlcommand bundles all the relevant files in ZIP file, Base64-encodes the ZIP file and then transmits the data using the usual Corrade output. In order to access the ZIP file, you need to retrieve the Base64-encoded data, then use Base64 to decide it and save it to a file - that file will then be a ZIP file that can be decompressed with any compatible program.
exportdaehas been added that is able to convert any object (a single object or a link-set) to Collada DAE mesh as well as downloading all the relevant textures in any specified
format- if the format is not specified the command defaults to JPEG 2000 Codestream. As with the
exportxmlcommand, the DAE file and the necessary textures are bundled in a ZIP file, Base64 encoded and sent using Corrade's regular output. In order to obtain the file, you will need to store the Base64 encoded output to file - that file will then be a ZIP file that can be decompressed and all the items can be retrieved.
11 May 2015
11 May 2015
rangeparameter has been added to the
10 May 2015
getavatarsdatacommand can now be used to query profile data. The additional primitive UUID has been removed from the output.
getprimitivesdatano longer returns an additional primitive UUID.
10 May 2015
10 May 2015
itemusing various commands, you can always pass an UUID which makes the search very much faster.
avatarsnotification now additionally passes the
lastnameof the sensed agent.
primitivesnotification now additionally passes the
ownerof the sensed primitive.
getavatarsdatawhich allows you to query avatar data en-block. The command takes an optional parameter
positionwhich allows you to restrict the search area to a parcel.
getprimitivesdatawhich allows you to query primitives data en-block. The command takes an additional parameter
positionwhich allows you to restrict the search area to a parcel. Please note that this command is per Linden-protocol a very slow command and that if, for example,you are attempting to get the owners of the primitives, you should rather use the
getprimitiveownerscommand which, although requiring land permissions, is very fast.
6 May 2015
6 May 2015
5 May 2015
getregiontopcommand has changed to return all the results by default (previous behaviour was the first top 5 results). The output has been changed to be closer to what one would expect from a viewer; in order: score, task name, task uuid, owner name and the position.
executecommand now results in a friendly Corrade error.
4 May 2015
formathas been added to the
downloadcommand that can be supplied an
ImageFormatin order to be able to download textures as PNG, JPEG, etc... Instead of the JPEG2000 format which Second Life uses. This addition should help scripters that use Corrade's HTTP interface and have difficulties in converting JPEG2000 textures to a different format. Similarly, the
uploadcommand now also accepts Base64-encoded PNG, JPEG, GIF, etc... And converts them to JPEG2000 on the fly.
1 May 2015
logsdirectory on Unix and benefits from the implementation of
mono-serviceto perform clean shutdowns. This stability fix should prevent random SEGVs on Unix - apparently, mono wrappers are still unstable.
1 May 2015