blob: 8377ac99873581210d30cbbad7f785eeb2a915dc [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!-- Search for CHANGEME in this document when copying and using it: -->
<!--
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">
<!--
INFO FOR PEOPLE ADDING CHANGES:
Check the DTD (apichanges.dtd) for details on the syntax. You do not
need to regenerate the HTML, as this is part of Javadoc generation; just
change the XML. Rough syntax of a change (several parts optional):
<change>
<api name="compiler"/>
<summary>Some brief description here, can use <b>XHTML</b></summary>
<version major="1" minor="99"/>
<date day="13" month="6" year="2001"/>
<author login="jrhacker"/>
<compatibility addition="yes"/>
<description>
The main description of the change here.
Again can use full <b>XHTML</b> as needed.
</description>
<class package="org.openide.compiler" name="DoWhatIWantCompiler"/>
<issue number="14309"/>
</change>
Also permitted elements: <package>, <branch>. <version> is API spec
version, recommended for all new changes. <compatibility> should say
if things were added/modified/deprecated/etc. and give all information
related to upgrading old code. List affected top-level classes and
link to issue numbers if applicable. See the DTD for more details.
Changes need not be in any particular order, they are sorted in various
ways by the stylesheet anyway.
Dates are assumed to mean "on the trunk". If you *also* make the same
change on a stabilization branch, use the <branch> tag to indicate this
and explain why the change was made on a branch in the <description>.
Please only change this file on the trunk! Rather: you can change it
on branches if you want, but these changes will be ignored; only the
trunk version of this file is important.
Deprecations do not count as incompatible, assuming that code using the
deprecated calls continues to see their documented behavior. But do
specify deprecation="yes" in <compatibility>.
This file is not a replacement for Javadoc: it is intended to list changes,
not describe the complete current behavior, for which ordinary documentation
is the proper place.
-->
<apichanges>
<!-- First, a list of API names you may use: -->
<apidefs>
<apidef name="versioning_spi">Versioning SPI</apidef>
<!-- etc. -->
</apidefs>
<!-- ACTUAL CHANGES BEGIN HERE: -->
<changes>
<change>
<api name="versioning_spi"/>
<summary>Support ContextAwareActions</summary>
<version major="1" minor="37"/>
<date day="16" month="11" year="2012"/>
<author login="tstupka"/>
<compatibility addition="yes"/>
<description>
make it possible for Versioning Systems to fire visibility changes for a list of files
instead of one unspecific change event.
</description>
<class package="org.netbeans.modules.versioning.spi" name="VCSVisibilityQuery"/>
<issue number="221831"/>
</change>
<change>
<api name="versioning_spi"/>
<summary>Support ContextAwareActions</summary>
<version major="1" minor="31"/>
<date day="12" month="4" year="2012"/>
<author login="tstupka"/>
<compatibility addition="yes"/>
<description>
Ensure that <code>ContextAwareAction</code>-s provided via <code>VCSHistoryProvider.HistoryEntry.getActions()</code>
are created with a context containing the selected nodes in a files editor history tab. Those nodes than will have
the relevant <code>HistoryEntry</code> and files in their lookup.
</description>
<class package="org.netbeans.modules.versioning.spi" name="VCSHistoryProvider"/>
<issue number="210691"/>
</change>
<change>
<api name="versioning_spi"/>
<summary>Added VCSHistoryProvider.HistoryEntry.getParent()</summary>
<version major="1" minor="30"/>
<date day="12" month="4" year="2012"/>
<author login="tstupka"/>
<compatibility addition="yes"/>
<description>
New method <code>VCSHistoryProvider.HistoryEntry.getParent()</code> to provide the
<code>VCSHistoryProvider.HistoryEntry</code> representing the parent of the given revision.
</description>
<class package="org.netbeans.modules.versioning.spi" name="VCSHistoryProvider"/>
<issue number="209673"/>
</change>
<change>
<api name="versioning_spi"/>
<summary>Added VCSHistoryProvider</summary>
<version major="1" minor="29"/>
<date day="30" month="1" year="2012"/>
<author login="tstupka"/>
<compatibility addition="yes"/>
<description>
New type <code>VCSHistoryProvider</code> makes it possible for versionig systems to
provide information about a files history which is then used in that files editor history tab.
</description>
<class package="org.netbeans.modules.versioning.spi" name="VersioningSupport"/>
<issue number="207126"/>
</change>
<change>
<api name="versioning_spi"/>
<summary>isExcluded() added to VersioningSupport</summary>
<version major="1" minor="25"/>
<date day="19" month="7" year="2011"/>
<author login="ovrabec"/>
<compatibility addition="yes"/>
<description>
Method <code>isExcluded</code> states that a given folder is excluded from version control completely.
All version control systems should respect the return value and consider such folders to be unversioned.
</description>
<class package="org.netbeans.modules.versioning.spi" name="VersioningSupport"/>
<issue number="199986"/>
</change>
<change>
<api name="versioning_spi"/>
<summary>New @VersioningSystem.Registration annotation</summary>
<version major="1" minor="24"/>
<date day="23" month="5" year="2011"/>
<author login="tstupka"/>
<compatibility addition="yes"/>
<description>
Register a VCS System via the <code>@VersioningSystem.Registration</code>
instead of <code>@ServiceProvider</code>.
</description>
<class package="org.netbeans.modules.versioning.spi" name="VersioningSystem"/>
<issue number="196290"/>
</change>
<change>
<api name="versioning_spi"/>
<summary>beforeCopy(), doCopy() and afterCopy() methods added to VCSInterceptor</summary>
<version major="1" minor="18"/>
<date day="27" month="8" year="2010"/>
<author login="tstupka"/>
<compatibility addition="yes"/>
<description>
<code>VCSInterceptor.beforeCopy</code>, <code>VCSInterceptor.doCopy</code>,
and <code>VCSInterceptor.afterCopy</code> allow a version control system
to better control a copy operation on a file.
</description>
<class package="org.netbeans.modules.versioning.spi" name="VCSInterceptor"/>
<issue number="189921"/>
</change>
<change>
<api name="versioning_spi"/>
<summary>refreshRecursively() method added to VCSInterceptor</summary>
<version major="1" minor="17"/>
<date day="19" month="4" year="2010"/>
<author login="ovrabec"/>
<compatibility addition="yes"/>
<description>
<code>VCSInterceptor.refreshRecursively</code> allows a version control system to get better control on behavior of recursive listener.
With this method a versioning system can disable recursive listening on specific folders (e.g. versioning system metadata) and on the other hand
learn about and handle external changes inside the folder in its own way.
</description>
<class package="org.netbeans.modules.versioning.spi" name="VCSInterceptor"/>
<issue number="181684"/>
</change>
<change>
<api name="versioning_spi"/>
<summary>Added getVisibilityQueryImplementation() method to VersioningSystem</summary>
<version major="1" minor="10"/>
<date day="8" month="12" year="2009"/>
<author login="tstupka"/>
<compatibility addition="yes"/>
<description>
Some Versioning systems provide a VisibilityQueryImplementation. This API change has two purposes:
1. There will be only one registered VQI (Versioning manager) that will delegate the query to the appropriate
versioning system which will speed things up.
2. It makes it clear and explicit that implementors of a VersioningSystem might want to provide the query.
It would be possible for them to just implement and register their own VisibilityQueryImplementation but
they could easily forget to do that.
</description>
<class package="org.netbeans.modules.versioning.spi" name="VersioningSystem"/>
<issue number="146634"/>
</change>
<change>
<api name="versioning_spi"/>
<summary>Added getCollocationQueryImplementation() method to VersioningSystem</summary>
<version major="1" minor="9"/>
<date day="12" month="5" year="2009"/>
<author login="tstupka"/>
<compatibility addition="yes"/>
<description>
New method getAttribute(File file, String attrName). Provides additional VCS specific information
about versioned files. The only supported attribute at this moment is
"ProvidedExtensions.RemoteLocation" for which VCS systems
overrinding getAttribute should return the files remote repository, resp. remote origin.
(e.g. Repository URL in case of SVN or default pull in case of Mercurial).
</description>
<class package="org.netbeans.modules.versioning.spi" name="VCSInterceptor"/>
<issue number="158681"/>
</change>
<change>
<api name="versioning_spi"/>
<summary>Added getCollocationQueryImplementation() method to VersioningSystem</summary>
<version major="1" minor="8"/>
<date day="27" month="6" year="2008"/>
<author login="msandor"/>
<compatibility addition="yes"/>
<description>
Every Versioning system should provide a CollocationQueryImplementation. This API change has two purposes:
1. It makes it clear and explicit that implementors of a VersioningSystem should provide the query. It would be possible for them
to just implement and register their own CollocationQueryImplementation but they could easily forget to do that.
2. There will be only one registered CQI (Versioning manager) that will delegate the query to the appropriate
versioning system which will speed things up.
</description>
<class package="org.netbeans.modules.versioning.spi" name="VersioningSystem"/>
<issue number="137822"/>
</change>
<change>
<api name="versioning_spi"/>
<summary>Added isMutable() method to VCSInterceptor</summary>
<version major="1" minor="7"/>
<date day="30" month="3" year="2008"/>
<author login="msandor"/>
<compatibility addition="yes"/>
<description>
This new method provides ability to override default File.canWrite() query for versioning systems that
keep files read-only on disk and are able to make them read-write on demand in the interceptor (eg. in doDelete()).
</description>
<class package="org.netbeans.modules.versioning.spi" name="VCSInterceptor"/>
<issue number="130044"/>
</change>
<change>
<api name="versioning_spi"/>
<summary>Added getFiles() method to VCSContext</summary>
<version major="1" minor="6"/>
<date day="25" month="1" year="2008"/>
<author login="msandor"/>
<compatibility addition="yes"/>
<description>
This new method provides access to all files and folders that the user originally selected in the IDE. Current
getRootFiles() method removes files from the context if their ancestors are already in the context.
</description>
<class package="org.netbeans.modules.versioning.spi" name="VCSContext"/>
<issue number="125853"/>
</change>
<change>
<api name="versioning_spi"/>
<summary>Added beforeEdit method to VCSInterceptor</summary>
<version major="1" minor="5"/>
<date day="15" month="6" year="2007"/>
<author login="msandor"/>
<compatibility addition="yes"/>
<description>
This is to properly support versioning systems that write-protect their files on local filesystem. They need a way to make
a file r/w automatically once something tries to write to it. This is especially needed for refactoring to work. Now they have
a chance to check-out a file in the beforeEdit() callback.
</description>
</change>
<change>
<api name="versioning_spi"/>
<summary>Initial version of SPI released</summary>
<version major="1" minor="4"/>
<date day="18" month="4" year="2007"/>
<author login="msandor"/>
<compatibility addition="yes"/>
<description>
First initial release of the Versioning SPI.
Level of stability is development.
Allows external modules to plug into IDE's Versioning infrastructure.
Such modules should register <code>VersioningSystem</code> implementation
in their lookups.
</description>
</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 CHANGEME/apichanges.xml
-->
<head>
<title>Change History for the Versioning SPI</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 Versioning SPI.</p>
<!-- The actual lists of changes, as summaries and details: -->
<hr/><standard-changelists module-code-name="org.netbeans.modules.versioning"/>
<hr/><p>@FOOTER@</p>
</body>
</htmlcontents>
</apichanges>