Skip to content

Release Notes for SharePoint Framework Package v1.5

Pat Miller edited this page Jun 8, 2018 · 8 revisions

What is new in this release?

Key changes are around the introduction of the 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.

See Try SharePoint Framework preview capabilities for more details on the plusbeta option.

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 details on the package-manager command line 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. We will start new open-source initiative on this under the SharePoint Dev community (PnP) to offer new supported platforms like Angular Elements and Vue.js.

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

How to migrate

  • Update your package.json file to point to the desired version of the @microsoft packages that currently point to 1.4.1 (or whatever version of the framework you were using). You'll want 1.5.0 or 1.5.0-plusbeta
  • Make sure your package.json file has the following in its dependencies "@types/webpack-env": "1.13.1", "@types/es6-promise": "0.0.33"
  • Make sure your tsconfig.json file has the following in it's types section: "types": [ "es6-promise", "webpack-env" ],
  • delete your node_modules and your package-lock.json file
  • install using your favourite package manager (npm, pnpm or yarn)

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
  • GA of Graph and 3rd party API execution from the SPFx solution
  • GA of Dialog Framework
  • Support for React 16
  • ... and more ...
Clone this wiki locally