0.24.0 Is Out
This is a post from Luke's old blog; it is saved here statically for historical purposes, as of October 2008
(This is a duplicate of the announcement to the list.)
At long last, 0.24.0 has been released. Look for your friendly packagers to package it up in the near future, but in the meantime you can download it.
I'll be walking the different release sites (RubyForge et al) and posting it there, too.
Look for a related announcement later today on changes in development practices in hopes that we don't ever have this kind of lengthy delay again.
The changelog is quite large, but not necessarily for human consumption (and it looks like I wasn't quite as good at maintaining it as I'd thought). Other than bug fixes, this release was mostly about internal development rather than user-exposed features, so you might be surprised at how little is different from the outside. Here is a summary of the major features in this release:
- Added support for an AltSubjectName in certificates (#896), to accomodate the recent update to Ruby that validates the server's certificate name against its DNS name. By default, the server has puppet and puppet.$domain added as aliases in the certificate, and you can use the dnscertnames to create other (replacement, not additional) aliases for any host when signing.
- Refactored interface support significantly.
- Added a k5login type for managing kerberos logins.
- Added a show_diff option to show the differences between files being replaced; this option is enabled by default when running with -- test or --noop.
- Replaced the internal graph library with a much faster one, and started using graphs in more places. This should not be noticeable by users, but I can tell. :)
- Added a dynamic plugins mount akin to the modules mount, making it easy to copy all Ruby code from all modules to your clients. Just enable pluginsync on the clients and your clients will get any custom types, providers, or facts before they start their configuration run.
- Modifying how external node support works. You must now specify the node_terminus setting, which obsoletes the ldapnodes setting. You must use exec as the node_terminus if you are using external nodes, and you must still specify the path to the external nodes command in external_nodes. See the wiki:IndirectionReference for more information.
- Puppet now supports multiple environments. You must specify all valid environments using the environments setting (comma- separated), and the default environment is development. You can provide any environment-specific settings in your puppet.conf (but not the old-style puppetd.conf) by putting the settings in a section named after the environment, but generally speaking only the modulepath, manifest, and templatedir will have much affect at this point. See the wiki:UsingMultipleEnvironments page for more information.
- Added an internal catalog class to manage resource collections. This will be an important internal class going forward, as it encapsulates a lot of the functionality around managing sets of resources, which obviously kind of matters, but again it will likely not be exposed much to users.
- Laid the groundwork for the move to REST -- all the plumbing is there, it's just a question of execution. See you in 0.25.0. :)
Just about everything else had a bug ticket associated with it, so you should be able to look through the changelog or the closed tickets associated with misspiggy to see what's in this release (note that there are 91 closed tickets associated with misspiggy, in case you're wondering what took this release so long).
As always, please wait at least 24 hours before filing any bugs against this release. :)
Also, I've mentioned this on the list, but I fully expect to have a 0.24.1 release out within the next few weeks. I'm not so naive as to think there won't be important bugs in this release, so please don't just upgrade your whole infrastructure without testing, and please do file bugs you find -- just not today.
Again, look for an announcement of changes to development practice today, also.