diff --git a/FlatBuffers-release-process.md b/FlatBuffers-release-process.md index 988bc53..f4a3ffc 100644 --- a/FlatBuffers-release-process.md +++ b/FlatBuffers-release-process.md @@ -1,4 +1,30 @@ Steps to release a new version of FlatBuffers to github: + +## Flatc and C++ + +1. Update version in `include/flatbuffers/base.h` +1. Update version in `CMake/Version.cmake` +1. Update version-check in generated `include/flatbuffers/reflection_generated.h` + + This is needed because we have a catch-22 where we use this generated file within flatc, which makes that file. But it will complain that the flatbuffer libraries mismatch. + +1. Rebuild `flatc` +1. Run `scripts/generated_code.py` +1. Update `CHANGELOG.md` +1. Make a git commit with a message: `Flatbuffers Version X.X.X` +1. Go through the normal PR process to get the commit submitted +1. Generate an annotated tag for the release. Make sure this is done directly in the flatbuffer repo and not via a pull request. + + `git tag -a -m "Flatbuffers Version X.X.X" vX.X.X` + +1. Push the tag to github (again not via a PR). + + `git push origin v.X.X.X` + +1. The result should be a tagged commit at the following: https://github.com/google/flatbuffers/tags + +## To Categorize / Old Notes + * Change the version number in base.h, package.json, pom.xml (and various such files in grpc/), CMakeLists.txt (FlatBuffers_Library_SONAME_FULL), CMake/Version.cmake, dart/pubspec.yaml, rust/cargo.toml (not same as FlatBuffers version), Constants.java, FlatBufferConstants.cs, idl_gen_java/csharp/kotlin/swift.cpp * re-build flatc * runs generate_code.sh to ensure there's no missing files.