]> git.ipfire.org Git - thirdparty/asterisk.git/commit
docs: Add version information to configObject and configOption XML elements
authorGeorge Joseph <gjoseph@sangoma.com>
Thu, 16 Jan 2025 21:54:35 +0000 (14:54 -0700)
committerAsterisk Development Team <asteriskteam@digium.com>
Thu, 23 Jan 2025 18:39:42 +0000 (18:39 +0000)
commit1ccf0ae7e8cbadaf1a1e5ca0bf1f82cc19eb8933
treee3c1ca4f135b85809aa39a972801c0da6d5cd1f6
parente7801702c66d234ba48e62f954fb3f5c7f2e193d
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.

(cherry picked from commit a22dc33057fdde04f313feb1d27a3a143de1b738)
31 files changed:
apps/app_agent_pool.c
apps/app_skel.c
apps/confbridge/conf_config_parser.c
channels/chan_motif.c
main/cdr.c
main/cel.c
main/features_config.c
main/named_acl.c
main/stasis.c
main/udptl.c
res/res_aeap.c
res/res_ari.c
res/res_geolocation/geoloc_doc.xml
res/res_hep.c
res/res_http_media_cache.c
res/res_parking.c
res/res_pjproject.c
res/res_pjsip/pjsip_config.xml
res/res_pjsip_acl.c
res/res_pjsip_endpoint_identifier_ip.c
res/res_pjsip_notify.c
res/res_pjsip_outbound_publish.c
res/res_pjsip_outbound_registration.c
res/res_pjsip_phoneprov_provider.c
res/res_pjsip_publish_asterisk.c
res/res_pjsip_pubsub.c
res/res_prometheus.c
res/res_resolver_unbound.c
res/res_statsd.c
res/res_stir_shaken/stir_shaken_doc.xml
res/res_xmpp.c