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

.NET core / framework compat #310

Merged
merged 8 commits into from
Dec 12, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions modules/hello-world/partials/supported.adoc
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
The Couchbase .NET SDK is compatible with https://docs.microsoft.com/en-us/dotnet/standard/net-standard[.NET Standard] 2.0 and .NET Standard 2.1, which means that it's compatible with .NET Framework 4.6.2+, .NET 5.0, .NET 6.0, and .NET Core 3.1.
The Couchbase .NET SDK is compatible with https://docs.microsoft.com/en-us/dotnet/standard/net-standard[.NET Standard] 2.0 and .NET Standard 2.1, via the currently supported Microsoft .NET SDKs.
Currently, that includes https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core[.NET 6.0 and later] for .NET Standard 2.1 and https://learn.microsoft.com/en-us/lifecycle/products/microsoft-net-framework[.NET Framework 4.6.2 and later] for .NET Standard 2.0.
The https://docs.microsoft.com/en-us/dotnet/standard/net-standard[.NET Standard documentation] and
https://dotnet.microsoft.com/platform/dotnet-standard#versions[.NET Standard version chart] may be useful to help understand other available options.

Couchbase strongly recommends using the latest version of .NET that's officially supported by both Microsoft and Couchbase.
Couchbase strongly recommends using the https://versionsof.net/[latest LTS version of .NET that's officially supported] by both Microsoft and Couchbase.
Other .NET implementations may work, but aren't tested, and are outside the scope of technical support.
3 changes: 2 additions & 1 deletion modules/howtos/pages/managing-connections.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,8 @@ The .NET SDK bundles Capella’s standard root certificate by default.
This means you don’t need any additional configuration to enable TLS -- simply use `couchbases://` in your connection string.

NOTE: Capella's root certificate is *not* signed by a well known CA (Certificate Authority).
However, as the certificate is bundled with the SDK, it is trusted by default.
However, as the certificate is bundled with the SDK when using .NET 6.0 or later, it is trusted by default.
.NET Framework clients will have to add it to the Windows certificate store.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to more specific about what a ".NET Framework client" is? Meaning linking to .NET Framework and .NET 6?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe - but probably not from this page, rather from the compat page.


=== Couchbase Server

Expand Down
36 changes: 13 additions & 23 deletions modules/project-docs/pages/compatibility.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,8 @@ See the notes there for Support details.
=== Capella Compatibility

The Couchbase .NET SDK is fully compatible with Couchbase Capella, our fully-hosted database-as-a-service.
To make development easier, the SDK includes the Capella client certificate ready installed.
To make development easier, the SDK includes the Capella client certificate ready installed for .NET 6.0 and later clients.
However, for clients using .NET Framework, the Capella certificate must be manually installed in the local machine's certificate store, as the API necessary for in-memory certificates isn't available under the legacy framework.

include::{version-common}@sdk:shared:partial$capella.adoc[tag=cloud]

Expand Down Expand Up @@ -76,7 +77,7 @@ Microsoft Windows 10 / All LTS releases from Windows Server 2016.

The current and previous two releases of OS X.
At time of writing (October 2022): 13 (Ventura), 12 (Monterey), and 11 (Big Sur).
M1 ARM architecture is fully supported in the .NET SDK.
M1 ARM architecture is fully supported in the .NET SDK as of .NET 6.0.
****

Although installable or compilable on many other platforms, we cannot provide support for untested combinations.
Expand All @@ -92,7 +93,7 @@ AWS Amazon Graviton2, Apple M1 ARM processors, and ARMv8 on Ubuntu 20.04 (from S
[.table-merge-cells]
[cols="7,5,6,5"]
|===
| | Server 6.6 | Server 7.0 | Server 7.1
| | Server 6.6 | Server 7.0 | Server 7.1 - 7.2

| Enhanced Durability
3+| All SDK versions
Expand Down Expand Up @@ -129,14 +130,9 @@ include::hello-world:partial$supported.adoc[]
[#table_sdk_versions]
[cols="40,20,25,20"]
|===
| | SDK 3.0, 3.1 | SDK 3.2 | SDK 3.3, 3.4
| | SDK 3.0 - 3.2 | SDK 3.3 | SDK 3.4

| .NET Core 3.1 (Long Term Support)
| *✔*
| *✔*
| *✔*

| .NET 5.0, 6.0 (Recommended)
| .NET 6.0 (Recommended, Long-Term Support)
| *✔*
| *✔*
| *✔*
Expand All @@ -151,24 +147,18 @@ include::hello-world:partial$supported.adoc[]
| *✔*
| *✔*

| .NET Core 2.0, 2.1, 2.2, 3.0
| *◎*
| *◎* +
except *✖* 2.0, 2.1 xref:project-docs:sdk-release-notes.adoc#version-3-2-5-10-december-2021[from 3.2.5]
| *◎* +
except *✖* 2.0, 2.1 xref:project-docs:sdk-release-notes.adoc#version-3-2-5-10-december-2021[from 3.2.5]
|===

| .NET Core 1.0, 1.1
| *✖*
| *✖*
| *✖*

| .NET Framework 4.5.x, 4.6.0, 4.6.1
| *✖*

////
// To add after 3.4.14 release:
| .NET 8.0 (Long-Term Support)
| *✖*
| *✖*
| *✔* From 3.4.14
////

|===



Expand Down