Last year I left Kentor for new adventures as an independent consultant. I got the Kentor.AuthServices project with me, but of course need to rename it as it is not associated with Kentor any more. So how does one rename a library and nuget packges with 100k+ downloads and users all over the world? Simply releasing new versions under the new Sustainsys.Saml2 name will leave a lot of users stale on the last version with the old name. So what I did was to release dummy packages that kicks off the migration process.

The last release with functionality in the Kentor.AuthServices name was 0.22.0. I then did a huge renaming operation and published new packages named Sustainsys.Saml2 with version 0.23. Finally I published dummy Kentor.AuthServices 0.23 packages that brings in the Sustainsys.Saml2 0.23 packages and shows a readme with migration instructions.

I think that this is the least intrusive I can do, while still having people discover that the library has been renamed. Updating nuget references should be part of the development cycle, so I hope that people will notice this.

The migration instructions are included in a readme that will be automatically displayed on installation.

Update: The readme is displayed automatically in most cases, but not all of them. If doing a bulk update in visual studio by checking multiple nuget packages and selecting to update them, the readme mechanism isn’t used. It’s not much I can do about it and I hope that anyone encountering issues because of that will turn to google, find this post and figure out what needs to be done.

Project Renamed to Sustainsys.Saml2

The Kentor.AuthServices project has been renamed to Sustainsys.Saml2.
Anders Abel, the maintainer of the library has left Kentor and the library
has been transferred to his new company Sustainsys. It is still the
same library, with the same maintainer, just with a new name.

The updated new packages have been brought in automatically for you, but some
adjustments need to be done. If you rather would like to revert to the last
Kentor.AuthServices package and don’t do the rename now, please see further down.

Updates Needed in your Project

  • The namespace of everything is now “Sustainsys.Saml2”, so usings need to be updated.
  • The configuration element in web.config is now named sustainsys.saml2.
    • Update the config section declaration to <section name="sustainsys.saml2" type="Sustainsys.Saml2.Configuration.SustainsysSaml2Section, Sustainsys.Saml2" />
    • Rename the <kentor.authservices> tag to <sustainsys.saml2>
  • The default ModulePath is now “Saml2”. This will break existing configuration
    of Identity Providers. If you relied on the default value and have configured it
    with identity providers, set it to “AuthServices”:
    • If using web.config, set modulePath=”AuthServices” in the <sustainsys.saml2> opening tag.
    • If using the Mvc package, also set up a custom route for the Saml2Controller in your route configuration: routes.MapRoute("AuthServices", "/AuthServices/{action}", new { Controller = "Saml2" });
    • If using code based configuration, set spOptions.ModulePath=”/AuthServices”
  • In the owin package, the configuration API has got simplified names. All those long KentorAuthServicesSomething are now simply named Saml2Something:
    • Saml2AuthenticationOptions (previously KentorAuthServicesAuthenticationOptions)
    • App.UseSaml2Authentication() (previously app.UseKentorAuthServicesAuthentication())
    • Saml2AuthenticationMiddleware (previously KentorAuthServicesAuthenticationMiddleware)
  • Remove all Kentor.AuthServices.* packages from your solution.

Reverting to Kentor.AuthServices

If you rather want to revert to the latest Kentor.AuthServices release and not update to the new library right now, follow these instructions. Note however that there will be no updates/patches/security fixes to the Kentor.AuthServices package so you should really go forward with changing to the new packages.

To revert:

  • Preferred way: Use source control to undo changes.
  • Manual way: Downgrade to Kentor.AuthServices 0.22.0 and remove references to all Sustainsys.* packages.

To create the nuget packages, I wrote new nuspec files, that I packed with nuget pack. This is the main Kentor.AuthServices package. It contains a manual reference to the new Sustainsys.Saml2 package and a reference to the readme.txt that is automatically shown by Visual Studio.

<?xml version="1.0"?>
<package >
  <metadata>
    <id>Kentor.AuthServices</id>
    <version>0.23.0</version>
    <title>Kentor.AuthServices</title>
    <authors>Kentor</authors>
    <owners>Kentor</owners>
    <licenseUrl>https://github.com/Sustainsys/Saml2/blob/master/LICENSE</licenseUrl>
    <projectUrl>https://github.com/Sustainsys/Saml2</projectUrl>
    <iconUrl>https://raw.github.com/Sustainsys/Saml2/master/nuget/kentor.png</iconUrl>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>
      SAML2 Protocol library for ASP.NET. Don't reference this directly, use one of the API modules: Sustainsys.Saml2.HttpModule/Mvc/Owin/AspNetCore2.
    </description>
    <copyright>Copyright Kentor and contributors 2013-2018</copyright>
    <tags>SAML2 authentication AspNet SAML SSO</tags>
    <releaseNotes>
      The Kentor.AuthServices library has been renamed to Sustainsys.Saml2.
      This package is empty, but will install the new package.
    </releaseNotes>
    <dependencies>
      <group>
        <dependency id="Sustainsys.Saml2" version="0.23.0" />
      </group>
    </dependencies>
  </metadata>
  <files>
    <file src="readme.txt" target=""/>
  </files>
</package>
Posted in C#, Software Development on 2018-01-17 | Tagged Kentor.AuthServices, Sustainsys.Saml2

Source link

Leave a Reply

Your email address will not be published. Required fields are marked *