There's no change in the esm compression; the only format change is an extra 4 bytes in each group and record header. The rest is just changes to the contents of records.
Here is the definition of the record header for FO3:
wbMainRecordHeader := wbStruct('Record Header', [ wbString('Signature', 4, cpCritical), wbInteger('Data Size', itU32, nil, cpIgnore), wbRecordFlags, wbFormID('FormID', cpCritical), wbByteArray('Version Control Info 1', 4, cpIgnore), wbInteger('Form Version', itU16, nil, cpBenign), wbByteArray('Version Control Info 2', 2, cpIgnore) ]);
The 4 bytes at the end are new. The first 2 bytes are a record version number, the next 2 are used as flags for Beth's VCS (just like the 4 bytes in front which already existed in TES4).
The current version for all record types as it's currently saved by GECK seems to be 15. But Fallout3.esm contains records with pretty much all version numbers between 0 and 15 (and older versions usually have some structural differences to version 15 records of the same type).