diff --git a/PnP dotnet Roadmap - January status2.png b/PnP dotnet Roadmap - January status2.png deleted file mode 100644 index be8403c1a3..0000000000 Binary files a/PnP dotnet Roadmap - January status2.png and /dev/null differ diff --git a/PnP dotnet Roadmap - March status.png b/PnP dotnet Roadmap - March status.png new file mode 100644 index 0000000000..a816d6438c Binary files /dev/null and b/PnP dotnet Roadmap - March status.png differ diff --git a/README.md b/README.md index d13a4a8a56..38e63fc734 100644 --- a/README.md +++ b/README.md @@ -4,29 +4,22 @@ Nuget package | Description | Latest version | Latest nightly development version --------------|-------------|----------------|------------------------------------ -PnP.Core | The PnP Core SDK | N/A | [![PnP.Core Nuget package](https://img.shields.io/nuget/vpre/PnP.Core.svg)](https://www.nuget.org/packages/PnP.Core/) -PnP.Core.Auth | The authentication provider for the PnP Core SDK | N/A | [![PnP.Core.Auth Nuget package](https://img.shields.io/nuget/vpre/PnP.Core.Auth.svg)](https://www.nuget.org/packages/PnP.Core.Auth/) +PnP.Core | The PnP Core SDK | [![PnP.Core Nuget package](https://img.shields.io/nuget/v/PnP.Core.svg)](https://www.nuget.org/packages/PnP.Core/) | [![PnP.Core Nuget package](https://img.shields.io/nuget/vpre/PnP.Core.svg)](https://www.nuget.org/packages/PnP.Core/) +PnP.Core.Auth | The authentication provider for the PnP Core SDK | [![PnP.Core.Auth Nuget package](https://img.shields.io/nuget/v/PnP.Core.Auth.svg)](https://www.nuget.org/packages/PnP.Core.Auth/) | [![PnP.Core.Auth Nuget package](https://img.shields.io/nuget/vpre/PnP.Core.Auth.svg)](https://www.nuget.org/packages/PnP.Core.Auth/) -The PnP Core SDK is an SDK designed to work for Microsoft 365. It provides a unified object model for working with SharePoint Online and Teams which is agnostic to the underlying APIs being called. Currently the library is in **beta**, see our roadmap for more details. The initial goal for this library will be to cover the needs of developers working with either SharePoint Online or Teams, but we're also open to extend this library further towards other Microsoft 365 workloads if there's community demand for doing so. +The PnP Core SDK is an SDK designed to work for Microsoft 365. It provides a unified object model for working with SharePoint Online and Teams which is agnostic to the underlying APIs being called. The initial goal for this library will be to cover the needs of developers working with either SharePoint Online or Teams, but we're also open to extend this library further towards other Microsoft 365 workloads if there's community demand for doing so. > **Important** > -> - The PnP Core SDK is in beta: it's ready for developers to start using in real life scenarios. Between now and GA there might be small breaking changes, but we try to minimize those as much as possible, focus will be on finalizing our GA scope, stabilizing and documenting it. -> - If you've used PnP Core SDK in a version before Beta3 then please check [these instructions](https://pnp.github.io/pnpcore/using-the-sdk/upgrade-to-beta3.html) on how to upgrade your code. +> - If you've used PnP Core SDK in a version before Beta3 then please check [these instructions](https://pnp.github.io/pnpcore/using-the-sdk/upgrade-to-beta3.html) on how to upgrade your code to the current version. For more details on how to use this SDK and how to contribute checkout https://aka.ms/pnp/coresdk/docs. -## Roadmap +## I want to help 🙋‍♂️ -This is a community effort, hence we cannot guarantee below roadmap but rest assure, we're working hard to stick to plan 🚀 If you want to join our team and help realize this, then checkout the [How can I help](https://pnp.github.io/pnpcore/#how-can-you-help) section in our docs. +If you want to join our team and help, then checkout the [How can I help](https://pnp.github.io/pnpcore/#how-can-you-help) section in our docs. -- Preview 3: September 2020 (shipped) -- Beta 1: November 2020 (shipped) -- Beta 2: January 2021 (shipped) -- Beta 3: February 2021 (shipped) -- V1: February 2021 - -## Frequently Asked Questions +## Frequently Asked Questions ❓ ### Will this work in modern .NET @@ -45,15 +38,15 @@ Absolutely! One of the key reasons for building PnP Core SDK is to nicely fit in ### What's the relationship with the existing PnP Sites Core / PnP Framework libraries -The [PnP Sites Core library](https://github.com/PnP/PnP-Sites-Core) is very popular library that extends SharePoint using mainly CSOM. This library contains the PnP Provisioning engine, tons of extension methods, a modern page API, etc...but this library has also organically grown into a complex and hard to maintain code base. One of the reasons why the PnP Core SDK development started is to provide a new clean basis for the PnP Sites Core library with a strong focus on quality (test coverage above 80%, automation). As this transition will take quite some time and effort we plan to gradually move things over from PnP Sites Core to the PnP Core SDK. The first step in this transition is releasing a .NET Standard 2.0 / .NET 5.0 version of PnP Sites Core, called [PnP Framework](https://github.com/pnp/pnpframework). Going forward [PnP Framework](https://github.com/pnp/pnpframework) features will move to the PnP Core SDK in a phased approach. At this moment we've shipped our first [PnP Framework](https://github.com/pnp/pnpframework) GA version (version 1.0.0 🎉) and beta 2 of the [PnP Core SDK](https://github.com/pnp/pnpcore). +The [PnP Sites Core library](https://github.com/PnP/PnP-Sites-Core) is very popular library that extends SharePoint using mainly CSOM. This library contains the PnP Provisioning engine, tons of extension methods, a modern page API, etc...but this library has also organically grown into a complex and hard to maintain code base. One of the reasons why the PnP Core SDK development started is to provide a new clean basis for the PnP Sites Core library with a strong focus on quality (test coverage above 80%, automation). As this transition will take quite some time and effort we plan to gradually move things over from PnP Sites Core to the PnP Core SDK. The first step in this transition was releasing a .NET Standard 2.0 / .NET 5.0 version of PnP Sites Core, called [PnP Framework](https://github.com/pnp/pnpframework). Going forward [PnP Framework](https://github.com/pnp/pnpframework) features will move to the PnP Core SDK in a phased approach. At this moment we've shipped [PnP Framework](https://github.com/pnp/pnpframework) GA version (version 1.0.0 🎉) and GA of the [PnP Core SDK](https://github.com/pnp/pnpcore). -![PnP dotnet roadmap](PnP%20dotnet%20Roadmap%20-%20January%20status2.png) +![PnP dotnet roadmap](PnP%20dotnet%20Roadmap%20-%20March%20status.png) ### What underlying APIs are used -The SDK provides an object model that's API agnostic, when you as a developer for example load a SharePoint List the SDK by default will use [Microsoft Graph](https://docs.microsoft.com/en-us/graph/). If however you're loading List properties that cannot be provided via [Microsoft Graph](https://docs.microsoft.com/en-us/graph/) the SDK wil issue a SharePoint REST call. Depending on the needs the SDK will use Microsoft Graph Beta calls (e.g. for Taxonomy support) and in some rare cases the CSOM endpoint (client.svc) is called. But the good thing is that all of this is transparent for you as developer! You'll have a consistent development experience regardless of the underlying APIs being called. +The SDK provides an object model that's API agnostic, when you as a developer for example load a model (List, Team, Web,...) the SDK will use the best possible API for loading that model being for the most part Microsoft Graph v1.0 and SharePoint REST. Depending on the needs the SDK will use Microsoft Graph Beta calls (e.g. for Taxonomy support) and in some rare cases the CSOM endpoint (client.svc) is called. But the good thing is that all of this is transparent for you as developer! You'll have a consistent development experience regardless of the underlying APIs being called. -As [Microsoft Graph](https://docs.microsoft.com/en-us/graph/) is our recommended API to work with Microsoft 365, the SDK will always use Microsoft Graph whenever possible, the "fall back" to SharePoint REST only happens when Microsoft Graph can't provide the needed data. +As [Microsoft Graph](https://docs.microsoft.com/en-us/graph/) is our recommended API to work with Microsoft 365, the SDK will favor Microsoft Graph whenever it makes sense, the "fall back" to SharePoint REST only happens when Microsoft Graph can't provide the needed data or consistency. **Community rocks, sharing is caring!** diff --git a/docs/index.md b/docs/index.md index c762fa0c21..4a02d4b8b4 100644 --- a/docs/index.md +++ b/docs/index.md @@ -2,22 +2,11 @@ ## Intro -The PnP Core SDK is an SDK designed to work for Microsoft 365. It provides a unified object model for working with SharePoint Online and Teams which is agnostic to the underlying APIs being called. Currently the library is in **beta**, see our roadmap for more details. The initial goal for this library will be to cover the needs of developers working with either SharePoint Online or Teams, but we're also open to extend this library further towards other Microsoft 365 workloads if there's community demand for doing so. +The PnP Core SDK is an SDK designed to work for Microsoft 365. It provides a unified object model for working with SharePoint Online and Teams which is agnostic to the underlying APIs being called. The initial goal for this library will be to cover the needs of developers working with either SharePoint Online or Teams, but we're also open to extend this library further towards other Microsoft 365 workloads if there's community demand for doing so. > [!Important] > -> - The PnP Core SDK is in beta: it's ready for developers to start using in real life scenarios. Between now and GA there might be small breaking changes, but we try to minimize those as much as possible, focus will be on finalizing our GA scope, stabilizing and documenting it. -> - If you've used PnP Core SDK in a version before Beta3 then please check [these instructions](https://pnp.github.io/pnpcore/using-the-sdk/upgrade-to-beta3.html) on how to upgrade your code. - -## Roadmap - -This is a community effort, hence we cannot guarantee below roadmap but rest assure, we're working hard to stick to plan 😀 If you want to join our team and help realize this, then checkout the [How can I help](https://pnp.github.io/pnpcore/#how-can-you-help) section in our docs. - -- Preview 3: September 2020 (shipped) -- Beta 1: November 2020 (shipped) -- Beta 2: January 2021 (shipped) -- Beta 3: February 2021 (shipped) -- V1: March 2021 +> - If you've used PnP Core SDK in a version before Beta3 then please check [these instructions](https://pnp.github.io/pnpcore/using-the-sdk/upgrade-to-beta3.html) on how to upgrade your code to the current version. ## Getting started using this library diff --git a/src/sdk/CHANGELOG.md b/src/sdk/CHANGELOG.md index 87b8f78402..f7a68b8a5b 100644 --- a/src/sdk/CHANGELOG.md +++ b/src/sdk/CHANGELOG.md @@ -6,7 +6,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). -## [Unreleased] +## [1.0.0] ### Added