docs: Add version information to configObject and configOption XML elements

Most of the configObjects and configOptions that are implemented with
ACO or Sorcery now have `<since>/<version>` elements added.  There are
probably some that the script I used didn't catch.  The version tags were
determined by the following...
 * Do a git blame on the API call that created the object or option.
 * From the commit hash, grab the summary line.
 * Do a `git log --grep <summary>` to find the cherry-pick commits in all
   branches that match.
 * Do a `git patch-id` to ensure the commits are all related and didn't get
   a false match on the summary.
 * Do a `git tag --contains <commit>` to find the tags that contain each
   commit.
 * Weed out all tags not <major>.<minor>.0.
 * Sort and discard any <major>.0.0 and following tags where the commit
   appeared in an earlier branch.
 * The result is a single tag for each branch where the API was last touched.

configObjects and configOptions elements implemented with the base
ast_config APIs were just not possible to find due to the non-deterministic
way they are accessed.

Also note that if the API call was on modified after it was added, the
version will be the one it was last modified in.

Final note:  The configObject and configOption elements were introduced in
12.0.0 so options created before then may not have any XML documentation.
This commit is contained in:
George Joseph
2025-01-16 14:54:35 -07:00
parent fb533fcc73
commit 772221c82a
31 changed files with 650 additions and 0 deletions

View File

@@ -82,8 +82,10 @@
<synopsis>HTTP binding for the Stasis API</synopsis>
<configFile name="ari.conf">
<configObject name="general">
<since><version>12.0.0</version></since>
<synopsis>General configuration settings</synopsis>
<configOption name="enabled">
<since><version>12.0.0</version></since>
<synopsis>Enable/disable the ARI module</synopsis>
<description>
<para>This option enables or disables the ARI module.</para>
@@ -97,6 +99,7 @@
</see-also>
</configOption>
<configOption name="websocket_write_timeout" default="100">
<since><version>11.11.0</version><version>12.4.0</version></since>
<synopsis>The timeout (in milliseconds) to set on WebSocket connections.</synopsis>
<description>
<para>If a websocket connection accepts input slowly, the timeout
@@ -105,22 +108,28 @@
</description>
</configOption>
<configOption name="pretty">
<since><version>12.0.0</version></since>
<synopsis>Responses from ARI are formatted to be human readable</synopsis>
</configOption>
<configOption name="auth_realm">
<since><version>12.0.0</version></since>
<synopsis>Realm to use for authentication. Defaults to Asterisk REST Interface.</synopsis>
</configOption>
<configOption name="allowed_origins">
<since><version>12.0.0</version></since>
<synopsis>Comma separated list of allowed origins, for Cross-Origin Resource Sharing. May be set to * to allow all origins.</synopsis>
</configOption>
<configOption name="channelvars">
<since><version>14.2.0</version></since>
<synopsis>Comma separated list of channel variables to display in channel json.</synopsis>
</configOption>
</configObject>
<configObject name="user">
<since><version>12.0.0</version></since>
<synopsis>Per-user configuration settings</synopsis>
<configOption name="type">
<since><version>13.30.0</version><version>16.7.0</version><version>17.1.0</version></since>
<synopsis>Define this configuration section as a user.</synopsis>
<description>
<enumlist>
@@ -129,12 +138,15 @@
</description>
</configOption>
<configOption name="read_only">
<since><version>13.30.0</version><version>16.7.0</version><version>17.1.0</version></since>
<synopsis>When set to yes, user is only authorized for read-only requests</synopsis>
</configOption>
<configOption name="password">
<since><version>13.30.0</version><version>16.7.0</version><version>17.1.0</version></since>
<synopsis>Crypted or plaintext password (see password_format)</synopsis>
</configOption>
<configOption name="password_format">
<since><version>12.0.0</version></since>
<synopsis>password_format may be set to plain (the default) or crypt. When set to crypt, crypt(3) is used to validate the password. A crypted password can be generated using mkpasswd -m sha-512. When set to plain, the password is in plaintext</synopsis>
</configOption>
</configObject>