Sorry for the hubub.
Let me explain the situation we're in and why we identified tagging as the first step in resolving the problem in a timely manner.
Ember.js has a fairly long history as browser application frameworks go: we started out as a beta fork of SprouteCore 2.0 in 2011, which brought along certain packages from SproutCore, while entirely replacing others. In 2012 we fully split from SprouteCore and rebranded as Ember.js.
After the split we had a 16 month beta period. And not "beta" like some software has where the public API and feature set is mostly stable, but they developers just want to reserve the right to break your app with an update.
We take versions numbers seriously: 1.0 means no backwards breaking changes so we hesitated to release a 1.0 until we felt comfortable supporting the public API as-is for the foreseeable future.
It's why we get tweets like this: https://twitter.com/phil_renaud/status/435571253777539072
The beta period was a time to experiment, very rapidly, with APIs. Ember.js is composed of many smaller packages. Some of the packages have maintained a high amount of stability for long periods of time (the API of the core, low-level bits are mostly unchanged from 2011).
Others packages have rapidly shifted while we hunted for better solutions, listened to feedback, and adjusted.
We've always been very public about this process, so people evaluating Ember.js over the last few years were rarely surprised when we'd do something like totally change a large, high level API (like our router) three times in as many months (disappointed, sure, but never surprised).
During this whole process, Stack Overflow was a valuable destination for connecting people trying to make sense of Ember and people who had developed expertise and were willing to give back to the community.
In August 2012 we released Ember.js 1.0. In 1.0 some packages were very similar to their 2011 ancestors and others were so wildly different that they really should be considered entirely new pieces of software, totally unrelated to older packages.
While this distinction is fine for developers of Ember.js, it's a unnecessarily nuanced for developers using Ember.js. To them, Ember is Ember is Ember.
This is especially true for developers new to the framework. As the API solidified and we approached 1.0 we saw increased adoption. This was mirrored by increased complaints about the poor quality of Ember.js questions and answers on Stack Overflow.
To a new Ember.js developer Stack Overflow appears to be mostly "best" answers that are awful. Not just "not helpful", but downright misleading and time wasters. It's why we see tweets like this:
https://twitter.com/beerlington/status/434089575607066624
We want Stack Overflow to be useful to the Ember.js community again.
In general, Ember.js posts fall into three categories:
Questions that are no longer valid. These are about parts of the framework that were short-lived and have been gone for a long time.
I would argue that true beta software is significantly different than older release versions of software. Beta software is never intended to live long, it changes rapidly (sometimes between single commits), knowingly doesn't represent the best or final pattern, and has a low likelihood of being still being deployed in the wild.
Contrast with, say, a question about older versions of Rails' router. Each version of the Rails router has had a relatively long-lived public API and there is a decent chance you work on or will inherit a project using this software and historical answers are invaluable.
Stack Overflow doesn't really have a semantic to express the difference. I suppose Too Localized (in the essence of "too localized in time") used to be the closest. There's no quick way to know what version a historical question refers to, so tagging a specific version isn't helpful.
Even if we did version tags (something like ember.js-prerelease), that ignores the fact that Stack Overflow lives in a larger ecosystem. Googling "ember and buttons stackoverflow" leads you here Ember.js how to use Em.Button
The accepted answer was right but is now so wrong as to essentially be nonsense or about totally unrelated software. Trying this code will not work. Trying this pattern might work, but it is so bad we purposely abandoned it. This is not obviously communicated to the reader. Questions like this should just be closed, but no close reason matches this situation.
Questions that are valid, whose best answer is now misleading or incorrect.
In the past we've tried, and mostly failed, to remedy this by supplying better answers based on the final answer we arrived at. Time is against us. Answers that used to be good but are now poison retain their high vote counts. Existing community members tend to not visit older answered questions, new developers tend to arrive at them via search and contact us with their frustration.
Questions that are valid, whose best answer is still valid.
No action needed here.
Here is our problem: determining which of the above numbers describes a question sometimes requires a higher level of expertise. While I'd like to personally address each of 4,000 or so ember.js/ember-data question, it's just not possible to do in a timely matter. The situation is pretty dire and has been for some time. We need some solution to triage the mess and having our community help identify bad questions or questions with bad answers speeds this process. Stack Overflow doesn't offer any specific tools for this process, but tagging is the closest, which is why we started using it.
We'd hoped the natural organic process of Stack Overflow would eventually address these problems, but it's been five months and the problem hasn't improved.
So, the ember-invalid tag is not intended to be permanent. It's only there to let us distribute the work of identifying questions that most need our attention. Once we've gotten that list, we're still honestly at a loss for what to do.
None of the close reasons match our situation, but it's irresponsible to leave these questions in their current state and not at least find some way to communicate that a question or answer was so localized to a very brief, unstable moment of time that what you're seeing should be highly suspect.
Replying to some comments above:
He also created that tag, and is the only one editing it on
I created the tag, but only used it once. Other members of our community are tagging.
a specific version tag like ember-0.9
We tried this with the ember-old-router tag. It did not remove any confusion. Unless a questioner mentions which version he's using, it's hard to even tell which version he had.
"Apply some form of cleanup" hopefully would be new answers to the questions explaining how the new, better ember would solve their problems
That's the hope for questions that are still valid. Questions like "How do I accomplish X in Ember" are ideal for this. "How do I use function Y?" when Y was in the API for a month has no meaningful new answer. It's just noise. The metatag is the best solution we've found for organizing the process of highlighting areas to improve.
They're certainly not "invalid", but if they're acting on an entirely different (version of) a platform that can warrant a tag.
Imagine, for a moment, we renamed Ember to Foo when we released 1.0. Would it be proper to find all the old ember.js tags and re-tag them with Foo, even if the question or best answer no longer applied to Foo? Or, imagine if there was no ember.js tag, just tags for each of the libraries that comprised Ember. If we replaced a library with a similar one with a different name, would we go update the old questions with tags pointing to the new software? This is exactly the situation we're in, with similar confusing effects.