This site has been running on Drupal 7 for over a month - on the beta version of the code. On December 2, the code has reached the release candidate status. Short of a few missing documentation sections and other things, Drupal 7 (http://drupal.org/project/drupal) is ready. So what has changed compared to Drupal 6?
I have worked with Drupal 6 for over a year, developing a large site on it. I don't know much about the code; but I do know what it is like to use this code. I can write HTML and CSS code from memory and I have some knowledge of PHP and MySQL; but I never tried to understand how Drupal works at the code level. So this review is from a site creator / administrator's perspective, not from a programmer's.
1. It is better.
Version 7 is cleaner, better looking, better structured - it is a much more finished and streamlined product than Version 6. It came at the expense of more lines of code, but partially because some of the 3rd party modules of the v.6 days are part of the v.7 core.
2. Installation process is simpler and faster
Installing v.6 involved messing with permissions and configuration files; v.7 does all of that automatically. Not a big deal, but makes life easier. There is also a new minimal install that loads just the essential modules and none of the fluff (at which point the admin menus look a lot like the stark backbone of v.6).
3. CCK is now part of the core.
V.6 shipped with several content types such as article, page, blog entry, or image. To create new content types, you had to install an additional module called Content Creation Kit (CCK, http://drupal.org/project/cck). Being able to create new content types was one of the best things about Drupal; it is great to see that it is now integrated in the core, where it belongs. The integration is done well - it is not just an afterthought, not the icing on the cake - the cake has been rebaked with CCK thoroughly mixed in.
4. Fields and field weights make more sense.
Content types are built with fields - such as title, body, comment, user reference, and so on. These fields can be used in more than one content type, and users can create new fields. There is now a cleaner implementation of sharing the fields - a new admin menu to see what fields you have, and a far better way to order the fields in a content type using weights. You can order things differently during content creation vs. content viewing. For example, if you have a content type called "cartoon" with fields like title, image, body, taxonomy, and comments and set it so that when you create a new cartoon, you are first presented with the image upload field (that way you won't forget the file), but to the reader you present the title first, then the cartoon.
5. It is easier to work with images.
It is easy to set up new image formats - so if you load a big 10 megapixel photo but need to present it smaller on different pages, you can create new templates to fit your needs. You may have one where you need to fit things into a landscape oriented 800x600; or you may need a square 300x300; or a tiny 50x50 thumbnail. You can create as many of them as you please, and then retrieve the needed size for your particular page. When working with Views (the-best-Drupal-module-ever, http://drupal.org/project/views), you can access your file formats directly from Views. Building a gallery of all socialchicks cartoons (http://lensyoga.com/socialchicks) with 200px thumbnails and titles is a five-minute job with v.7 and Views - and you don't need to write a single line of code to do it.
6. Core themes are better.
The new themes that ship with the core are awesome. Bartik http://drupal.org/project/bartik (that I am using), is minimalist without being too stark, and flexible without being too complicated. This is a subjective opinion, but the themes don't get in the way - it is clear that this is high end CMS, not a web-based Dreamweaver. There is a focus on clearly presenting the content rather than on the fluff to frame it.
7. Admin themes are better.
There is now a very clean admin theme; tasks are much better organised, and the theme that is fed to the user is clearly different from the backend that an admin sees - and yet it maintains enough stylistic similarity to not make you feel like you suddenly got to another planet. You can even run all of the admin tasks in an overlay hovering above the content pages. To me that's fluff, but some people may welcome it; and I welcome the easiness with which the overlay can be turned off.
8. Module installs and updates are easier.
Previously you had to FTP new modules and module updates from outside Drupal; in v.7 you can just feed the system the URL of the compressed module folder and it will load it to the server. Small but very welcome change.
9. Cron tasks are automated.
You don't need to run the cron with a server command; there is now an admin panel where you can set up the cron from inside Drupal and specify how often you want it to run. Again, a small but a very positive change that makes the admin life easier.
Drupal 6 was great; Drupal 7 is better in every respect and ready for prime time. For those of us who haven't given up on the open web and who have escaped the Facebook quick sands, Drupal 7 is a superb tool for single-handedly creating systems that five years ago would require a team of programmers and seven figure budgets.