Commit Graph

4 Commits

Author SHA1 Message Date
Havoc Pennington
388d85fb5d Serialization-pocalypse: change serialization format
The previous use of Java's default serialization dumped
all implementation-detail class names and fields into the serialization,
making it basically impossible to improve the implementation.

Two strategies here:
 - prohibit serialization of unresolved configs, which are
   the location of a lot of implementation detail
 - delegate all serialization to an Externalizable
   SerializedConfigValue class, which serializes
   using fields that have lengths. Unknown fields
   can thus be skipped and we can write code to
   support obsolete fields, and so on.

As a side effect, this makes the serialization far more compact
because we don't need the Java per-class header noise, and we
jump through some hoops to avoid writing out duplicate ConfigOrigin
information. It still isn't super-compact compared to something
like protobuf but it's a lot less insane.
2012-04-12 13:04:14 -04:00
Havoc Pennington
2dc420ccf0 If include statements from a cycle, throw a nicer error 2012-04-09 19:18:46 -04:00
Havoc Pennington
36f4e2e61a write release notes for 0.NEXT 2012-04-09 12:49:38 -04:00
Havoc Pennington
08229c85b3 update NEWS for 0.3.0 2012-03-01 14:07:02 -05:00