You might consider the fst package. The advantage is very fast read and write speeds and the ability to save with compression. You can also read selected rows and columns of the data, rather than reading in the whole file. It is not language agnostic (it's an R package), but there is now a binding for the Julia language.
Although the package is in active development, the package development site states that future versions will maintain backwards compatibility for reading files saved with previous versions, so perhaps that covers at least intermediate term archiving of data. Plus you can always* use packrat to manage dependencies or roll back to older versions of fst.
* Excluding a zombie apocalypse or similarly disastrous event.