I don’t want to sound condescending, but it was something that was bound to come up. I ran into it working with the Tactical Sensor Model (also called the Common Sensor Model, and finally, Joint Sensor Model) working group. In that situation, the API needed to grow as the abilities and capabilities of the Sensors (and their Models) improved. And how do you progress an API (or in this case, specific Standards) and maintain backwards compatibility? Some people who are smarter than me are working on it which is good but I can tell you that we never came up with a solution that satisfied everyone. In this case, if I were developing a browser, I would NOT be interested in handling version cases for rendering a page. It means that the engine will grow and grow and grow and although there won’t be alot to maintain because each version will build on the last and once a version is released, its not going to get modified but what about NEW browsers? Really, they are going to test each version’s engine and move forward? So basically, if you are not in the browser market now, you will have a huge-uphill battle if this goes through. Ick, its a nightmare and its easy from the server side of the problem to sit back and go, “You, client-side people REALLY have your work cut out for you”. If that is the case, I hope the open-source community likes testing (as opposed to developing) because that is going to be where time gets spent.
The alternative isn’t pleasant either, what with all kinds of progress moving forward with standards AND browsers. It isn’t an easy puzzle to solve. Good luck. To everyone.