Changes in 0.2
==============================================

Changes that Could Break Older Environments:
--------------------------------------------


      The name attribute of properties is required by the spec and
      this is now enforced.
    

      Generalized sbomLink to a ComponentResolver componentdef. As a
      side effect the nested sbomLink element of component now must
      live in the "antlib:org.apache.ant.cyclonedx" XML namespace
      (i.e. something like cdx:sbomLink).
    
Fixed Bugs:
-----------


      metadata.tools.component of generated SBOMs now contains hashes
      of ant-cyclonedx as has been intended originally.
    
Other Changes:
--------------


      A new type "propertyset" can be used to group properties and
      reuse common sets of properties for multiple components.
    

      When using sbomLink for a component, the link is an URL and the
      component-element doesn't define a "bom"-type external reference
      itself a "bom" externalreference with the URL as value is added
      to the component.

      This behavior can be suppressed by an attribute.
    

      A new resource collection "fsonlymappedresources" has been added
      that decorates file-system-only resource collections modifying
      the names of the resources just like Ant's built-in
      mappedresources but still allows tasks to access the original
      files.
      This should only be used with componentbom's purefileresources
      nested element. Other tasks and types may bypass the mapped name
      if they can go to the underlying files directly.
    

      A new specialized task "archivebom" simplifies creation of SBOMs
      for distribution zips/tarballs by providing a few defaults.
    

      The componentbom and archivebom tasks honor the
      SOURCE_DATE_EPOCH environment variable as well as Ant's magic
      properties ant.tstamp.now.iso and ant.tstamp.now and use either
      as timestamp for the generated SBOM for reproducible builds. The
      default still is to use the current point in time as timestamp.
    

      A new attribute "serialNumber" of the componentbom task allows
      the serial number of the generated SBOM to be set to a fixed
      value for reproducible builds.
      If the attribute is not set but SOURCE_DATE_EPOCH is defined the
      serial number will be calculated from SOURCE_DATE_EPOCH and the
      main component's coordinates.
    

      The array valued parts of the generated SBOM now have a stable
      sort order to support reproducible builds.
    

      Updated cyclonedx-java-core library dependency to 13.2.0.
    

      The default SBOM version now is 1.7 and the isExternal attribute
      of component now also sets the attribute in the generated SBOM.
    

      Added a ComponentResolver "ivyModule" which uses Apache Ivy to
      fill in the details of a component and its dependencies.
      This adds Ivy as a new dependency which is only required if you
      want to use this feature.
    

      The license element now tries to guess the license's SPDX id
      if only a name is given.
    

      The license element now supports a new expression attribute you
      can use to specify license expressions.
    

      A new attribute compositionAggregate on component allows you to
      specify the completeness of the component's description.
    

      Updated the Ant dependency to 1.10.18, but the library should
      work with earlier versions of Ant 1.10.x.
    

Changes in 0.1
==============================================

Changes that Could Break Older Environments:
--------------------------------------------

Fixed Bugs:
-----------

Other Changes:
--------------


