blob: a51099c46ecac3eca5bfd30c87480bf99fedd155 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<?xml-stylesheet type="text/xml" href="../../nbbuild/javadoctools/apichanges.xsl"?>
<!DOCTYPE apichanges PUBLIC "-//NetBeans//DTD API changes list 1.0//EN" "../../nbbuild/javadoctools/apichanges.dtd">
<apichanges>
<!-- First, a list of API names you may use: -->
<apidefs>
<apidef name="general">Autoupdate Services API</apidef>
<!-- etc. -->
</apidefs>
<!-- ACTUAL CHANGES BEGIN HERE: -->
<changes>
<change id="enable-trusted-update-centers">
<api name="general"/>
<summary>KeyStoreProviders can now report which trustlevel they intent to supply</summary>
<version major="1" minor="62"/>
<date day="4" month="11" year="2019"/>
<author login="matthiasblaesing"/>
<compatibility addition="yes" binary="compatible" deletion="no" deprecation="no" semantic="compatible" source="compatible"/>
<description>
<p>
The UpdateUnitProvider can now be declared trusted. If
UpdateItems are provided by a trusted UpdateUnitProvider
and can be linked to it (for example because the provider provides
checksums in the catalog), they are considered trusted by the Autoupdate
mechanism and will not trigger certificate warnings.
</p>
</description>
<class package="org.netbeans.api.autoupdate" name="OperationContainer"/>
</change>
<change id="keystores-for-validation">
<api name="general"/>
<summary>KeyStoreProviders can now report which trustlevel they intent to supply</summary>
<version major="1" minor="61"/>
<date day="4" month="11" year="2019"/>
<author login="matthiasblaesing"/>
<compatibility addition="yes" binary="compatible" deletion="no" deprecation="no" semantic="compatible" source="compatible"/>
<description>
<p>
The validation of signatures of NBMs was done by checking if at least a partial certificate chain was present
and if that chain was valid (i.e. not expired, not revoked). Instead of relying on this partial check this
version bases the verification on a list of trusted certificates, similar to the existing KeyStoreProvider.
</p>
<p>
The existing KeyStoreProviders provide Certificates, that are fully trusted. The new getTrustLevel method
allows a KeyStoreProvider to provide certificate for the new, lower trusted level. In addition to the to
levels TRUST and VALIDATE, two variants: TRUST_CA and VALIDATE_CA are introduced. Certificates provided with
that level are expected to be CA certificates and they are only trusted if a `CertPathValidator` validates
the chain.
</p>
</description>
<class package="org.netbeans.api.autoupdate" name="OperationContainer"/>
</change>
<change id="missing-elements">
<api name="general"/>
<summary>Report parts of a feature which is not installed yet</summary>
<version major="1" minor="57"/>
<date day="30" month="11" year="2018"/>
<author login="sdedic"/>
<compatibility addition="yes" binary="compatible" deletion="no" deprecation="no" semantic="compatible" source="compatible"/>
<description>
A distributed feature may list a module, which is only available on some update center, in NB IDE case because of
licensing issues. This token must be reported so the as part of the UpdateElement and Operation so the caller may
initiate the download operation.
</description>
<class package="org.netbeans.api.autoupdate" name="OperationContainer"/>
</change>
<change id="visible-ancestor">
<api name="general"/>
<summary>Find a visible ancestor of UpdateUnit</summary>
<version major="1" minor="37"/>
<date day="31" month="10" year="2012"/>
<author login="jrechtacek"/>
<compatibility addition="yes" binary="compatible" deletion="no" deprecation="no" semantic="compatible" source="compatible"/>
<description>
<p>
Added a method {@link org.netbeans.api.autoupdate.UpdateUnit#getVisibleAncestor} which returns a visible plugin
which depending upon this unit. Returns a unit if this unit is installed in the system and some of visible
units depending upon this one, otherwise returns null.
</p>
</description>
<class package="org.netbeans.api.autoupdate" name="UpdateUnit"/>
<issue number="190246"/>
</change>
<change id="preffered-update">
<api name="general"/>
<summary>Mark an update as preferred just if needed</summary>
<version major="1" minor="33"/>
<date day="16" month="5" year="2012"/>
<author login="jrechtacek"/>
<compatibility addition="yes" binary="compatible" deletion="no" deprecation="no" semantic="compatible" source="compatible"/>
<description>
<p>
Added a <code>preferredupdate</code> attribute into <code>Update Center Descriptor</code>
to specify if an update has to be installed before other updates or not. This flag is <b>off</b> as default.
</p>
</description>
<class package="org.netbeans.spi.autoupdate" name="UpdateItem"/>
<issue number="211734"/>
</change>
<change id="content-description">
<api name="general"/>
<summary>Added a method to get a descprition of content of Upadate Center</summary>
<version major="1" minor="33"/>
<date day="16" month="5" year="2012"/>
<author login="jrechtacek"/>
<compatibility addition="yes" binary="compatible" deletion="no" deprecation="no" semantic="compatible" source="compatible"/>
<description>
<p>
{@link org.netbeans.api.autoupdate.UpdateUnitProvider#getContentDescription} returns
a description of content staging by this provider. The description might contains HTML tags e.g. HTML Links.
</p>
</description>
<class package="org.netbeans.api.autoupdate" name="UpdateUnitProvider"/>
<issue number="211741"/>
</change>
<change id="get-license-id">
<api name="general"/>
<summary>Added a method to get ID of license agreement</summary>
<version major="1" minor="33"/>
<date day="16" month="5" year="2012"/>
<author login="jrechtacek"/>
<compatibility addition="yes" binary="compatible" deletion="no" deprecation="no" semantic="compatible" source="compatible"/>
<description>
<p>
Added a method {@link org.netbeans.api.autoupdate.UpdateElement#getLicenseId}
to get ID of license agreement if the <code>UpdateElement</code> has a copyright.
</p>
<p>
This ID could be stored somewhere once an user approves the license and
will not be asked for approval again the same license ID.
</p>
</description>
<class package="org.netbeans.api.autoupdate" name="UpdateElement"/>
<issue number="211736"/>
</change>
<change id="check-write-permission">
<api name="general"/>
<summary>Check write permissions to installation directory</summary>
<version major="1" minor="33"/>
<date day="16" month="5" year="2012"/>
<author login="jrechtacek"/>
<compatibility addition="yes" binary="compatible" deletion="no"
deprecation="yes" semantic="compatible" source="compatible"
/>
<description>
<p>
<code>InstallSupport</code> find out the right directory where a plugin
should be installed. After that it checks if an user has privilege to write there.
In the case a lack of write permission, throws
{@link org.netbeans.api.autoupdate.OperationException.WRITE_PERMISSION}.
</p>
<p>
Beside this it allows to write into
<code>userdir</code> as a fallback in the case of insufficient privilege.
</p>
</description>
<class package="org.netbeans.api.autoupdate" name="InstallSupport"/>
<class package="org.netbeans.api.autoupdate" name="OperationException"/>
<issue number="211777"/>
</change>
<change id="nbm-external-size">
<api name="general"/>
<summary>Allowing to specify external NBM content size</summary>
<version major="1" minor="32"/>
<date day="14" month="5" year="2012"/>
<author login="jlahoda"/>
<compatibility addition="yes" />
<description>
<p>
You can now specify the size of the external NBM content in the <code>.external</code> file
by using <code>SIZE:</code> property (e.g. <code>SIZE:42</code>). The size will then be incorporated
in the download size of the NBM.
</p>
</description>
<issue number="212068"/>
</change>
<change id="nbm-external">
<api name="general"/>
<summary>External NBM contents</summary>
<version major="1" minor="24"/>
<date day="10" month="2" year="2011"/>
<author login="jtulach"/>
<compatibility addition="yes" />
<description>
<p>
You can now ask that publicly downloadable files be included in an NBM.
Just replace <code>netbeans/file</code> with a text file <code>netbeans/file.external</code>
with lines:
</p>
<ol>
<li><code>CRC:123456789</code> to specify an expected CRC-32 checksum (nonnegative decimal format)</li>
<li><code>URL:http://.../...</code> to specify a download location (may be repeated to offer alternatives)</li>
</ol>
<p>
You can embed system properties in a URL using Ant-like syntax: <samp>http://.../feature-for-${java.specification.version}.nbm</samp>
</p>
<p>
The <code>&lt;makenbm&gt;</code> Ant task will automatically
avoid packing the actual file if the <code>*.external</code>
variant is also in the input cluster.
</p>
<p>
For convenience, the <code>org.netbeans.modules.maven.embedder</code>
module (if present) can also handle URLs of the forms
<code>m2:/org.grp:art:1.0:jar</code> or <code>m2:/org.grp:art:1.0:jar:javadoc</code>
which can take advantage of the local repository as a cache.
</p>
</description>
<issue number="195041"/>
</change>
<change id="custom-icons">
<api name="general"/>
<summary>Icons for update centers</summary>
<version major="1" minor="23"/>
<date day="10" month="1" year="2011"/>
<author login="jtulach"/>
<compatibility addition="yes" binary="compatible" deletion="no"
deprecation="yes" semantic="compatible" source="compatible"
/>
<description>
<p>
Define icon when specifying an update center using
<code>categoryIconBase</code> attribute.
</p>
</description>
<class package="org.netbeans.api.autoupdate" name="UpdateElement"/>
<class package="org.netbeans.api.autoupdate" name="UpdateUnitProvider"/>
<issue number="183778"/>
</change>
<change id="source-group-modifier">
<api name="general"/>
<summary>Feature enabled only when all its dependencies are enabled</summary>
<version major="1" minor="8"/>
<date day="15" month="4" year="2009"/>
<author login="jtulach"/>
<compatibility semantic="incompatible"/>
<description>
<p>
The behaviour of <code>UpdateItem.createFeature().getInstalled().isEnabled()</code>
has been changed. Now it returns <code>true</code> only if
all dependencies are enabled.
</p>
</description>
<class package="org.netbeans.spi.autoupdate" name="UpdateItem"/>
<issue number="162673"/>
</change>
<change id="new-operation-container">
<api name="general"/>
<summary>New operation type introduced together with method for create appropriate container</summary>
<version major="1" minor="11"/>
<date day="19" month="8" year="2009"/>
<author login="dlipin"/>
<compatibility semantic="compatible"/>
<description>
<p>
New operation type - <code>OperationSupport.OperationType.INTERNAL_UPDATE</code> is introduced.
This operation can be used to find out elements which have updates and
which the particular element has the dependency on.
</p>
</description>
<class package="org.netbeans.api.autoupdate" name="OperationSupport"/>
<class package="org.netbeans.api.autoupdate" name="OperationContainer"/>
<issue number="141714"/>
</change>
</changes>
<!-- Now the surrounding HTML text and document structure: -->
<htmlcontents>
<!--
NO NO NO NO NO!
==============> DO NOT EDIT ME! <==============
AUTOMATICALLY GENERATED FROM APICHANGES.XML, DO NOT EDIT
SEE projects/projectapi/apichanges.xml
-->
<head>
<title>Change History for the Autoupdate Services API</title>
<link rel="stylesheet" href="prose.css" type="text/css"/>
</head>
<body>
<p class="overviewlink"><a href="overview-summary.html">Overview</a></p>
<h1>Introduction</h1>
<p>This document lists changes made to the <a href="@org-netbeans-modules-autoupdate-services@/index.html">Autoupdate Services API</a>.</p>
<!-- The actual lists of changes, as summaries and details: -->
<hr/>
<standard-changelists module-code-name="org.netbeans.modules.autoupdate.services"/>
<hr/><p>@FOOTER@</p>
</body>
</htmlcontents>
</apichanges>