The smart folks at JetBrains just made our lives a lot easier. TeamCity 4.0 has an extra verification stage that ensures any changes actually work BEFORE allowing those changes to be commited to the repository.
Most continuous integration servers today (CC.NET) rely on teams to commit their changes to version control first, and then kicking off an automated build. And as long as the team members do an update and build locally before checking in, things are usually fine.
Being the humans we are however, builds still periodically break.
TeamCity 4.0 apparently fixes that.
Now, instead of monitoring the repository for updates and then doing a build, TeamCity does then builds first, and then commits the changes to version control only if the build succeeds.
This way, the build is always up and running, and if there is a problem, it never makes it into the repository.
JetBrains refers to this as a delayed commit and I think it is a fine refinement on the continuous integration process.
For more information on this and other features (like distributed builds), check out the TeamCity 4.0 web site.