Improvements
* Authentication via Service Principal is now supported for the [admin](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.admin.html) and [tom](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.tom.html) (connect_semantic_model) subpackages. For [connect_semantic_model](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.tom.html#sempy_labs.tom.connect_semantic_model), Service Principal Authentication is also supported for connecting to semantic models hosted on Azure Analysis Services.
To see code examples for authenticating via Service Principal, [click here](https://github.com/microsoft/semantic-link-labs/blob/main/notebooks/Service%20Principal.ipynb).
New Functions
* sempy_labs
* Authentication
* [service_principal_authentication](https://semantic-link-labs.readthedocs.io/en/latest/sempy_labs.html#sempy_labs.service_principal_authentication) Context manager to support Service Principal authentication.
* Capacities
* [list_skus](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.list_skus)
* [list_skus_for_capacity](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.list_skus_for_capacity)
* Job Scheduler
* [list_item_schedules](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.list_item_schedules)
* [run_on_demand_item_job](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.run_on_demand_item_job)
* Subscriptions
* [list_subscriptions](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.list_subscriptions)
* [get_subscription](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.get_subscription)
* Tenants
* [list_tenants](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.list_tenants)
* Resource Groups
* [list_resource_groups](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.list_resource_groups)
* [get_resource_group](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.get_resource_group)
* [create_or_update_resource_group](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.create_or_update_resource_group)
* [check_resource_group_existence](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.check_resource_group_existence)
* Storage Accounts
* [list_storage_accounts](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.list_storage_accounts)
* [create_storage_account](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.create_storage_account)
Updated Functions
* sempy_labs
* [run_model_bpa](https://semantic-link-labs.readthedocs.io/en/latest/sempy_labs.html#sempy_labs.run_model_bpa) added the 'check_dependencies' parameter. Set this to False for semantic models which are in shared workspaces so that the dependencies DMV check is not done and the remainder of the BPA rules can run (189).
* The following functions now leverage the [Service Principal Authentication](https://semantic-link-labs.readthedocs.io/en/latest/sempy_labs.html#sempy_labs.service_principal_authentication) context manager: [create_fabric_capacity](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.create_fabric_capacity), [suspend_fabric_capacity](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.suspend_fabric_capacity), [resume_fabric_capacity](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.resume_fabric_capacity), [delete_fabric_capacity](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.delete_fabric_capacity), [delete_embedded_capacity](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.delete_embedded_capacity), [update_fabric_capacity](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.update_fabric_capacity), [check_fabric_capacity_name_availablility](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.check_fabric_capacity_name_availablility), [create_resource_group](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.create_resource_group), [list_skus_for_capacity](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.list_skus_for_capacity), [list_skus](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.list_skus), [list_subscriptions](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.list_subscriptions), [get_subscription](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.get_subscription), [list_tenants](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.list_tenants), [create_or_update_resource_group](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.create_or_update_resource_group), [create_storage_account](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.create_storage_account), [list_storage_accounts](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.list_storage_accounts), [check_resource_group_existence](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.check_resource_group_existence), [list_resource_groups](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.list_resource_groups), [get_resource_group](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.get_resource_group)
* sempy_labs.admin
* All relevant functions now support authentication via Service Principal.
* sempy_labs.tom
* [connect_semantic_model](https://semantic-link-labs.readthedocs.io/en/latest/sempy_labs.tom.html#sempy_labs.tom.connect_semantic_model) Now supports Service Principal authentication via the service_principal_authencation context manager. This method also supports connecting to Azure Analysis Services (AAS) semantic models (simply enter the Azure AS server name in the the 'workspace' parameter and make sure to use the service principal authentication).
Dependencies
* Removed dependency on the azure.mgmt.resource python SDK. Removing this dependency will improve pip install times for Semantic Link Labs while maintaining all existing functionality.
* Updated semantic-link-sempy to 0.8.5
Removed Functionality
> [!IMPORTANT]
> If you are impacted by any of the aforementioned changes, please [raise an issue on GitHub](https://github.com/microsoft/semantic-link-labs/issues) with your concern (and ideally your company name as well)
* The P->F sku migration capability no longer migrates capacity settings. This is due to a restriction on certain APIs which are no longer accessible.
* Getting the source of a Direct Lake semantic model (lakehouse/warehouse & workspace) now only works when the source exists in the same workspace as the semantic model. This is due to a restriction on an API which is no longer accessible.
* Getting all downstream reports from a semantic model (cross-workspace) is no longer possible. This functionality is limited to reports which are in the same workspace as the semantic model. This is due to a restriction on an API which is no longer accessible.
Bug Fixes
* 375
* 383
* 408
Notebooks
* [Service Principal](https://github.com/microsoft/semantic-link-labs/blob/main/notebooks/Service%20Principal.ipynb) Contains instructions on how to use functions while authenticating via Service Principal.
* [Semantic Model Management](https://github.com/microsoft/semantic-link-labs/blob/main/notebooks/Semantic%20Model%20Management.ipynb) Contains instructions for backing up, copying and restoring semantic models.