Skip to content

What is different between Central Portal and Legacy OSSRH?⚓︎

I am considering migrating from Legacy OSSRH to Central Portal, and I would like to know the differences between them.


Publishing⚓︎

Publishing to Maven Central via the Central Portal and via Legacy OSSRH are two different methods: they use different connection endpoints, plugins and authorization credentials. More details can be found in our documentation:

How do I know if I am on Legacy OSSRH?

If you use https://oss.sonatype.org or https://s01.sonatype.org to publish, you are publishing via the Legacy OSSRH service. If you are publishing via a build tool integration, this might be configured as a default, so check the plugin's documentation to be sure, if you didn't manually specify a URL.

You will not be able to use Central Portal to publish a component under a namespace that you publish to through Legacy OSSRH, Neither will you be able to do the opposite, and publish using Legacy OSSRH with a namespace that you have access to on Central Portal.

SNAPSHOTS⚓︎

SNAPSHOT versions are not currently supported by the Central Portal (for more detail on this please review our FAQ). If you wish for your artifacts to be available from Maven Central, you will have to publish a release version. Snapshots are supported in legacy OSSRH.

Authentication⚓︎

User tokens for the Central Portal use a different token system than OSSRH tokens. When migrating, you must create a new token for your deployment process. If you encounter 401 Unauthorized errors after migrating, you are likely publishing with your old OSSRH token.

Gradle⚓︎

Publishing through Gradle is also not yet officially supported in Central Portal. There are however several third-party plugins for Gradle that might be of interest if you wish to use Gradle.

Process to Migrate⚓︎

Self-Service Migration⚓︎

At the moment, self-service migration is limited based on the following conditions:

  • Namespaces that only have a single authorized publisher
  • Namespaces that do not have parent or child namespaces

As we continue to improve the Central Publisher Portal, we will expand the number of publishers who are able to self-service migrate, so be sure to check our documentation before requesting a manual migration.

  1. Navigate to the namespaces page.
  2. Observe the section labeled "OSSRH Namespaces".
    • If that section does not exist, there are no OSSRH namespaces associated with your account. If you expect there to be namespaces listed, first verify that they are not associated with a different publisher account, and then contact Central Support.
  3. Click on the "Migrate Namespace" button to open the migration popup.
  4. Observe the popup. A namespace that passes all of the criteria for self-service migration will display a checkbox to indicate that you have read the documentation and wish to proceed. The migration popup for an allowed migration, which has a checkbox, a
   cancel button, and a migrate button that is not
   enabled A namespace that does not pass some of the criteria to be self-service migrated might look like the following: The same migration popup, but with a note indicating that automatic
   migration is unavailable and a list of
   reasons

Manual Migration⚓︎

  1. Contact Central Support, using an email address that is associated with a known publisher to the namespace, after reading thoroughly through our documentation to assure you are aware of the difference and how to publish through Central Portal.
  2. Central Support confirms you own the namespace,
    1. If you do not own the namespace migration might not be permitted.
  3. Central Support will send you details about the migration and confirm you are ok to move forward with the migration.
  4. After receiving confirmation, migration will be done.
  5. Confirmation will be sent to you with details about the migration.