I've been using brian d foy / Andy Lester's rather useful Module::Release to automate releasing new modules to CPAN and uploading code drops to Sourceforge for a while now.
But as part of a general organisational cleanup, I moved my code repositories away from CVS to Subversion, and while I was doing that I chugged down the Module::Build koolade too.
Disaster. Module::Release doesn't grok Module::Build, nor does it know how to "tag" files in a Subversion repository. Module::Release is very much CVS + Makefile.PL only.
Hence Module::Release::Extras, at a CPAN mirror near you. Right now, this provides two subclasses that you can use with release(1) and an appropriate subclass line in your .releaserc. M::R::Subversion lets you use M::R with files in a Subversion repository, and M::R::ModuleBuild lets M::R work with modules that build using Module::Build.
And if you need to use both of these together, see M::R::NIKC for an example of how to do it.