Breaking Changes

Corgi follows semantic versioning and, in general, adheres to its guarantees. However, there are a few exceptions where a corgi version might introduce "breaking" changes, without incrementing the major version:

  1. Corgi guarantees that the semantics of generated HTML never change, but it does not guarantee, that the generated HTML is always the same (as in equal bytes). For example, corgi might improve its minification, leading to semantically equal HTML, but different outputs. Beside the obvious guarantees, it is guaranteed that the order of attributes and the order of classes never changes across versions.

  2. Corgi does not guarantee that generated code will be equal. For example, corgi might change the way it generates mixins, without incrementing the major leading to a different generated function, but still the equal HTML.

  3. Corgi does not guarantee that variables and imports generated by corgi (i.e. symbols starting with __corgi_) will still exists in code generated by future version. The only exception is __corgi_w.

  4. Corgi guarantees that error-free corgi code from a previous minor version will still compile using a compiler with a higher minor. However, corgi may refuse to compile code that makes use of precompiled libraries if they contain security vulnerabilities that would be fixed re-precompiling the library first.

Last updated