Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge master #5

Merged
merged 71 commits into from
Feb 11, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
3f1f95a
Change file map link to absolute path to retire filemap_share_depots …
live1206 Aug 31, 2020
9c8d7c6
Update support.md (#720)
cheenamalhotra Sep 2, 2020
1103108
Tests | Fix Test lab failures related to access token acquiry (#721)
cheenamalhotra Sep 3, 2020
5934db4
Tests | Update Test Lab for Azure Synapse compatible test suite (#723)
cheenamalhotra Sep 16, 2020
81052d6
Feature | Add "Command Timeout" connection string option (#722)
ErikEJ Sep 18, 2020
d14c0b1
Feature | Add support for user-defined ApplicationClientId (#740)
cheenamalhotra Sep 28, 2020
6a9e4f1
Merge shared files (#734)
Wraith2 Oct 6, 2020
f49c44d
Added Code Coverage note (#752)
cheenamalhotra Oct 8, 2020
0d4c9bb
Feature | Azure Active Directory Managed Identity authentication supp…
cheenamalhotra Oct 8, 2020
43b8dc8
[Scheduled Run] Localized resource files from OneLocBuild
Oct 9, 2020
c0a1576
[Scheduled Run] Localized resource files from OneLocBuild
Oct 11, 2020
f7e4b75
[Scheduled Run] Localized resource files from OneLocBuild
Oct 12, 2020
81cab5d
[Scheduled Run] Localized resource files from OneLocBuild
Oct 13, 2020
12bc375
AKV Provider | Add new HSM endpoints (#750)
cheenamalhotra Oct 13, 2020
3647938
[Scheduled Run] Localized resource files from OneLocBuild
Oct 14, 2020
2ce5653
[Scheduled Run] Localized resource files from OneLocBuild
Oct 15, 2020
b0cb614
[Scheduled Run] Localized resource files from OneLocBuild
Oct 16, 2020
b9a96d8
Merge some metadata classes (#753)
Wraith2 Oct 19, 2020
f2cbaf8
Update Ref classes for AE support in .NET Standard (#756)
cheenamalhotra Oct 19, 2020
86e9f48
Update SslOverTdsStream (#541)
Wraith2 Oct 20, 2020
4107f24
Update SNI version to v2.1.1 (#764)
cheenamalhotra Oct 21, 2020
a947ded
Fix | AsyncHelper.WaitForCompletion leaks unobserved exceptions (#692)
jm771 Oct 22, 2020
2134081
Upgrade MSAL library version (#765)
cheenamalhotra Oct 23, 2020
d65173b
Implement public client application global cache (#770)
cheenamalhotra Oct 23, 2020
635f38b
Fix | Fix Assembly signing issue due to InternalsVisibleTo attribute …
cheenamalhotra Oct 23, 2020
b48de5d
Release notes for v2.1.0-preview2 (#772)
johnnypham Oct 24, 2020
741a5dd
Update Open Source documentations (#774)
cheenamalhotra Nov 2, 2020
ab9fbb7
Add shared SqlFacetAttribute (#757)
Wraith2 Nov 2, 2020
a7545de
Fix | Fix serialization issue with SqlException (.NET Core) (#780)
cheenamalhotra Nov 3, 2020
30f2a4d
Fix | Fix Bulk Copy Async deadlock with custom IDataReader using SqlD…
cheenamalhotra Nov 4, 2020
63b79e3
Fix | Fixes issue in Integrated Security auth on Windows (Managed SNI…
cheenamalhotra Nov 5, 2020
bd89b64
Fix bug in Async ExecuteXmlReader implementation (#782)
cheenamalhotra Nov 10, 2020
4b73f5e
Minor updation to Release notes (since API was renamed) (#787)
cheenamalhotra Nov 10, 2020
d404913
Add samples for ADO.NET documentation (#797)
DavoudEshtehari Nov 18, 2020
5ebb548
Update depedency versions of Microsoft.IdentityModel NuGets (#794)
cheenamalhotra Nov 18, 2020
f19cc8f
Introduce new API to clear global Public Client Application instances…
cheenamalhotra Nov 18, 2020
f0572f3
Source link PDBs for supporting debugging package directly (#789)
cheenamalhotra Nov 18, 2020
cde615e
Fixes "InvalidOperationException" errors by performing async operatio…
cheenamalhotra Nov 19, 2020
49d4df7
Update docs for release (#806)
cheenamalhotra Nov 19, 2020
ac8bb3f
Update release notes for v2.1.0 (#805)
cheenamalhotra Nov 19, 2020
21c3e18
Add samples (#821)
DavoudEshtehari Nov 25, 2020
bf5969d
Add data classficiation with rank - docs code sample (#817)
karinazhou Nov 25, 2020
8ad8da6
Add more code samples for documentation - Transaction and GetSchema (…
karinazhou Nov 27, 2020
6db9cc6
Add support for .NET Standard 2.0 in AKV provider (#823)
cheenamalhotra Dec 1, 2020
5066537
Add samples (#830)
DavoudEshtehari Dec 1, 2020
e286592
Add release notes for AKV v1.2.0 (#832)
karinazhou Dec 1, 2020
4f4f412
Fix Issue with System-Assigned Managed Identity in Azure Functions (#…
cheenamalhotra Dec 4, 2020
59c3b10
Related samples to ADO.NET documents, importing from .NET Framework-P…
DavoudEshtehari Dec 8, 2020
25a3f4d
State the deprecated properties (#842)
DavoudEshtehari Dec 11, 2020
699ae37
Fix Kerberos Authentication (#845)
karinazhou Dec 11, 2020
83e2c64
Fix | Fix TCP Keep Alive missing call (#854)
cheenamalhotra Dec 18, 2020
21b0197
Update release notes for v2.1.1 (#856)
cheenamalhotra Dec 18, 2020
a9c21bb
Share more files and add MultiPartIdentifier tests (#827)
Wraith2 Dec 22, 2020
d02bf4b
Update similar files, Share more files (#835)
Wraith2 Dec 22, 2020
bccf766
Update similar files (#838)
Wraith2 Dec 22, 2020
6a6a9df
Add sample (#860)
DavoudEshtehari Dec 23, 2020
372ca4f
Add new "BuildForRelease" property for controling release props + scr…
cheenamalhotra Dec 31, 2020
661b640
Version change and minor edits (#866)
cheenamalhotra Jan 6, 2021
45a6696
Fix | Fix issue connecting with instance name from Unix environment (…
cheenamalhotra Jan 12, 2021
b2c28a8
[.NET Core] Event source traces revision - Part 1 & 2 (#867)
cheenamalhotra Jan 13, 2021
748a9bd
Tests | Addressing string.Format parametes issue in test lab (#876)
Jan 14, 2021
f0c9fa6
Sync similar element of SqlCommand (#879)
Wraith2 Jan 14, 2021
f23e0d6
Fix | Prohibit DtdProcessing on XmlTextReader instance in .NET Core (…
cheenamalhotra Jan 18, 2021
dfa2d4e
Fix missing error messages in Managed SNI (#882)
cheenamalhotra Jan 18, 2021
9e3f0d6
Add missing System.Runtime.Caching dependency for .NET Standard assem…
johnnypham Jan 19, 2021
951eb6d
Managed SNI prevent orphaned active packets being GC'ed without clear…
Wraith2 Feb 1, 2021
83584a1
Small perf changes (#889)
Wraith2 Feb 2, 2021
b5d7bb6
SessionState reset replace new with array clear for perf (#900)
Wraith2 Feb 3, 2021
6d7caa3
Merge branch 'akv-upgrade' of https://github.com/cheenamalhotra/SqlCl…
johnnypham Feb 10, 2021
cf8e1f7
resolve merge conflicts
johnnypham Feb 11, 2021
471d9e8
resolve merge conflicts
johnnypham Feb 11, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ bld/

# Visual Studio 2017 auto generated files
Generated\ Files/
**/.AssemblyAttributes

# Visual Studio Code settings
.vscode/
Expand Down
35 changes: 25 additions & 10 deletions BUILDGUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Once the environment is setup properly, execute the desired set of commands belo
```

```bash
> msbuild /p:Platform=x86
> msbuild /p:Platform=Win32
# Builds the .NET Framework (NetFx) driver for Win32 (x86) platform on Windows.
```

Expand Down Expand Up @@ -74,22 +74,22 @@ Once the environment is setup properly, execute the desired set of commands belo

## Run Functional Tests

Windows (`netfx x86`):
Windows (`netfx x86`):
```bash
> dotnet test "src\Microsoft.Data.SqlClient\tests\FunctionalTests\Microsoft.Data.SqlClient.Tests.csproj" /p:Platform="Win32" /p:Configuration="Release" /p:TestTargetOS="Windowsnetfx" --no-build -v n --filter "category!=nonnetfxtests&category!=failing&category!=nonwindowstests"
```

Windows (`netfx x64`):
Windows (`netfx x64`):
```bash
> dotnet test "src\Microsoft.Data.SqlClient\tests\FunctionalTests\Microsoft.Data.SqlClient.Tests.csproj" /p:Platform="x64" /p:Configuration="Release" /p:TestTargetOS="Windowsnetfx" --no-build -v n --filter "category!=nonnetfxtests&category!=failing&category!=nonwindowstests"
```

Windows (`netcoreapp`):
Windows (`netcoreapp`):
```bash
> dotnet test "src\Microsoft.Data.SqlClient\tests\FunctionalTests\Microsoft.Data.SqlClient.Tests.csproj" /p:Platform="AnyCPU" /p:Configuration="Release" /p:TestTargetOS="Windowsnetcoreapp" --no-build -v n --filter "category!=nonnetcoreapptests&category!=failing&category!=nonwindowstests"
```

Unix (`netcoreapp`):
Unix (`netcoreapp`):
```bash
> dotnet test "src/Microsoft.Data.SqlClient/tests/FunctionalTests/Microsoft.Data.SqlClient.Tests.csproj" /p:Platform="AnyCPU" /p:Configuration="Release" /p:TestTargetOS="Unixnetcoreapp" --no-build -v n --filter "category!=nonnetcoreapptests&category!=failing&category!=nonlinuxtests&category!=nonuaptests"
```
Expand Down Expand Up @@ -119,25 +119,26 @@ Manual Tests require the below setup to run:
|SupportsIntegratedSecurity | (Optional) Whether or not the USER running tests has integrated security access to the target SQL Server.| `true` OR `false`|
|SupportsFileStream | (Optional) Whether or not FileStream is enabled on SQL Server| `true` OR `false`|
|UseManagedSNIOnWindows | (Optional) Enables testing with Managed SNI on Windows| `true` OR `false`|
|IsAzureSynpase | (Optional) When set to 'true', test suite runs compatible tests for Azure Synapse/Parallel Data Warehouse. | `true` OR `false`|

Commands to run tests:

Windows (`netfx x86`):
Windows (`netfx x86`):
```bash
> dotnet test "src\Microsoft.Data.SqlClient\tests\ManualTests\Microsoft.Data.SqlClient.ManualTesting.Tests.csproj" /p:Platform="Win32" /p:Configuration="Release" /p:TestTargetOS="Windowsnetfx" --no-build -v n --filter "category!=nonnetfxtests&category!=failing&category!=nonwindowstests"
```

Windows (`netfx x64`):
Windows (`netfx x64`):
```bash
> dotnet test "src\Microsoft.Data.SqlClient\tests\ManualTests\Microsoft.Data.SqlClient.ManualTesting.Tests.csproj" /p:Platform="x64" /p:Configuration="Release" /p:TestTargetOS="Windowsnetfx" --no-build -v n --filter "category!=nonnetfxtests&category!=failing&category!=nonwindowstests"
```

Windows (`netcoreapp`):
Windows (`netcoreapp`):
```bash
> dotnet test "src\Microsoft.Data.SqlClient\tests\ManualTests\Microsoft.Data.SqlClient.ManualTesting.Tests.csproj" /p:Platform="AnyCPU" /p:Configuration="Release" /p:TestTargetOS="Windowsnetcoreapp" --no-build -v n --filter "category!=nonnetcoreapptests&category!=failing&category!=nonwindowstests"
```

Unix (`netcoreapp`):
Unix (`netcoreapp`):
```bash
> dotnet test "src/Microsoft.Data.SqlClient/tests/ManualTests/Microsoft.Data.SqlClient.ManualTesting.Tests.csproj" /p:Platform="AnyCPU" /p:Configuration="Release" /p:TestTargetOS="Unixnetcoreapp" --no-build -v n --filter "category!=nonnetcoreapptests&category!=failing&category!=nonlinuxtests&category!=nonuaptests"
```
Expand All @@ -157,7 +158,7 @@ Tests can be built and run with custom "Reference Type" property that enables di
- "NetStandardPackage" => Build and run tests with Microsoft.Data.SqlClient as Package Reference via .NET Standard Library

> ************** IMPORTANT NOTE BEFORE PROCEEDING WITH "PACKAGE" AND "NETSTANDARDPACKAGE" REFERENCE TYPES ***************
> CREATE A NUGET PACKAGE WITH BELOW COMMAND AND ADD TO LOCAL FOLDER + UPDATE NUGET CONFIG FILE TO READ FROM THAT LOCATION
> CREATE A NUGET PACKAGE WITH BELOW COMMAND AND ADD TO LOCAL FOLDER + UPDATE NUGET CONFIG FILE TO READ FROM THAT LOCATION
> ```
> > msbuild /p:configuration=Release
> ```
Expand Down Expand Up @@ -264,3 +265,17 @@ There may be times where connection cannot be made to SQL Server, we found below
<TargetsWindows>false</TargetsWindows>
<TargetsUnix>true</TargetsUnix>
```

## Collecting Code Coverage

### Using VSTest

```bash
dotnet test <test_properties...> --collect:"Code Coverage"
```

### Using Coverlet Collector

```bash
dotnet test <test_properties...> --collect:"XPlat Code Coverage"
```
46 changes: 46 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,52 @@ All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)

## [Stable Release 2.1.1] - 2020-12-18

### Fixed
- Fixed issue with System-Assigned Managed Identity in Azure Functions [#841](https://github.com/dotnet/SqlClient/pull/841)
- Fixed issue with Kerberos Authentication for .NET Core in Unix environments [#848](https://github.com/dotnet/SqlClient/pull/848)
- Fixed issue with TCP Keep Alive for .NET Core in Unix environments [#855](https://github.com/dotnet/SqlClient/pull/855)


## [Stable Release 2.1.0] - 2020-11-19

### Added
- Microsoft.Data.SqlClient symbols are now source-linked [#789](https://github.com/dotnet/SqlClient/pull/789)
- Added an API to clear cached access tokens from the token provider [#800](https://github.com/dotnet/SqlClient/pull/800)
- Added `SqlFacetAttribute` implementation [#757](https://github.com/dotnet/SqlClient/pull/757)

### Fixed
- Fixed `InvalidOperationException` and `NotSupportedException` errors due to `WriteAsync` collisions [#796](https://github.com/dotnet/SqlClient/pull/796)
- Fixed incorrect Settings.Async flag in `ExecuteXmlReaderAsync` [#782](https://github.com/dotnet/SqlClient/pull/782)
- Fixed a regression in Windows Integrated authentication when using managed networking [#777](https://github.com/dotnet/SqlClient/pull/777)
- Fixed Bulk Copy Async deadlock issues with custom `IDataReader` when using `SqlDataReader` internally [#779](https://github.com/dotnet/SqlClient/pull/779)
- Fixed a serialization issue with `SqlException` in .NET Core [#780](https://github.com/dotnet/SqlClient/pull/780)

### Changes
- Updated versions of `Microsoft.IdentityModel` package dependencies [#794](https://github.com/dotnet/SqlClient/pull/794)


## [Preview Release 2.1.0-preview2.20297.7] - 2020-10-23

### Added
- Added support for Azure Active Directory Managed Identity authentication [#730](https://github.com/dotnet/SqlClient/pull/730)
- Added support to provide a user-defined application client ID when using Active Directory authentication [#740](https://github.com/dotnet/SqlClient/pull/740)
- Added the "Command Timeout" connection string property to set a default timeout for all commands executed with the connection [#722](https://github.com/dotnet/SqlClient/pull/722)
- Added support for Always Encrypted on all supported platforms for .NET Standard 2.0 [#756](https://github.com/dotnet/SqlClient/pull/756)

### Fixed
- Fixed unobserved exception issue when a timeout occurs before a faulted task completes with an exception [#688](https://github.com/dotnet/SqlClient/pull/688) [#773](https://github.com/dotnet/SqlClient/pull/773)
- Fixed an issue where driver continues to prompt for credentials when using Azure Active Directory authentication [#770](https://github.com/dotnet/SqlClient/pull/770)

### Changes
- Updated `Microsoft.Data.SqlClient.SNI` (.NET Framework dependency) and `Microsoft.Data.SqlClient.SNI.runtime` (.NET Core/Standard dependency) version to `v2.1.1` and removed symbols from `Microsoft.Data.SqlClient.SNI.runtime`, which are now published to Microsoft Symbols Server [#764](https://github.com/dotnet/SqlClient/pull/764)
- Updated `Microsoft.Identity.Client` dependency version to `v4.21.1` [#765](https://github.com/dotnet/SqlClient/pull/765)
- Performance improvements when establishing an encrypted channel by removing sync over async method calls [#541](https://github.com/dotnet/SqlClient/pull/541)
- Performance improvements by replacing heap-allocated arrays with Spans [#667](https://github.com/dotnet/SqlClient/pull/667)
- Moved common files to shared folder between .NET Framework and .NET Core implementation [#734](https://github.com/dotnet/SqlClient/pull/734) [#753](https://github.com/dotnet/SqlClient/pull/753)


## [Stable Release 2.0.1] - 2020-08-25

### Added
Expand Down
73 changes: 73 additions & 0 deletions NOTICE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
NOTICES AND INFORMATION
Do Not Translate or Localize

This software incorporates material from third parties.
Microsoft makes certain open source code available at https://3rdpartysource.microsoft.com,
or you may send a check or money order for US $5.00, including the product name,
the open source component name, platform, and version number, to:

Source Code Compliance Team
Microsoft Corporation
One Microsoft Way
Redmond, WA 98052
USA

Notwithstanding any other terms, you may reverse engineer this software to the extent
required to debug changes to any libraries licensed under the GNU Lesser General Public License.


----------------------------------------------------------------------------------------------


In addition, Microsoft.Data.SqlClient.SNI and Microsoft.Data.SqlClient.SNI.runtime include the notice provided below:



MICROSOFT SOFTWARE LICENSE TERMS

MICROSOFT .NET LIBRARY

These license terms are an agreement between you and Microsoft Corporation (or based on where you live, one of its affiliates). They apply to the software named above. The terms also apply to any Microsoft services or updates for the software, except to the extent those have different terms.

IF YOU COMPLY WITH THESE LICENSE TERMS, YOU HAVE THE RIGHTS BELOW.

1. INSTALLATION AND USE RIGHTS.
You may install and use any number of copies of the software to develop and test your applications.
2. THIRD PARTY COMPONENTS. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software.
3. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS.
a. DISTRIBUTABLE CODE. The software is comprised of Distributable Code. "Distributable Code" is code that you are permitted to distribute in applications you develop if you comply with the terms below.
i. Right to Use and Distribute.
* You may copy and distribute the object code form of the software.
* Third Party Distribution. You may permit distributors of your applications to copy and distribute the Distributable Code as part of those applications.
ii. Distribution Requirements. For any Distributable Code you distribute, you must
* use the Distributable Code in your applications and not as a standalone distribution;
* require distributors and external end users to agree to terms that protect it at least as much as this agreement; and
* indemnify, defend, and hold harmless Microsoft from any claims, including attorneys' fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified Distributable Code.
iii. Distribution Restrictions. You may not
* use Microsoft's trademarks in your applications' names or in a way that suggests your applications come from or are endorsed by Microsoft; or
* modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An "Excluded License" is one that requires, as a condition of use, modification or distribution of code, that (i) it be disclosed or distributed in source code form; or (ii) others have the right to modify it.
4. DATA.
a. Data Collection. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may opt-out of many of these scenarios, but not all, as described in the software documentation. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with Microsoft's privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and its use from the software documentation and our privacy statement. Your use of the software operates as your consent to these practices.
b. Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr.
5. SCOPE OF LICENSE. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not
* work around any technical limitations in the software;
* reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software;
* remove, minimize, block or modify any notices of Microsoft or its suppliers in the software;
* use the software in any way that is against the law; or
* share, publish, rent or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party.
6. EXPORT RESTRICTIONS. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit www.microsoft.com/exporting.
7. SUPPORT SERVICES. Because this software is "as is," we may not provide support services for it.
8. ENTIRE AGREEMENT. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services.
9. APPLICABLE LAW. If you acquired the software in the United States, Washington law applies to interpretation of and claims for breach of this agreement, and the laws of the state where you live apply to all other claims. If you acquired the software in any other country, its laws apply.
10. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You may have other rights, including consumer rights, under the laws of your state or country. Separate and apart from your relationship with Microsoft, you may also have rights with respect to the party from which you acquired the software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you:
a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights.
b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software.
c) Germany and Austria.
(i) Warranty. The software will perform substantially as described in any Microsoft materials that accompany it. However, Microsoft gives no contractual guarantee in relation to the software.
(ii) Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as in case of death or personal or physical injury, Microsoft is liable according to the statutory law.
Subject to the foregoing clause (ii), Microsoft will only be liable for slight negligence if Microsoft is in breach of such material contractual obligations, the fulfillment of which facilitate the due performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence
11. DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED "AS-IS." YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
12. LIMITATION ON AND EXCLUSION OF REMEDIES AND DAMAGES. YOU CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES.
This limitation applies to (a) anything related to the software, services, content (including code) on third party Internet sites, or third party applications; and (b) claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, or other tort to the extent permitted by applicable law.
It also applies even if Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your state or country may not allow the exclusion or limitation of incidental, consequential or other damages.

Loading