C++ Serialization

I am looking for a C++ serialization library/framework with these features:
1. Binary: Space efficient binary format.
2. Programming language independent: Should have an implementation in most common popular programming languages.
3. Portable across platforms: Should be able to write a file on a FreeBSD web server and be able to read that same file on an Android device.
4. Open format: The format of the generated files should be well documented.
5. Clearly declared file structure: There should be a way to put down the file structure in one place and track changes to it.
6. Non-intrusive: Users of the library must not be required to make changes to existing data-structures that they want to serialize/deserialize. For example, I should not be required to derive my class from a “Serializable” class.
7. Large files: Should work fine for files several GB in size.

With the current state of the art, this is what is on offer:

Feature protobuf boost::serialization MFC
Binary Y Y Y
Programming Language Independent Y ? N
Portable across platforms Y N N
Open Format Y ? ?
Clearly declared file structure Y N N
Non-intrusive Y Y N
Large files N Y Y
Old version of code can read files created by newer versions Y N ?