Commits on Apr 13, 2012
  1. another NEWS tweak

    havocp committed Apr 13, 2012
  2. don't mess up the PGP plugin

    No need to add the settings a second time, which
    resulted in signing the signatures.
    No need to use GPG, it uses its built-in stuff.
    havocp committed Apr 13, 2012
  3. updates

    havocp committed Apr 13, 2012
  4. Add ConfigRenderOptions and ConfigValue#render(options)

    This mostly lets you choose whether you want whitespace and
    comments, and somewhat as a side effect, you can get plain
    JSON by turning off comments.
    havocp committed Apr 13, 2012
Commits on Apr 12, 2012
  1. more fully test origin serialization and clean up code a bit

    Mostly removing impossible codepaths.
    havocp committed Apr 12, 2012
  2. fix some warnings from findbugs

    Only one of these, possible incomplete skip
    from DataInput.skipBytes(), was a real problem
    I think.
    havocp committed Apr 12, 2012
  3. remove ConfigSubstitution, it was a serialization compat shim

    The serialization-pocalypse removes the need for this shim.
    havocp committed Apr 12, 2012
  4. 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.
    havocp committed Apr 12, 2012
Commits on Apr 9, 2012
  1. write release notes for 0.NEXT

    havocp committed Apr 9, 2012
  2. Make string, stream parsers support classpath includes

    Previously they didn't support any kind of include.
    havocp committed Apr 9, 2012
  3. hack ConfigImplUtil.urlToFile to make "file://whatever" with two slas…

    …hes work
    This compounds the wrongness of that method.
    havocp committed Apr 9, 2012
  4. Groundwork for the new file() url() classpath() include syntax

    This patch doesn't have the parser just the implementation
    havocp committed Apr 9, 2012
  5. allow setting a ClassLoader on ConfigParseOptions

    This should have been the API, rather than adding a loader
    parameter to ConfigFactory methods.
    By adding to the options, the class loader is inherited by
    any included files or urls. Previously, it was only inherited
    by included classpath resources, but including classpath resources
    from non-classpath resources would lose track of the class loader.
    The methods that take a ClassLoader are now convenience API that
    just adds that passed-in loader to your ConfigParseOptions.
    havocp committed Apr 9, 2012
Commits on Apr 6, 2012
  1. split SimpleIncluder and fromBasename out of

    Just to have less stuff in one big file.
    havocp committed Apr 6, 2012
  2. Support += convenience syntax

        a += b
    transforms to
        a += ${?a} [b]
    havocp committed Apr 6, 2012
  3. Minor spec editing

    havocp committed Apr 6, 2012
  4. Implement array and object concatenation

      path : [ /bin ]
      path : ${path} [ /usr/bin ]
    This added very few lines of code or bytecode!
    It's just a natural extension of the existing
    string concatenation.
    But it did add a fair few lines of specification
    and tests.
    havocp committed Apr 6, 2012
  5. make ConfigException.WrongType extra constructors public

    and let Eclipse reformat a bit
    havocp committed Apr 6, 2012