To regenerate the Tables.cs file from the reference unicode files, run Makefile
with the command make tables, which will create the updated tables.
There is some work to be done to dump the tables as a binary blob, without going through the various data structures that we have now, it would avoid all these constructors triggered on the static class.
Version info for NStack is managed by gitversion.
Install gitversion:
dotnet tool install --global GitVersion.Tool
dotnet-gitversionThe project version (the nuget package and in NStack.dll) is determined from the latest git tag.
The format of version numbers is vmajor.minor.patch.build.height and follows the Semantic Versioning rules.
To define a new version (e.g. with a higher major, minor, patch, or build value) tag a commit using git tag:
git tag v1.3.4-beta.5 -a -m "Release v1.3.4 Beta 5"
dotnet-gitversion /updateprojectfiles
dotnet build -c ReleaseDO NOT COMMIT AFTER USING /updateprojectfiles!
Doing so will update the .csproj files in your branch with version info, which we do not want.
To release a new version (e.g. with a higher major, minor, or patch value) tag a commit using git tag and then
push that tag directly to the main branch on github.com/gui-cs/NStack (upstream).
The tag must be of the form v<major>.<minor>.<patch>, e.g. v2.3.4.
patch can indicate pre-release or not (e.g. pre, beta, rc, etc...).
- Ensure everything is committed and pushed to the
developbranch - Ensure your local
developbranch is up-to-date withupstream/develop
The PR title should be of the form "Release v2.3.4"
git checkout develop
git pull upstream develop
git checkout -b v_2_3_4
git merge develop
git add .
git commit -m "Release v2.3.4"
git pushGo to the link printed by git push and fill out the Pull Request.
git checkout develop
git pull upstream developgit checkout main
git pull upstream main
git merge developFix any merge errors.
git tag v2.3.4 -a -m "Release v2.3.4"git push --atomic upstream main v2.3.4See https://stackoverflow.com/a/3745250/297526
https://github.com/gui-cs/NStack/actions
https://www.nuget.org/packages/NStack.Core
10) Add a new Release in Github: https://github.com/gui-cs/NStack/releases
Generate release notes with the list of PRs since the last release
Use gh to get a list with just titles to make it easy to paste into release notes:
gh pr list --limit 500 --search "is:pr is:closed is:merged closed:>=2022-11-1"git checkout develop
git pull upstream develop
git merge main
git push upstream develop