Yep. It goes something like this:
1. The current release manager thinks it's been to long since the last release.
2. The release manager asks for outstanding issues¹ including an up to date CHANGES.
3. Outstanding issues are fixed and someone will check in new features in panic² to get them in the new release. Repeat 2.
4. If the release manager did not time out in the above loop a beta is done. Repeat 2.
5. If the release manager did not time out in the above loop a release is done.
¹ Room for optimizations: Someone could take it upon him or her to keep an updated list of issues, separated in classes like "securty", "regressions" and "bugs". Preferably in Crunch.
² Room for optimizations: Getting releases out more often always makes this step less troublesome.