Skip to content

Release Notes for SharePoint Framework Package v1.5

Vesa Juvonen edited this page Jun 5, 2018 · 8 revisions

What is new in this release?

Key changes are around introduction of new plusbeta model and numerous other improvements and additional capabilities.

What is -plusbeta?

Ship vs. Beta APIs are now separate packages

Starting with the 1.5.0 release, the packages will only contain the final public APIs in the d.ts files. All beta APIs are removed, and you will need to explicitly choose the packages that contain the beta APIs in them. In order to use these beta APIs, you need to use the 1.5.0-plusbeta versions of the packages. Note that there is only one version of @microsoft/generator-sharepoint , and it is capable of creating both beta and not beta solutions.

You can create solutions that use the beta APIs in one of two ways. You can run the yeoman generator and add a --plusbeta flag in the command line, and it will create a package.json file with the -plusbeta versions already, or you can simply update the references in package.json to use the -plusbeta version.

This is somewhat different than your typical approach, due to the fact that while there are occasionally entire packages that are in beta, it's also common for some beta APIs to be in existing ship packages. It's also not necessarily true that it is a beta version of the next release, as a feature may stay in the preview for more than one release.

What is New in This Release

Developer preview of Dynamic Data

The main bulk of this release is the developer preview of dynamic data. You can think of this as a modern take on the "Web Part Connections" feature in the classic pages.

The end goal of the feature will be to allow developers and users to have properties be more dynamic, and can be bound to properties in other web parts (say a user card that is driven by the currently selected document in a document library web part), page state (the user card displays the author) or even page context (the user card displays the current user).

This dev preview is mostly focused on the underlying data model. No first party web parts are currently exposing properties. We have a sample page context object and a rough (developer focused) property pane control where you can type in the path to the dynamic property that you want to bind a web part property to.

We're still working on the end user experience but wanted developers to try this out in the meantime. You can find tutorials and examples from following locations:

More Package Manager support

The Yeoman generator and build tools now support PNPM and Yarn package managers, as well as npm.

To use this, --package-manager command line option in the generator, and you can specify 'npm', 'pnpm' or 'yarn'.

For example:

yo @microsoft/sharepoint --package-manager pnpm

See SPFx Yeoman documentation for more support.

Support for customized Yeoman Generators

We have reworked the generator to follow best practices. This should allow you to leverage our generator for your own custom generators.

Other minor changes

Many of the updates to the framework don't actually require an update to the npm packages. For example, we've removed the authentication popup in the initial release of the Web API developer preview code, but the change rolls out to the framework hosted on the service, so no changes are required for developers.

There have been some updates that explicitly require updates to packages:

  • Added AAD information to the PageContext (aadInfo)
  • Fixed issues around sp-dialog and other packages not working correctly in the workbench
  • Added 10 additional tslint rules from tslint-microsoft-config to detect common security vulnerabilities
  • Fixed an issue in package-solution where warnings were causing the build to incorrectly fail
  • Added a pre-webpack task extensibility point

What's coming next?

Next version will be 1.6.0 and we are planning to have at least following features (subject to change):

  • A package to help get browser notifications when another user updates a library (socket.io)
  • The ability to deploy an extension tenant-wide
  • Support for React 16
  • ... and more ...
Clone this wiki locally