diff --git a/v2/cmd/wails/internal/version.txt b/v2/cmd/wails/internal/version.txt index d80b4a81..8c99f59f 100644 --- a/v2/cmd/wails/internal/version.txt +++ b/v2/cmd/wails/internal/version.txt @@ -1 +1 @@ -v2.5.0 \ No newline at end of file +v2.5.1 \ No newline at end of file diff --git a/v2/tools/release/release.go b/v2/tools/release/release.go index 55829955..a09fa7a3 100644 --- a/v2/tools/release/release.go +++ b/v2/tools/release/release.go @@ -2,10 +2,12 @@ package main import ( "encoding/json" + "github.com/samber/lo" "os" "os/exec" "strconv" "strings" + "time" "github.com/wailsapp/wails/v2/internal/s" ) @@ -43,45 +45,82 @@ func runCommand(name string, arg ...string) { checkError(err) } +func IsPointRelease(currentVersion string, newVersion string) bool { + // The first n-1 parts of the version should be the same + if currentVersion[:len(currentVersion)-2] != newVersion[:len(newVersion)-2] { + return false + } + // split on the last dot in the string + currentVersionSplit := strings.Split(currentVersion, ".") + newVersionSplit := strings.Split(newVersion, ".") + // compare the + // if the last part of the version is the same, it's a point release + currentMinor := lo.Must(strconv.Atoi(currentVersionSplit[len(currentVersionSplit)-1])) + newMinor := lo.Must(strconv.Atoi(newVersionSplit[len(newVersionSplit)-1])) + return newMinor == currentMinor+1 +} + func main() { var newVersion string + var isPointRelease bool if len(os.Args) > 1 { newVersion = os.Args[1] - err := os.WriteFile(versionFile, []byte(newVersion), 0755) + currentVersion, err := os.ReadFile(versionFile) checkError(err) + err = os.WriteFile(versionFile, []byte(newVersion), 0755) + checkError(err) + isPointRelease = IsPointRelease(string(currentVersion), newVersion) } else { newVersion = updateVersion() } + // Update ChangeLog s.CD("../../../website") - runCommand("npx", "-y", "pnpm", "install") - s.ECHO("Generating new Docs for version: " + newVersion) - - runCommand("npx", "pnpm", "run", "docusaurus", "docs:version", newVersion) - - runCommand("npx", "pnpm", "run", "write-translations") - - // Load the version list/* - versionsData, err := os.ReadFile("versions.json") + // Read in `src/pages/changelog.mdx` + changelogData, err := os.ReadFile("src/pages/changelog.mdx") checkError(err) - var versions []string - err = json.Unmarshal(versionsData, &versions) - checkError(err) - oldestVersion := versions[len(versions)-1] - s.ECHO(oldestVersion) - versions = versions[0 : len(versions)-1] - newVersions, err := json.Marshal(&versions) - checkError(err) - err = os.WriteFile("versions.json", newVersions, 0755) + changelog := string(changelogData) + // Split on the line that has `## [Unreleased]` + changelogSplit := strings.Split(changelog, "## [Unreleased]") + // Get today's date in YYYY-MM-DD format + today := time.Now().Format("2006-01-02") + // Add the new version to the top of the changelog + newChangelog := changelogSplit[0] + "## [Unreleased]\n\n## [" + newVersion + "] - " + today + changelogSplit[1] + // Write the changelog back + err = os.WriteFile("src/pages/changelog.mdx", []byte(newChangelog), 0755) checkError(err) - s.ECHO("Removing old version: " + oldestVersion) - s.CD("versioned_docs") - s.RMDIR("version-" + oldestVersion) - s.CD("../versioned_sidebars") - s.RM("version-" + oldestVersion + "-sidebars.json") - s.CD("..") + if !isPointRelease { + runCommand("npx", "-y", "pnpm", "install") - runCommand("npx", "pnpm", "run", "build") + s.ECHO("Generating new Docs for version: " + newVersion) + + runCommand("npx", "pnpm", "run", "docusaurus", "docs:version", newVersion) + + runCommand("npx", "pnpm", "run", "write-translations") + + // Load the version list/* + versionsData, err := os.ReadFile("versions.json") + checkError(err) + var versions []string + err = json.Unmarshal(versionsData, &versions) + checkError(err) + oldestVersion := versions[len(versions)-1] + s.ECHO(oldestVersion) + versions = versions[0 : len(versions)-1] + newVersions, err := json.Marshal(&versions) + checkError(err) + err = os.WriteFile("versions.json", newVersions, 0755) + checkError(err) + + s.ECHO("Removing old version: " + oldestVersion) + s.CD("versioned_docs") + s.RMDIR("version-" + oldestVersion) + s.CD("../versioned_sidebars") + s.RM("version-" + oldestVersion + "-sidebars.json") + s.CD("..") + + runCommand("npx", "pnpm", "run", "build") + } } diff --git a/website/src/pages/changelog.mdx b/website/src/pages/changelog.mdx index c762fb41..f08a679d 100644 --- a/website/src/pages/changelog.mdx +++ b/website/src/pages/changelog.mdx @@ -14,6 +14,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [v2.5.1] - 2023-05-16 + ### Breaking Changes - The Go WebView2Loader allowed env variable and registry overrides to change the behaviour of WebView2. This is not possible when using the native WebView2Loader with Wails and should not be possible according to [PR](https://github.com/wailsapp/wails/pull/1771). Changed by @stffabi in [PR](https://github.com/wailsapp/wails/pull/2668)