There are some significant changes happening to Rustfmt. Here is what you need to know.

We’re changing the default style to match that being specified in the style RFC process. Earlier this week I made the last release using the old default style (0.8.6). Today I released 0.9 which uses the new style. There will be no more development on the 0.8 branch. If you want to continue using the old style, you can use rustfmt.toml to configure rustfmt, the options you need to set are in legacy-rustfmt.toml.

There are likely to be a few more bugs than usual as the dust settles on the new style. Please file issues if you encounter them. Apologies in advance and bare with us.

We’re also changing the parsing library used in Rustfmt from Syntex to libsyntax (because Syntex is not going to be maintained). This won’t affect formatting or much else for end users, however, it means rustfmt will only work with the nightly toolchain. So as not to cause too much disruption, we won’t make this change to the rustfmt crate, but are adding a new one - rustfmt-nightly. If you can, we recommend you use that. New development will only happen on that crate (I will try to backport some PRs for a while). Even if you use the stable toolchain, Rustup makes it easy to switch between nightly and stable toolchains.

rustfmt-nightly is using the RFC style by default.

Longer term, we are moving to distribute Rustfmt with the main Rust distro, so all users will be able to use libsyntax-based rustfmt.

I blogged a little bit about these changes a couple of weeks ago, for a few more details: http://ncameron.org/blog/rustfmt-changes/