Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: kubernetes-sigs/yaml
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.5.0
Choose a base ref
...
head repository: kubernetes-sigs/yaml
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v1.6.0
Choose a head ref
  • 9 commits
  • 6 files changed
  • 2 contributors

Commits on Jul 14, 2025

  1. Add KYAML support

    KYAML is a strict subset of YAML, which is sort of halfway between YAML
    and JSON.  It has the following properties:
    * Does not depend on whitespace (easier to text-patch and template).
    * Always quotes value strings (no ambiguity aroud things like "no").
    * Allows quoted keys, but does not require them, and only quotes them if
      they are not obviously safe (e.g. "no" would always be quoted).
    * Always uses {} for structs and maps (no more obscure errors about
      mapping values).
    * Always uses [] for lists (no more trying to figure out if a dash
      changes the meaning).
    * When printing, it includes a header which makes it clear this is YAML
      and not ill-formed JSON.
    * Allows trailing commas
    * Allows comments,
    * Tries to economize on vertical space by "cuddling" some kinds of
      brackets together.
    * Retains comments.
    
    Examples:
    
    A struct:
    
    ```yaml
    metadata: {
      creationTimestamp: "2024-12-11T00:10:11Z",
      labels: {
        app: "hostnames",
      },
      name: "hostnames",
      namespace: "default",
      resourceVersion: "15231643",
      uid: "f64dbcba-9c58-40b0-bbe7-70495efb5202",
    }
    ```
    
    A list of primitves:
    
    ```yaml
    ipFamilies: [
      "IPv4",
      "IPv6",
    ]
    ```
    
    A list of structs:
    
    ```yaml
    ports: [{
      port: 80,
      protocol: "TCP",
      targetPort: 80,
    }, {
      port: 443,
      protocol: "TCP",
      targetPort: 443,
    }]
    ```
    
    A multi-document stream:
    
    ```yaml
    ---
    {
      foo: "bar",
    }
    ---
    {
      qux: "zrb",
    }
    ```
    thockin committed Jul 14, 2025
    Configuration menu
    Copy the full SHA
    a932007 View commit details
    Browse the repository at this point in the history
  2. Add a yamlfmt cmd

    * Can read 1 file (cmdline)
    * Can read multiple files (cmdline)
    * Can read stdin
    * Can write traditional YAML or KYAML
    * Can diff input vs output (-d)
    * Can write results to the input files (-w)
    thockin committed Jul 14, 2025
    Configuration menu
    Copy the full SHA
    7749171 View commit details
    Browse the repository at this point in the history
  3. kyaml: Implement escaping closer to YAML spec

    It's unclear if we actually need this.  The round-trip test works
    without it.
    
    The spec describes escapes for things like space and forward-slash,
    which seem wrong to escape, so I may be misreading it.
    thockin committed Jul 14, 2025
    Configuration menu
    Copy the full SHA
    abc1add View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    59c2c43 View commit details
    Browse the repository at this point in the history
  5. Change which methods get a newline and fix tests

    Merge the "regular" and "compact" tests together.
    thockin committed Jul 14, 2025
    Configuration menu
    Copy the full SHA
    13509ad View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    4a4f539 View commit details
    Browse the repository at this point in the history
  7. Add compact output tests

    thockin committed Jul 14, 2025
    Configuration menu
    Copy the full SHA
    2e3340b View commit details
    Browse the repository at this point in the history

Commits on Jul 24, 2025

  1. Configuration menu
    Copy the full SHA
    23c836c View commit details
    Browse the repository at this point in the history
  2. Merge pull request #132 from thockin/master

    Add "kyaml" support and yamlfmt
    k8s-ci-robot authored Jul 24, 2025
    Configuration menu
    Copy the full SHA
    048d724 View commit details
    Browse the repository at this point in the history
Loading