I know this has come up, because I've seen it, but couldn't find the thread, so I apologize for that. I also know that 4.7 is going into code freeze, so that's why I mention this RE Drupal 4.8 or possibly 5.0 given the nature of the changes.
I've tried at least 10 CMS in my search and never found something that let me do what I want to do until Drupal. It has some missing features that I want, but this is what I *like* about Drupal. By default it's not full of every stupid feature that some guy like me wants. That rocks.
This is like my wife's "I love you, but..." preamble before I get told how to shape up ;-)
Anyway, one thing that I would like to see for the future, is better compartmentalization of the presentation layer into the themes themselves. A couple of examples:
- breadcrumbs. The HTML for this is output by theme.inc and is not theme-configurable. I might want, for example, my breadcrumbs to be output as a list with the list style "inline" That would make good sense semantically and allow all sorts of presentation tricks with CSS. Or even simpler, I might want a raquo separator for one theme, but for another I might want to use a background image like Gallery does. This should be up to the theme author, not the theme engine or the core.
- primary/secondary links. I feel like PHPTemplate is halfway there - grab the the link, anchor text and title as separate fields in form, serialize, store, retrieve, unserialize. But ideally, it would put the info into an array and return just the array, with all the HTML styling being done within the theme itself. Of course, I have all the power of PHPTemplate, so I can (and probably will) do that with my template, I'm just saying that architecturally I think it would be preferable to have the HTML output as part of the theme, rather than the theme engine, while theme authors should never be making DB requests, even if PHPTemplate allows it.