diff --git a/data-explorer/kusto/api/connection-strings/kusto.md b/data-explorer/kusto/api/connection-strings/kusto.md
index eb7fb72282..214c2f0c45 100644
--- a/data-explorer/kusto/api/connection-strings/kusto.md
+++ b/data-explorer/kusto/api/connection-strings/kusto.md
@@ -3,7 +3,7 @@ title: Kusto connection strings
description: This article describes Kusto connection strings.
ms.reviewer: orspodek
ms.topic: reference
-ms.date: 11/18/2024
+ms.date: 01/08/2025
---
# Kusto connection strings
@@ -130,12 +130,14 @@ For application authentication, specify `AAD Federated Security` as `true`. Then
| Uncompressed | Uncompressed | A boolean value that instructs the client to avoid requesting transport-level compression. |
> [!NOTE]
-> When the `Streaming` flag is enabled (default), the SDK doesn't buffer all response data in memory; instead, it "pulls" the data from the service when the caller requests it. Therefore, it is essential that in this case the caller properly disposes of the data, such as `IDataReader`.
-> once it is done reading the data, as the network connection
+> When the `Streaming` flag is enabled (default), the SDK doesn't buffer all response data in memory; instead, it "pulls" the data from the service when the caller requests it. In this case, the caller must properly dispose of the data, such as `IDataReader`,
+> once it's done reading the data, as the network connection
> to the service is held open unnecessarily.
## Examples
+The following examples show how to set up connections using C#. For examples in other languages, see [App authentication methods](../get-started/app-authentication-methods.md).
+
:::moniker range="azure-data-explorer"
### Microsoft Entra ID federated authentication with current user identity
@@ -358,3 +360,9 @@ var kustoConnectionStringBuilder = new KustoConnectionStringBuilder(kustoUri)
```
::: moniker-end
+
+## Related content
+
+* [Connection strings overview](index.md)
+* [Kusto API](../index.md)
+* [Kusto Query Language (KQL)](../../query/index.md)
\ No newline at end of file
diff --git a/data-explorer/kusto/query/logical-operators.md b/data-explorer/kusto/query/logical-operators.md
index 207840369e..202278f9c6 100644
--- a/data-explorer/kusto/query/logical-operators.md
+++ b/data-explorer/kusto/query/logical-operators.md
@@ -3,7 +3,7 @@ title: Logical (binary) operators
description: Learn how to use Logical (binary) operators to return a Boolean result.
ms.reviewer: alexans
ms.topic: reference
-ms.date: 08/11/2024
+ms.date: 01/08/2025
---
# Logical (binary) operators
@@ -15,7 +15,7 @@ The following logical operators can be used to perform comparisons and evaluatio
|-------------|------|-------|
|Equality |`==` |Returns `true` if both operands are non-null and equal to each other. Otherwise, returns `false`.|
|Inequality |`!=` |Returns `true` if any of the operands are null or if the operands aren't equal to each other. Otherwise, returns `false`.|
-|Logical and |`and` |Returns `true` only if both operands are `true`.|
+|Logical and |`and` |Returns `true` only if both operands are `true`. The logical `and` has higher precedence than the logical `or`.|
|Logical or |`or` |Returns `true` if either of the operands is `true`, regardless of the other operand.|
> [!NOTE]
@@ -125,15 +125,22 @@ The following query shows that null values are treated as false.
:::moniker range="azure-data-explorer"
> [!div class="nextstepaction"]
-> Run the query
+> Run the query
::: moniker-end
```kusto
-print iff(bool(null) and true, true, false)
+print print=iff(bool(null) and true, true, false)
```
**Output**
-|print_0|
+|print|
|--|
|false|
+
+## Related content
+
+* [case()](case-function.md)
+* [has operator](has-operator.md)
+* [in operator](in-cs-operator.md)
+* [startswith operator](startswith-operator.md)
diff --git a/data-explorer/kusto/query/scalar-data-types/datetime.md b/data-explorer/kusto/query/scalar-data-types/datetime.md
index aa67085c12..2aa29d714d 100644
--- a/data-explorer/kusto/query/scalar-data-types/datetime.md
+++ b/data-explorer/kusto/query/scalar-data-types/datetime.md
@@ -62,7 +62,7 @@ and the [todatetime()](../todatetime-function.md) function.
|%Y-%m-%d %H:%M|2014-11-08 15:55|
|%Y-%m-%d|2014-11-08|
-### [RFC 822](https://www.ietf.org/rfc/rfc0822.txt)
+### [RFC 822](https://www.w3.org/Protocols/rfc822/)
|Format|Example|
|------|-------|
diff --git a/data-explorer/security-network-migrate-vnet-to-private-endpoint.md b/data-explorer/security-network-migrate-vnet-to-private-endpoint.md
index f2f08d9ab4..2fd3862114 100644
--- a/data-explorer/security-network-migrate-vnet-to-private-endpoint.md
+++ b/data-explorer/security-network-migrate-vnet-to-private-endpoint.md
@@ -86,7 +86,7 @@ To prepare your cluster for migration:
> Failure of your cluster to connect to essential services for ingestion and external tables poses a risk of data loss. Additionally, queries calling out to other network-protected services may cease to function.
> [!WARNING]
-> The migration step must be performed within a few hours of completing the preparation steps. Delaying the migration might cause the service to malfunction. ```
+> The migration step must be performed within a few hours of completing the preparation steps. Delaying the migration might cause the service to malfunction.
## Migrate your cluster
@@ -152,6 +152,36 @@ After migrating to private endpoints, perform the following checks to verify the
1. Check that ingestion is working properly with the [.show ingestion failures command](/kusto/management/ingestion-failures?view=azure-data-explorer&preserve-view=true) or refer to the guidance in [Monitor queued ingestion with metrics](monitor-queued-ingestion.md). This verification is especially relevant if you need to connect to network secured services for ingestion with services like [Azure Event Hubs](ingest-data-event-hub.md).
+## Rollback
+
+To roll back your migration to the previous Virtual Network injected configuration by modifying the ARM template:
+
+1. Locate the [**VirtualNetworkConfiguration**](/azure/templates/microsoft.kusto/clusters?pivots=deployment-language-arm-template#virtualnetworkconfiguration-1) in the ARM template of your cluster.
+
+ ```json
+ "virtualNetworkConfiguration": {
+ "state": "Disabled",
+ "subnetId": "[concat(parameters('virtualNetworks_Test_vnet_externalid'), '/subnets/newsubnet')]",
+ "enginePublicIpId": "[parameters('publicIPAddresses_vnetclusterwestus3engine_externalid')]",
+ "dataManagementPublicIpId": "[parameters('publicIPAddresses_vnetclusterwestus3dm_externalid')]"
+ },
+ ```
+
+1. Replace **"state": "Disabled"** with **"state": "Enabled"**. Verify that the other properties remain unchanged.
+
+ ```json
+ "virtualNetworkConfiguration": {
+ "state": "Enabled",
+ "subnetId": "[concat(parameters('virtualNetworks_Test_vnet_externalid'), '/subnets/newsubnet')]",
+ "enginePublicIpId": "[parameters('publicIPAddresses_vnetclusterwestus3engine_externalid')]",
+ "dataManagementPublicIpId": "[parameters('publicIPAddresses_vnetclusterwestus3dm_externalid')]"
+ },
+ ```
+
+1. [**Deploy**](/azure/azure-resource-manager/templates/deployment-tutorial-local-template?tabs=azure-powershell) the ARM template to apply the changes.
+
+This restores your cluster to the previous Virtual Network injected configuration.
+
## Related content
- [Create a Private Endpoints for Azure Data Explorer](security-network-private-endpoint-create.md)