9.1 RC SDK

36 views
Skip to first unread message

Matt Ellis

unread,
Apr 2, 2015, 6:02:01 AM4/2/15
to resharpe...@googlegroups.com
Hi all. We're getting very close to releasing 9.1, and we've just pushed an RC build of the SDK to nuget.org. It's not marked as pre-release, so you can just update your projects and rebuild. We will update with an RTM build shortly. There are no expected API changes for this RTM build.

Please feel free to update your plugins to the new SDK. I'll be updating the docs over the next few days with some breaking changes - let me know if you find any, and I'll make sure they're documented.

Points of interest:
  • Actions no longer need a globally unique numeric ID. This was a limitation in the 9.0 installer, where all actions had to be unique across the product. We now generate a unique command group ID for a plugin's commands, rather than everything using ReSharper's, so the numeric ID now only has to be unique to the plugin. The command group ID is generated based on the assembly name, so we will generate the same group ID for different versions of a plugin, and any customised keyboard shortcuts should be carried forward to the new version.
    • The numeric ID is still required, but if you run in internal mode, there is an inspection that will ensure it's set and unique, and a quick fix will help correct it.
  • Testing was broken in 9.0, and assumed that you were building your plugin with the same folder structure as we use for building the product (because the product is a set of "sub platforms" (read - extensions) that plug into the ReSharper Platform). This is fixed for 9.1, but we didn't get all of the changes into this build. They'll be in the next build, and I'll be documenting what the changes mean for plugins.
  • Packages should depend on Wave 2.0. Your package cannot depend on a range of versions, unlike ReSharper 8.x. We only bundle one version of a plugin in a single package.
IMPORTANT: The Gallery currently does not properly handle packages that upgrade from Wave 1.0 to Wave 2.0. That is, a new Wave 2.0 compatible package will currently block installation of the last Wave 1.0 compatible package in ReSharper 9.0. If you publish a Wave 2.0 compatible version, ReSharper 9.0 will try to install that version, and fail. This is a limitation of the Gallery, and can (hopefully) be fixed with a server side update, which I'm looking at right now. Here's what you need to do:
  • Publish your Wave 2.0 packages as pre-release (for now). Most ReSharper 9.0 users will not have pre-release enabled, so it will be safe for most use cases.
As long as the fix to the Gallery works (it's a major change to the code and database), you will be able to flip your pre-release package to stable and everything will just work in ReSharper 9.0 and 9.1.

Let me know if you have any questions or issues.

Regards
Matt

Julien Lebosquain

unread,
Apr 9, 2015, 3:05:15 AM4/9/15
to resharpe...@googlegroups.com
Hi Matt,

What's the status on the gallery fix?
Now that ReSharper 9.1 is released, can we safely publish a 9.1 package as non-prerelease without affecting ReSharper 9.0 users?

Matt Ellis

unread,
Apr 9, 2015, 4:00:39 AM4/9/15
to resharpe...@googlegroups.com
I have a fix locally. I need to do a little more testing this morning, and hopefully can get it pushed in the next couple of hours. If you push to the gallery now, 9.0 users will still be blocked, but all being well, they'll be unblocked later today. I'm reasonably confident that it will be fine (it looks right, but it's under tested)

Matt
Reply all
Reply to author
Forward
This conversation is locked
You cannot reply and perform actions on locked conversations.
0 new messages