Chef initially required json without a version constraint, but json
1.4.3 was pretty broken so Chef 0.8.12 got a constraint of <= 1.4.2
the next day. We became explicitly cautious of changes to the json gem
as a result.
Three months later json 1.4.4 shipped and had some fixes. As part of
CHEF-1548  json 1.4.6 was tested and the constraint was switched to
= 1.4.4, <= 1.4.6.
FreeBSD ports now uses json 1.5.1, and we’re surely falling behind in
other distributions as well (although debian/ubuntu appear to be
packaging a version from the stone age). The plan, in CHEF-2031 ,
is to test out json 1.5.1 and if we’re happy with it we will set the
contraints to >= 1.4.4 <= 1.5.1 for now. It would be nice to not do
this for 0.9-stable, because of our fear of the json gem causing
rampant instability, but we’re committed to supporting the stable tree
for a few more months and I we’re behind the distributions already. So
I think we have to test json 1.5.1 on 0.9 and 0.10.
We’ve had issues in the past with Chef and Ohai having different
constraints around the json gem. Since we’re planning to do an ohai
release soon, we would need to start testing json 1.5.1 against ohai
and chef now, and release the next version of ohai with the upped
constraint to match the next 0.9-stable release.
There is strong desire in the community to switch from json to
yajl.There are a couple tickets  for that switch. To fix
CHEF-1292  we added a Chef::JSONCompat (originally Chef::JSON )
wrapper for ::JSON which set some values. Akzhan Abdulin noted 
that if we switched to always using that class it would be easier to
shoe in yajl.
Does anyone have additional thoughts about the priority of this or