Torvalds wanted to increment the major version number because he was growing frustrated with the large minor version numbers. He has been contemplating some changes to the current versioning scheme since 2008, but finally decided to act in May when the first release candidate for the new version was published.
He felt that rolling over to 3.0 would be a fitting way to celebrate the kernel's imminent 20th anniversary, but also joked that the "real" reason was that he could "no longer comfortably count as high as 40." He further clarified the nature of the version bump in the final release announcement, which was posted late last night to the Linux kernel mailing list.
"As already mentioned several times, there are no special landmark features or incompatibilities related to the version number change," wrote Torvalds. "It's simply a way to drop an inconvenient numbering system in honor of twenty years of Linux."
The Linux kernel was first introduced to the world in a mailing list post Torvalds wrote on August 25, 1991. The code was published on an FTP server the following month and released under the GNU General Public License the next year. The Linux Foundation is planning to officially observe the kernel's 20th anniversary at the LinuxCon event next month in Vancouver. I'm going to be there in person (you can see me at the LinuxCon Media Roundtable session) to participate in the festivities and cover some of the keynotes.
The previous versioning scheme for the 2.6.x series emerged around 2005 from the kernel's transition to shorter time-based release cycles. The major and minor version numbers were pinned at 2.6 and the third digit was used to indicate the actual release. With the new model, the major version is pinned at 3 and the second digit will be used to indicate the actual release number and the third digit will be used for stable releases.
"This obviously also opens the merge window for the next kernel, which will be 3.1. The stable team will take the third digit, so 3.0.1 will be the first stable release based on 3.0," Torvalds explained in the release announcement.
Version 3.0 brings some noteworthy improvements for Btrfs, the next-generation Linux filesystem. It has gained basic support for scrubbing and an automatic defragmentation mechanism that can operate while the filesystem is in use. Another interesting change is the introduction of a just-in-time compiler that has been developed for the Berkeley Packet Filter system. In addition to these enhancements, there are a number of minor improvements throughout the kernel. For more details about the release, you can refer to the release report at the Kernel Newbies website.