Skip to content

Closure Rules v0.2.5

Compare
Choose a tag to compare
@jart jart released this 22 Jul 21:06
· 420 commits to master since this release

This release upgrades upstream dependencies.

  • Closure Compiler v20160619 → v20160713 (release notes)
    • Highlight: Some types of JS compilation may go faster
  • Closure Library v20160619 → v20160713 (release notes)
    • Highlight: Added enum for HTML attributes: goog.dom.Attr
  • Closure Templates 2016-01-12 → 2016-07-21
    • Will now run in Java 7 environments, e.g. App Engine
    • Safe HTML Types support: @io_bazel_rules_closure//closure/templates:safe_html_types
    • Incremental DOM is now part of official Soy; @incremental_dom_soy is removed
    • Improved error reporting
    • New Java bytecode compiler: @io_bazel_rules_closure//closure/templates:SoyToJbcSrcCompiler Closure Rules does not use this, but might in the future.
    • Breaking Changes
      • Templates that take a boolean must actually take booleans. 0 and 1 will no longer work.
      • Empty list/map dereference ({let $a: [] /}{$a[0]}) and iteration ({foreach $a in []}) is now a compilation error.
      • deprecated-noautoescape has been removed. Learn how to upgrade your templates here: google/closure-templates@a5f5acb
      • Java users need to replace calls to setActiveDelegatePackageNames(delegates) with setActiveDelegatePackageSelector(Predicates.in(delegates)). See: google/closure-templates@41b599e
      • Remove SoySauce.Renderer.setActiveDelpackageNames and replace it with .setActiveDelpackageSelector which takes a Predicate object. Deprecate the analgous method on SoyTofu.
      • Aliases in globals are now respected. This probably won't break anything, unless your aliases conflict with your root globals namespaces.
      • Users who are subtyping SoyModule directly will need to switch to subtyping AbstractModule and directly installing SoyModule instead.
      • A backslash in Soy attribute value is now used for escaping the following backslash or double quote. It is preserved if followed by other characters. Most templates are unaffected by this change but some edge cases break: {msg desc="abc\"} was valid before but it is not now. {msg desc="\\"} had value \ before but it has \ now.
      • Users who rely on deltemplates being generated into the js object named 'null' will break. Though it is unlikely anyone relies on this.
      • In the Soy Abstract Syntax Tree, SoyMsg now uses the SourceLocation class for source file information, which also includes line numbers.
      • A new method has been added to the SoySauce interface. This will break custom subclasses.
      • All templates that use an $ij parameter named 'csp_nonce' will need to use a new variable.
      • {{command}} syntax is no longer supported. Braces are now supported in string literals, so there is no need for this syntax. Use single braces.
  • gson 2.4 → 2.7 (per soy change)
  • icu4j 56.1 → 57.1 (per soy change)
  • json ∅ → 20160212 (per soy change)