¿Qué cambió en jQuery 1.9 para hacer que una llamada $ .ajax falle con un error de sintaxis?

Estoy haciendo una llamada REST DELETE, que devuelve un 204. En jQuery 1.8.3 esto funciona, y golpea la petición de devolución de llamada. Pero si uso 1.9 va a request.fail con un parsererror en textStatus y un 'SyntaxError: Fin inesperado de entrada' en el errorThrown.

remove = function (complete) {
            var self = this;
            var request = $.ajax({
              context: self,
              url: "/v1/item/" + itemId,
              dataType: "json",
              type: "DELETE"
            });
            request.done(removeCallback);
            request.fail(function (xhr, textStatus, errorThrown) {
                alert(errorThrown);
            });

        },

¿Alguien sabe qué ha cambiado en 1.9 que causaría que esto fallara, y qué necesita cambiar para solucionarlo?

Entonces, respondiendo a mi propia pregunta, parece que este es de hecho el problema:

Desde elGuía de actualización de jQuery

jQuery.ajax devolviendo un resultado JSON de una cadena vacía

Antes de 1.9, una llamada ajax que esperaba un tipo de datos de retorno de JSON o JSONP consideraría que un valor de retorno de una cadena vacía es un caso de éxito, pero devuelve un valor nulo al controlador o promesa de éxito. A partir de la 1.9, una cadena vacía devuelta para los datos JSON se considera JSON con formato incorrecto (porque lo es); esto ahora lanzará un error. Utilice el controlador de errores para detectar tales casos.

Por lo tanto, si elimina el dataType

dataType: "json",

Funciona en jQuery 1.8.3 y 1.9.

Respuestas a la pregunta(3)

Su respuesta a la pregunta