diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0d6783cb..0368636d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
+## [3.1.6.0.6] - 2026-07-09
+### Fixed
+- **Missing backward-compatibility aliases for renamed Site Design `_v2` methods (Issue #39)**: The v3.1.6.0 API classes renamed several Site Design operations with a `_v2` suffix and re-exposed the historical names as aliases, but seven access point position methods on `SiteDesign` were left without one. Calling them by their historical name raised `AttributeError` when the SDK ran against API version 3.1.6.0, breaking downstream consumers such as the `cisco.catalystcenter` Ansible collection. Added the missing aliases so the following names resolve again: `get_access_points_positions`, `edit_the_access_points_positions`, `assign_planned_access_points_to_operations_ones`, `add_planned_access_points_positions`, `edit_planned_access_points_positions`, `get_planned_access_points_positions_count`, and `delete_planned_access_points_position`.
+
## [3.1.6.0.5] - 2026-06-05
### Fixed
- **Missing `licenseLevel`, `topOfStackSerialNumber`, and `cablingScheme` in `claim_a_device_to_a_site` (Issue #23)**: Added the three missing parameters to the method signature, `_payload` assembly, and request validator JSON schema across all SDK API versions (2.3.7.6.1, 2.3.7.9, 3.1.3.0, 3.1.6.0). Previously, passing these fields with `active_validation=True` caused a `MalformedRequest` error, and with `active_validation=False` they were silently dropped from the request body, making it impossible to claim stacked Catalyst switches with a license level or cabling scheme via the SDK.
@@ -163,4 +167,5 @@ to "application".
[3.1.6.0.3]: https://github.com/cisco-en-programmability/catalystcentersdk/compare/v3.1.6.0.2...v3.1.6.0.3
[3.1.6.0.4]: https://github.com/cisco-en-programmability/catalystcentersdk/compare/v3.1.6.0.3...v3.1.6.0.4
[3.1.6.0.5]: https://github.com/cisco-en-programmability/catalystcentersdk/compare/v3.1.6.0.4...v3.1.6.0.5
-[Unreleased]: https://github.com/cisco-en-programmability/catalystcentersdk/compare/v3.1.6.0.5...develop
\ No newline at end of file
+[3.1.6.0.6]: https://github.com/cisco-en-programmability/catalystcentersdk/compare/v3.1.6.0.5...v3.1.6.0.6
+[Unreleased]: https://github.com/cisco-en-programmability/catalystcentersdk/compare/v3.1.6.0.6...develop
\ No newline at end of file
diff --git a/catalystcentersdk/api/v3_1_6_0/site_design.py b/catalystcentersdk/api/v3_1_6_0/site_design.py
index a5d4032c..92527d58 100644
--- a/catalystcentersdk/api/v3_1_6_0/site_design.py
+++ b/catalystcentersdk/api/v3_1_6_0/site_design.py
@@ -3662,3 +3662,22 @@ def get_a_site(self, id, headers=None, **request_parameters):
SiteDesign.gets_a_floor = SiteDesign.gets_a_floor_v2
SiteDesign.updates_a_floor = SiteDesign.updates_a_floor_v2
SiteDesign.uploads_floor_image = SiteDesign.uploads_floor_image_v2
+SiteDesign.get_access_points_positions = SiteDesign.get_access_points_positions_v2
+SiteDesign.edit_the_access_points_positions = (
+ SiteDesign.edit_the_access_points_positions_v2
+)
+SiteDesign.assign_planned_access_points_to_operations_ones = (
+ SiteDesign.assign_planned_access_points_to_operations_ones_v2
+)
+SiteDesign.add_planned_access_points_positions = (
+ SiteDesign.add_planned_access_points_positions_v2
+)
+SiteDesign.edit_planned_access_points_positions = (
+ SiteDesign.edit_planned_access_points_positions_v2
+)
+SiteDesign.get_planned_access_points_positions_count = (
+ SiteDesign.get_planned_access_points_positions_count_v2
+)
+SiteDesign.delete_planned_access_points_position = (
+ SiteDesign.delete_planned_access_points_position_v2
+)
diff --git a/docs/CHANGELOG.rst b/docs/CHANGELOG.rst
index b0bc0338..83b375be 100644
--- a/docs/CHANGELOG.rst
+++ b/docs/CHANGELOG.rst
@@ -8,12 +8,38 @@ Changelog `__, and this project
adheres to `Semantic
Versioning `__.
-`Unreleased `__
+`Unreleased `__
-----------------------------------------------------------------------------------------------------------
+`3.1.6.0.6 `__ - 2026-07-09
+--------------------------------------------------------------------------------------------------------------------------
+
+Fixed
+~~~~~
+
+- **Missing backward-compatibility aliases for renamed Site Design
+ ``_v2`` methods (Issue #39)**: The v3.1.6.0 API classes renamed
+ several Site Design operations with a ``_v2`` suffix and re-exposed
+ the historical names as aliases, but seven access point position
+ methods on ``SiteDesign`` were left without one. Calling them by their
+ historical name raised ``AttributeError`` when the SDK ran against API
+ version 3.1.6.0, breaking downstream consumers such as the
+ ``cisco.catalystcenter`` Ansible collection. Added the missing aliases
+ so the following names resolve again: ``get_access_points_positions``,
+ ``edit_the_access_points_positions``,
+ ``assign_planned_access_points_to_operations_ones``,
+ ``add_planned_access_points_positions``,
+ ``edit_planned_access_points_positions``,
+ ``get_planned_access_points_positions_count``, and
+ ``delete_planned_access_points_position``.
+
+.. _section-1:
+
`3.1.6.0.5 `__ - 2026-06-05
--------------------------------------------------------------------------------------------------------------------------
+.. _fixed-1:
+
Fixed
~~~~~
@@ -28,12 +54,12 @@ Fixed
claim stacked Catalyst switches with a license level or cabling scheme
via the SDK.
-.. _section-1:
+.. _section-2:
`3.1.6.0.4 `__ - 2026-05-07
--------------------------------------------------------------------------------------------------------------------------
-.. _fixed-1:
+.. _fixed-2:
Fixed
~~~~~
@@ -47,12 +73,12 @@ Fixed
optional ``requests.Session`` and uses it for token requests, so retry
adapters apply uniformly across all SDK calls.
-.. _section-2:
+.. _section-3:
`3.1.6.0.3 `__ - 2026-05-05
--------------------------------------------------------------------------------------------------------------------------
-.. _fixed-2:
+.. _fixed-3:
Fixed
~~~~~
@@ -103,12 +129,12 @@ Fixed
permissive schema prevents false validation failures as the API
evolves.
-.. _section-3:
+.. _section-4:
`3.1.6.0.2 `__ - 2026-03-30
--------------------------------------------------------------------------------------------------------------------------
-.. _fixed-3:
+.. _fixed-4:
Fixed
~~~~~
@@ -128,12 +154,12 @@ Changed
- Regenerated Pipfile.lock, poetry.lock, requirements.txt, and
requirements-dev.txt with updated dependencies.
-.. _section-4:
+.. _section-5:
`3.1.6.0.1 `__ - 2026-02-27
--------------------------------------------------------------------------------------------------------------------------
-.. _fixed-4:
+.. _fixed-5:
Fixed
~~~~~
@@ -157,7 +183,7 @@ Changed
- Added explicit ``python_version = "3.12"`` requirement to Pipfile.
- Updated ``certifi`` dependency.
-.. _section-5:
+.. _section-6:
`3.1.6.0.0 `__ - 2026-02-11
--------------------------------------------------------------------------------------------------------------------------
@@ -171,7 +197,7 @@ Added
- ``system_software_upgrade``
-.. _section-6:
+.. _section-7:
`3.1.3.0.1 `__ - 2026-02-06
--------------------------------------------------------------------------------------------------------------------------
@@ -222,7 +248,7 @@ Changed
- ``get_the_are_p_ring_based_on_the_ring_id`` to
``get_the_rep_ring_based_on_the_ring_id``
-.. _section-7:
+.. _section-8:
`3.1.3.0.0 `__ - 2025-06-19
--------------------------------------------------------------------------------------------------------------------------
@@ -257,7 +283,7 @@ Added
- The v1 alias functions were all removed. Example… if your using
“application_v1” you must be able to change it to “application”.
-.. _section-8:
+.. _section-9:
`2.3.7.9.5 `__ - 2025-03-05
--------------------------------------------------------------------------------------------------------------------------
@@ -267,7 +293,7 @@ Fix
- Error correction in the user_and_roles module
-.. _section-9:
+.. _section-10:
`2.3.7.9.4 `__ - 2025-02-28
--------------------------------------------------------------------------------------------------------------------------
@@ -279,7 +305,7 @@ Added
- Add support of DNA Center versions (‘2.3.7.7’)
-.. _section-10:
+.. _section-11:
`2.3.7.9.3 `__ - 2025-02-24
--------------------------------------------------------------------------------------------------------------------------
@@ -293,7 +319,7 @@ Fix
deploy_template functions in version 1 and 2. In 2.3.5.3, 2.3.7.6 and
2.3.7.9.
-.. _section-11:
+.. _section-12:
`2.3.7.9.2 `__ - 2025-02-17
--------------------------------------------------------------------------------------------------------------------------
@@ -322,7 +348,7 @@ Changed
- Some functions were changed in versions 2.3.7.6 and 2.3.7.9 to handle
files
-.. _section-12:
+.. _section-13:
`2.3.7.9.1 `__ - 2025-01-14
--------------------------------------------------------------------------------------------------------------------------
@@ -337,7 +363,7 @@ Fix
- Fixed a bug in site_design in the uploads_floor_image function in
versions 2.3.7.6 and 2.3.7.9
-.. _section-13:
+.. _section-14:
`2.3.7.9.0 `__ - 2024-12-12
--------------------------------------------------------------------------------------------------------------------------
@@ -350,7 +376,7 @@ Added
- Add support of Catalyst Center versions (‘2.3.7.9’)
- Adds modules for v2_3_7_9
-.. _section-14:
+.. _section-15:
`2.3.7.6.2 `__ - 2024-11-20
--------------------------------------------------------------------------------------------------------------------------
@@ -370,7 +396,7 @@ Fix
- The get_templates_details function was added because it was named
incorrectly. There was an “s” missing from the word templates
-.. _section-15:
+.. _section-16:
`2.3.7.6.1 `__ - 2024-11-05
--------------------------------------------------------------------------------------------------------------------------
@@ -391,7 +417,7 @@ Changed
- Modification of documentation references in functions
- The user_agent structure is modified
-.. _section-16:
+.. _section-17:
`2.3.7.6.0 `__ - 2024-10-30
------------------------------------------------------------------------------------------------------------------
diff --git a/docs/api/api.rst b/docs/api/api.rst
index 6be08695..03366ea2 100644
--- a/docs/api/api.rst
+++ b/docs/api/api.rst
@@ -829,6 +829,17 @@ v3.1.6.0 summary
.. include:: api_structure_table_v3_1_6_0.rst
+.. _v3_1_6_0 aliases:
+
+v3.1.6.0 backward-compatible aliases
+------------------------------------
+
+Several v3.1.6.0 operations were renamed with a _v2 suffix.
+The original names are kept as aliases for backward compatibility and will be restored in a future release.
+
+.. include:: api_aliases_table_v3_1_6_0.rst
+
+
CatalystCenterAPI Class
=======================
diff --git a/docs/api/api_aliases_table_v3_1_6_0.rst b/docs/api/api_aliases_table_v3_1_6_0.rst
new file mode 100644
index 00000000..209f0051
--- /dev/null
+++ b/docs/api/api_aliases_table_v3_1_6_0.rst
@@ -0,0 +1,121 @@
+.. This page is generated from the runtime alias assignments in the
+ v3.1.6.0 API classes. The aliases preserve the original method names for
+ backward compatibility and resolve to the current ``*_v2`` implementations.
+ This naming will be simplified in a future release.
+
+
+**ApplicationPolicy**
+
+.. list-table::
+ :header-rows: 1
+ :widths: 45 55
+
+ * - Alias (historical name)
+ - Resolves to
+ * - ``create_application_sets``
+ - :meth:`create_application_sets_v2() `
+ * - ``create_applications``
+ - :meth:`create_applications_v2() `
+ * - ``edit_applications``
+ - :meth:`edit_applications_v2() `
+ * - ``get_application_count``
+ - :meth:`get_application_count_v2() `
+ * - ``get_application_set_count``
+ - :meth:`get_application_set_count_v2() `
+
+**ConfigurationTemplates**
+
+.. list-table::
+ :header-rows: 1
+ :widths: 45 55
+
+ * - Alias (historical name)
+ - Resolves to
+ * - ``get_projects_details``
+ - :meth:`get_projects_details_v2() `
+ * - ``get_templates_details``
+ - :meth:`get_templates_details_v2() `
+
+**Devices**
+
+.. list-table::
+ :header-rows: 1
+ :widths: 45 55
+
+ * - Alias (historical name)
+ - Resolves to
+ * - ``get_device_interface_stats_info``
+ - :meth:`get_device_interface_stats_info_v2() `
+
+**Discovery**
+
+.. list-table::
+ :header-rows: 1
+ :widths: 45 55
+
+ * - Alias (historical name)
+ - Resolves to
+ * - ``create_global_credentials``
+ - :meth:`create_global_credentials_v2() `
+ * - ``delete_global_credential``
+ - :meth:`delete_global_credential_v2() `
+ * - ``get_all_global_credentials``
+ - :meth:`get_all_global_credentials_v2() `
+
+**SiteDesign**
+
+.. list-table::
+ :header-rows: 1
+ :widths: 45 55
+
+ * - Alias (historical name)
+ - Resolves to
+ * - ``add_planned_access_points_positions``
+ - :meth:`add_planned_access_points_positions_v2() `
+ * - ``assign_planned_access_points_to_operations_ones``
+ - :meth:`assign_planned_access_points_to_operations_ones_v2() `
+ * - ``creates_a_building``
+ - :meth:`creates_a_building_v2() `
+ * - ``creates_a_floor``
+ - :meth:`creates_a_floor_v2() `
+ * - ``delete_planned_access_points_position``
+ - :meth:`delete_planned_access_points_position_v2() `
+ * - ``deletes_a_building``
+ - :meth:`deletes_a_building_v2() `
+ * - ``deletes_a_floor``
+ - :meth:`deletes_a_floor_v2() `
+ * - ``edit_planned_access_points_positions``
+ - :meth:`edit_planned_access_points_positions_v2() `
+ * - ``edit_the_access_points_positions``
+ - :meth:`edit_the_access_points_positions_v2() `
+ * - ``get_access_points_positions_count``
+ - :meth:`get_access_points_positions_count_v2() `
+ * - ``get_access_points_positions``
+ - :meth:`get_access_points_positions_v2() `
+ * - ``get_floor_settings``
+ - :meth:`get_floor_settings_v2() `
+ * - ``get_planned_access_points_positions_count``
+ - :meth:`get_planned_access_points_positions_count_v2() `
+ * - ``get_planned_access_points_positions``
+ - :meth:`get_planned_access_points_positions_v2() `
+ * - ``gets_a_building``
+ - :meth:`gets_a_building_v2() `
+ * - ``gets_a_floor``
+ - :meth:`gets_a_floor_v2() `
+ * - ``updates_a_building``
+ - :meth:`updates_a_building_v2() `
+ * - ``updates_a_floor``
+ - :meth:`updates_a_floor_v2() `
+ * - ``updates_floor_settings``
+ - :meth:`updates_floor_settings_v2() `
+ * - ``uploads_floor_image``
+ - :meth:`uploads_floor_image_v2() `
+
+.. note::
+
+ The following names exist as both ``_v1`` and ``_v2`` in this API
+ version. The unsuffixed name currently resolves to ``_v2``; call the
+ explicit suffixed method if you need a specific version:
+
+ * ``Wireless.configure_access_points`` (``configure_access_points_v1`` / ``configure_access_points_v2``)
+
diff --git a/pyproject.toml b/pyproject.toml
index 538a4c26..2203c701 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[tool.poetry]
name = "catalystcentersdk"
-version = "3.1.6.0.5"
+version = "3.1.6.0.6"
description = "Cisco CatalystCenter Platform SDK"
authors = ["Jose Bogarin Solano ", "William Astorga ", "Francisco Muñoz ", "Bryan Vargas "]
license = "MIT"