<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>/package/releases element</title>
<title>CMSIS-Pack: /package/releases element</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="cmsis.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="printComponentTabs.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 46px;">
  <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">CMSIS-Pack
   &#160;<span id="projectnumber">Version 1.6.0</span>
   </div>
   <div id="projectbrief">Delivery Mechanism for Software Packs</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<div id="CMSISnav" class="tabs1">
    <ul class="tablist">
      <script type="text/javascript">
		<!--
		writeComponentTabs.call(this);
		//-->
      </script>
	  </ul>
</div>
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('element_releases.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">/package/releases element </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>Contains the release history of the Pack. This element is mandatory. No more than one such group can exist in a Pack. It contains the full release history of the Pack.</p>
<p><b>Example:</b> </p>
<div class="fragment"><div class="line">&lt;package&gt;</div>
<div class="line">  ...</div>
<div class="line">  &lt;releases&gt;</div>
<div class="line">    ...</div>
<div class="line">  &lt;/releases&gt;</div>
<div class="line">  ...</div>
<div class="line">&lt;/package&gt;</div>
</div><!-- fragment --><p>&#160;</p>
<table  class="cmtable" summary="Element: Releases">
<tr>
<th>Parent Element </th><th colspan="3">Element Chain  </th></tr>
<tr>
<td><a class="el" href="pdsc_package_pg.html#element_package">package</a> </td><td colspan="3"><a class="el" href="pdsc_package_pg.html#element_package">/package</a>  </td></tr>
<tr>
<th>Child Element </th><th>Description </th><th>Type </th><th>Occurrence  </th></tr>
<tr>
<td><a class="el" href="element_releases.html#element_release">release</a> </td><td>Contains the version number of the release with some brief information about the main changes in that specific release. </td><td>xs:string  </td><td>1..*   </td></tr>
</table>
<p>&#160;</p>
<hr/>
<h1><a class="anchor" id="element_release"></a>
/package/releases/release</h1>
<p>Contains brief information of the main changes in each release version of a Pack. The content is a string written between the opening and closing <em>release</em> tags. The latest release version is always listed on top.</p>
<p><b>Example:</b> </p>
<div class="fragment"><div class="line">&lt;releases&gt;</div>
<div class="line">  &lt;release version=<span class="stringliteral">&quot;1.1.1&quot;</span>&gt;Fixed a problem with the feature xyz.</div>
<div class="line">  &lt;/release&gt;     </div>
<div class="line">  &lt;release version=<span class="stringliteral">&quot;1.1.0&quot;</span>&gt;Introduces a <span class="keyword">new</span> feature xyz.</div>
<div class="line">  &lt;/release&gt;     </div>
<div class="line">  &lt;release version=<span class="stringliteral">&quot;1.0.0&quot;</span>&gt;First published version.</div>
<div class="line">  &lt;/release&gt;     </div>
<div class="line">&lt;/releases&gt;</div>
</div><!-- fragment --><p><b>Example</b> for a public repository: </p>
<div class="fragment"><div class="line">&lt;package&gt;</div>
<div class="line">  ...</div>
<div class="line">  &lt;repository type=<span class="stringliteral">&quot;git&quot;</span>&gt;https:<span class="comment">//github.com/ARM-software/CMSIS-Driver.git&lt;/repository</span></div>
<div class="line">  &lt;releases&gt;</div>
<div class="line">    &lt;release version=<span class="stringliteral">&quot;2.1.0&quot;</span> tag=<span class="stringliteral">&quot;2.1.0&quot;</span> url=<span class="stringliteral">&quot;https://github.com/ARM-software/CMSIS-Driver/archive/2.1.0.zip&quot;</span>&gt;</div>
<div class="line">      Added LAN9220 Ethernet MAC+PHY driver.</div>
<div class="line">    &lt;/release&gt;     </div>
<div class="line">    &lt;release version=<span class="stringliteral">&quot;2.0.0&quot;</span> tag=<span class="stringliteral">&quot;2.0.0&quot;</span> url=<span class="stringliteral">&quot;https://github.com/ARM-software/CMSIS-Driver/archive/2.0.0.zip&quot;</span>&gt;</div>
<div class="line">      First published version.</div>
<div class="line">    &lt;/release&gt;     </div>
<div class="line">  &lt;/releases&gt;</div>
<div class="line">  ...</div>
<div class="line">&lt;/package&gt; </div>
</div><!-- fragment --><p>&#160;</p>
<table  class="cmtable" summary="Element: Release">
<tr>
<th>Parent Element </th><th colspan="3">Element Chain  </th></tr>
<tr>
<td><a class="el" href="element_releases.html">releases</a> </td><td colspan="3"><a class="el" href="element_releases.html">/package/releases element</a>  </td></tr>
<tr>
<th>Attributes </th><th>Description </th><th>Type </th><th>Use  </th></tr>
<tr>
<td>version </td><td>Version number of the release. The version format is described in <a class="el" href="pdsc_package_pg.html#VersionType">Version Type</a>. </td><td>VersionType </td><td>required  </td></tr>
<tr>
<td>date </td><td>Release date (specified as YYYY-MM-DD, for example 2014-12-14 (14th December 2014). </td><td>xs:date </td><td>optional  </td></tr>
<tr>
<td>tag </td><td>In case the repository element is specified, the tag attribute is used to specify the repository tag that corresponds to this release of the pack. </td><td>xs:string </td><td>optional  </td></tr>
<tr>
<td>url </td><td>URL specifying the location of the pack of the specified version. This can be used to override the default location being <code>&lt;url&gt;/&lt;vendor&gt;</code>.&lt;name&gt;.&lt;version&gt;.pack </td><td>xs:anyURI </td><td>optional  </td></tr>
<tr>
<td>deprecated </td><td>Pack is no longer officially supported after the set date. It will be excluded from checks for update. Deprecated packs may remain available for download from the server. Tools will continue to work but may provide indicators highlighting end of support for the pack and its content. Not recommended for use with new projects. Note this attribute is only relevant when set for the latest release located on top of the releases section.  </td><td>xs:date </td><td>optional  </td></tr>
<tr>
<td>replacement </td><td>Specifies the vendor and name of the Pack that shall be used instead. Use in conjunction with the deprecated attribute. E.g. the maintainer of the Pack A.X_DFP changes from vendor <em>A</em> to vendor <em>B</em>. In this case the attribute deprecated gets set in the A.X_DFP.pdsc and the replacement attribute set to B.X_DFP. Tools use this information to redirect users to a supported pack.  </td><td>xs:string </td><td>optional  </td></tr>
</table>
<p>&#160;</p>
<hr/>
 </div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="packFormat.html">Pack Description (*.pdsc) Format</a></li>
    <li class="footer">Generated on Wed Jul 10 2019 15:21:00 for CMSIS-Pack Version 1.6.0 by Arm Ltd. All rights reserved.
	<!--
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 
	-->
	</li>
  </ul>
</div>
</body>
</html>
