Relativity Server SDK and API Packages Changes
Effective with the Relativity Server 2023 release, the NuGet packages required to extend core functionality and implement custom applications for Relativity Server are published and maintained separately from the SDKs hosted on the Relativity NuGet Gallery (nuget.org). The latest SDKs for Relativity Server will be hosted on a regional Relativity Server Artifactory Feed, while the Relativity NuGet Gallery will continue to host the RelativityOne packages. Separating the RelativityOne and Relativity Server packages provides for a more stable and reliable developer experience as each platform evolves.
The Relativity Server Artifactory Feed packages can be accessed from the following URLs:
- Use the URLs below to explore the available packages (these are effectively an equivalent to using nuget.org with a web browser to explore packages):
- Use the URLs below when configuring a package manager (within Windows or Visual Studio, for example)
You are not required to recompile your custom application against the Relativity Server Artifactory Feed-hosted packages for your application to work on Relativity Server 2023. However, we do recommend recompiling to consume the Relativity Server Artifactory Feed packages if it is a viable option, to ensure that your application is running against the latest Relativity Server SDKs. Moving forward, Relativity Server SDK packages will only be updated and enhanced on the Relativity Server Artifactory Feed sites. Custom applications compiled against the packages hosted on the NuGet Gallery may continue to work on future Relativity Server releases, but we recommend adopting the new Server packages as soon as possible, and strongly advise against updating any Server applications to consume new or updated versions of packages from nuget.org moving forward.
To ensure long-term platform compatibility, Relativity will eventually require Relativity Server custom applications to be compiled against the Relativity Server Artifactory Feed packages. We will communicate a more detailed migration plan and enforcement policy at a later date, and we will provide ample notice before instituting a hard requirement to adopt the Relativity Server Artifactory Feed.
See the topic Supported RelativityOne SDKs for Server 2023 for a listing of supported/equivalent SDKs for Relativity Server 2023, comparing the available SDKs from the Relativity Server Artifactory repository and nuget.org.
Updating your application to use packages from Artifactory
This section outlines how you can start adopting the Relativity Server SDK packages hosted on Relativity Server Artifactory Feed. Advantages of compiling your Relativity Server custom application against the Antifactory packages include:
- Ensuring compatibility with the latest version of Relativity Server
- Enabling you to take advantage of Relativity Server SDK enhancements and fixes
Custom applications that only target Relativity Server
For custom applications that only target Relativity Server we recommend updating your application to consume the packages hosted on the Relativity Server Artifactory Feed.
Follow these steps to compile your application against the Relativity Server SDK packages:
- Download the sample nuget.config from here (rename file to nuget.config after downloading). Refer to the Microsoft article on Package Source Mapping for more detail on using a nuget.config file.
- Copy the nuget.config file to your project repository root directory.
- Open your project or solution using Visual Studio 2022 or Rider.
- Update the versions used by your project with the latest versions available from the Relativity Server Artifactory Feed (this should also automatically restore them locally). In most cases, the package name will change, but the version will remain the same.
- Rebuild your project or solution.
- Commit your changes if the build was successful.
Custom applications that target both Relativity Server and RelativityOne (multi-targeting)
Some customers choose to maintain a single version of a custom application for use in Relativity Server and RelativityOne. While we continue to accommodate this strategy, developers will need to update their projects in order to consume the separate Relativity Server and RelativityOne SDK packages.
Follow these steps to update your application to consume the separate Relativity Server and RelativityOne SDK packages:
- Update your build tools to Visual Studio 2022 to enable NuGet 6 source mapping feature (this step is strongly recommended to guarantee that the correct packages are consumed).
- Create separate branches for Relativity Server and RelativityOne.
- Switch to your Relativity Server branch.
- Download the nuget.config from here (rename file to nuget.config after downloading). Refer to the Microsoft article on Package Source Mapping for more detail on using a nuget.config file.
- Copy the nuget.config file to the project repository root directory.
- Open your project or solution using Visual Studio 2022 or Rider.
- Update the versions used by your project with the latest versions available from the Relativity Server Artifactory Feed (this should also automatically restore them locally).
- Rebuild your project or solution.
- Commit your changes if the build was successful.
FAQ
Can I recompile my custom Relativity Server application against updated NuGet Gallery packages?
You are not prevented from recompiling a Relativity Server custom application against updated NuGet Gallery packages but Relativity cannot guarantee that breaking changes for Relativity Server have not been introduced, so it is strongly recommended that you avoid this action. If you ever plan to recompile a custom application for Relativity Server in the future you should do so using the Relativity Server Artifactory Feed packages.