Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add semantic versioning #152

Merged
merged 4 commits into from
Nov 30, 2020
Merged

Add semantic versioning #152

merged 4 commits into from
Nov 30, 2020

Conversation

js6pak
Copy link
Member

@js6pak js6pak commented Nov 15, 2020

Description

Adds semantic versioning to both BepInEx and plugins.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)

Copy link
Contributor

@ghorsington ghorsington left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR! Here are some notes. I already mentioned some of them on Discord, here so in some cases this is a reiteration of already mentioned things.

BepInEx.Bootstrap/BepInEx.Bootstrap.csproj Outdated Show resolved Hide resolved
BepInEx.Core/BepInEx.Core.csproj Outdated Show resolved Hide resolved
BepInEx.Core/Bootstrap/BaseChainloader.cs Outdated Show resolved Hide resolved
BepInEx.Core/Contract/Attributes.cs Outdated Show resolved Hide resolved
BepInEx.Core/Contract/Attributes.cs Outdated Show resolved Hide resolved
BepInEx.Shared/BepInEx.Shared.projitems Outdated Show resolved Hide resolved
BepInEx.Unity/BepInEx.Unity.csproj Outdated Show resolved Hide resolved
BepInEx.Unity/BepInEx.Unity.csproj Outdated Show resolved Hide resolved
BepInExTests/BepInExTests.csproj Outdated Show resolved Hide resolved
build.cake Outdated Show resolved Hide resolved
@js6pak js6pak marked this pull request as ready for review November 16, 2020 13:45
Copy link
Contributor

@ghorsington ghorsington left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me

@ghorsington
Copy link
Contributor

cc @bbepis for final verification on this PR

@ghorsington
Copy link
Contributor

After some delibiration with Bepis, there was a new decision regarding this:

  • Semver ranges are indeed needed: their immediate use is to update BepInDependency attribute to specify semver version range instead of a minimum version
    • Chainloading should be upgraded accordingly to do version range checks
  • Currently used semver port to net35 doesn't have ranges while the original NuGet versioning package was too big (nor supported net35) either. Instead we should use semver.net which supports version ranges and net35 out of the box
  • There is no consensus yet as to how semver.net should be included, but for now it's clear that we'll pull it directly as a NuGet package

There may be a change related maybe ILRepacking semver into core, but for now it's fine just as a NuGet package since net35 version is available directly.

Copy link
Contributor

@ghorsington ghorsington left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, waiting final approval of @bbepis

@ghorsington ghorsington merged commit 821ad5f into BepInEx:master Nov 30, 2020
@js6pak js6pak mentioned this pull request Jan 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants