1. Finalize xsd and all dependencies (libxerces-c, libcutl, libxsd-frontend). * Review @@. * Update NEWS files. * Update build2 toolchain version constraints. * Update copyright. * Update bindist configs if necessary (e.g., generic linux config). * CI and make sure all good. * Publish to queue.stage.build2.org and make sure all good. * Do manual Q&A (schemas/{citygml.org/2.0.0/, fpml.org/5.1/}). * Push everything. 2. Release and publish to queue.stage.build2.org to build binary packages. * Release BUT DON'T PUSH in the dependency order: - Update version constraints to previouly released final version. bdep release --no-open * Test locally (bdep test -a). * Publish to queue.stage.build2.org. * Confirm all good and binaries are built (libxerces-c, libxsd, and xsd). * Update and run `download` script to download and arrange source and binary packages. * Build Mac OS aarch64 binaries manually (make sure have the same OS and Xcode). - First install stage toolchain. bpkg create -d xerces-cfg cc config.cc.coptions="-Wall -O3" config.cxx.std=c++11 cd xerces-cfg bpkg build --configure-only libxerces-c@https://queue.stage.build2.org/1/alpha bpkg update -v libxerces-c bpkg test libxerces-c bpkg -v bindist --distribution archive --recursive separate --output-root ../xerces-bindist --archive-lang-impl=cc=clang14 --archive-install-root=/usr/local config.install.relocatable=true libxerces-c bpkg create -d libxsd-cfg cc config.cc.coptions="-Wall -O3" config.cxx.std=c++11 cd libxsd-cfg bpkg build --configure-only libxsd@https://queue.stage.build2.org/1/alpha bpkg update -v libxsd bpkg -v bindist --distribution archive --recursive separate --output-root ../libxsd-bindist --archive-lang-impl=cc=clang14 --archive-install-root=/usr/local --archive-build-meta=macos config.install.relocatable=true libxsd bpkg create -d xsd-cfg cc config.cc.coptions="-Wall -O3" config.bin.lib=static "config.bin.liba.lib=shared static" cd xsd-cfg bpkg build --configure-only xsd@https://queue.stage.build2.org/1/alpha bpkg update -v xsd bpkg test xsd bpkg -v bindist --distribution archive --recursive separate --output-root ../xsd-bindist --archive-lang-impl=cc=clang14 --archive-install-root=/usr/local --recursive=auto --archive-lang-impl=cc= config.install.relocatable=true xsd - Add to binary packages and generate packages.sha256: cd .../aarch64/ sha256sum -b "$(ls -1 | sort)" >packages.sha256 * Copy packages over to download directory, make sure there is enough disk space on host to publish. * Copy over (or add new) README.cli and update. 3. Update web pages * Update "Compilers & Platforms" page. * Update "Download" page. * Copy over updated documentation to projects/xsd/documentation/. Review with gitk for any unexpected differences. * Generate doxygen (reference and hello): cd libxsd/doc/ b config.libxsd.doxygen=true - copy result over to documentation/cxx/tree/reference/ - check everything looks sensible - copy hello example directory to documentation/.../ xsd cxx-tree --generate-doxygen hello.xsd - add hello.doxygen from old documentation doxygen hello.doxygen - clean source files, etc - check everything looks sensible and cross-links to references work 3. Publish and announce * bdep-publish all the packages and make sure queued builds are good. * Publish binaries and updated web pages. * Migrate packages from queue to public. Cleanup any betas. * Write release announcements and send to xsd-{users, announcements}. * Announce on #build2. * Add news entries to web pages. 4. Finish * Commit web pages. * Commit xsd-etc. * Update Homebrew formula.