If you read "The Anatomy of a Transaction" it seems the transaction ends after the nonce but if you look at the IRI class "transaction.java" I see the following:
buffer.put(Serializer.serialize(validity));
buffer.put(Serializer.serialize(type));
buffer.put(Serializer.serialize(arrivalTime));
buffer.put(Serializer.serialize(height));
//buffer.put((byte) (confirmed ? 1:0));
buffer.put((byte) (solid ? 1 : 0));
buffer.put(Serializer.serialize(snapshot));
Have these new fields recently been added to the format and what are they for?