blob: 054ddc5687fe35a37461b9113061e19bb0dc3561 [file] [log] [blame]
<?php
require_once ("../../../includes/buildServer-common.php");
require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php"); require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); $App = new App(); $Nav = new Nav(); $Menu = new Menu(); include($App->getProjectCommon());
ob_start();
?>
<div id="midcolumn">
<h1>Release Notes</h1>
<div class="homeitem3col">
<h3>What's new in EMF 1.1.1?</h3>
<ol>
<li><b><a id="emf_111a" name="emf_111a">Build 20030819_0612SL: Bug
Fixes and Improvements</a></b>
<p>There are numerous bug fixes and improvements included with this
build, some of which are described below. Where the description
applies to a fix for a bug reported through Bugzilla, the Bugzilla
number is included after the description.
</p>
<ul>
<li>Better JET encoding support has been added. UTF-8 encoded
templates are supported now. (Bugzilla <a
href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38074">38074</a>,
<a
href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38075">38075</a>,
<a
href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38078">38078</a>,
<a
href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41723">41723</a>)</li>
<li>The org.eclipse.emf.codegen.jet.JETSkeleton.java class has been
changed to generate code with platform-specific linefeeds.
(Bugzilla <a
href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24371">24371</a>)</li>
<li>The org.eclipse.emf.codegen.jmerge.JMerger.java class has been
changed to accommodate platform-dependent line separator
character(s).</li>
<li>The org.eclipse.emf.common.util.BasicEMap.java class has been
updated to fix a recursive cycle bug encountered when using the
putEntry(Entry entry, Object value) method to put a new value to an
existing key.</li>
<li>The org.eclipse.emf.common.util.URI.java class has been updated
to handle resolution of JAR-scheme URIs. Also, comparison of
schemes has been made case-insensitive in all URI operations,
including testing equality.</li>
<li>Changes have been made to handle xsi:noNamespaceSchemaLocation
in XML and XMI instance documents. (Bugzilla <a
href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=39440">39440</a>)</li>
<li>The setAttribValue(EObject object, String name, String value)
in the org.eclipse.emf.ecore.xmi.impl.XMLHandler.java class has
been changed to properly handle qualified attributes.</li>
<li>The org.eclipse.emf.edit.ui.celleditor.FeatureEditorDialog.java
class has been modified to make it more generally useful. A new
constructor has been added that enables you to instantiate a
FeatureEditorDialog that can be used to edit any set of values that
are passed to it during construction, rather than the values of a
specified feature of a specified EObject. The new constructor is
used by the createPropertyEditor(Composite composite) method in the
org.eclipse.emf.edit.ui.provider.PropertyDescriptor.java class,
which fixes a problem that can occur when using an
ItemPropertyDescriptorDecorator to customize a multi-valued
property.</li>
<li>Drag and drop for the generated editor has been fixed on Linux.
(Bugzilla <a
href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=39151">39151</a>)</li>
<li>The next() method in the
org.eclipse.emf.common.util.AbstractTreeIterator.java class has
been changed so that it doesn't return the root if it's not
supposed to, even if the hasNext() method hasn't been called.
(Bugzilla <a
href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=39893">39893</a>)</li>
</ul>
</li>
<li><b><a id="emf_111b" name="emf_111b">Build 20030913_1427WL: Bug
Fixes and Improvements</a></b>
<p>There are bug fixes and improvements included with this build,
some of which are described below. Where the description applies to
a bug reported through Bugzilla, the Bugzilla number is included
after the description.
</p>
<ul>
<li>The eBasicSetContainer(InternalEObject newContainer, int
newContainerFeatureID, NotificationChain msgs) method in the
org.eclipse.emf.ecore.impl.EObjectImpl.java class has been changed
so that eBasicSetContainer(newContainer, newContainerFeatureID) is
called before newResource.attached(this). (Bugzilla <a
href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41907">41907</a>)</li>
<li>The painting problem with the ExtendedTableTreeViewer on
Linux-GTK has been fixed. (Bugzilla <a
href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=39707">39707</a>)</li>
<li>The version numbers for the plugins in the feature.xml files
have been updated to 1.1.1. Additionally, in the feature.xml file
for the org.eclipse.emf feature, the following updates have been
made in the requires element:
<ul>
<li>in the import element for the org.eclipse.core.resources
plugin, the version has been changed to 2.1.1</li>
<li>in the import element for the org.apaches.xerces plugin, the
version has been changed to 4.0.13</li>
</ul>
</li>
</ul>
</li>
<li><b><a id="emf_111c" name="emf_111c">Build 20031020_1612WL: Bug
Fixes and Improvements</a></b>
<p>There are bug fixes and improvements included with this build,
some of which are described below. Where the description applies to
a bug reported through Bugzilla, the Bugzilla number is included
after the description.
</p>
<ul>
<li>The org.eclipse.emf.ecore.util.EcontentAdapter.java class has
been improved. Included are the following changes:
<ul>
<li>REMOVING_ADAPTER notification is now used to remove children
recursively.</li>
<li style="list-style: none">(Bugzilla <a
href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43417">43417</a>)</li>
<li>super.setTarget(target) is now called during the
setTarget(Notifier target) method.</li>
<li style="list-style: none">(Bugzilla <a
href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43416">43416</a>)</li>
</ul>
</li>
<li>Importing a Rose model containing a reference from a class to
another class that is stereotyped &lt;&lt;datatype&gt;&gt; is now
supported. Previously, this would result in a ClassCastException.
(Bugzilla <a
href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41993">41993</a>)</li>
<li>EMF now avoids generating methods that collide with feature
methods. For example, suppose that you have an interface A, and
that A extends an interface containing a method with the signature
Foo getFoo(). If A also has an attribute named foo of type Foo,then
the accessor method with the signature Foo getFoo() would collide
with the method from the parent interface. In this case, the
generated interface A will contain only one Foo getFoo() method.
Further, the implementation of the Foo getFoo() method in the
generated AImpl.java class will be that for the accessor method.
(Bugzilla <a
href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38602">38602</a>)</li>
<li>The package name resolution algorithm in the method
resolve(EModelElement eModelElement, String typeName, boolean
recordDemandCreatedEDataType) in the
org.eclipse.emf.codegen.ecore.JavaEcoreBuilder.java class has been
improved. (Bugzilla <a
href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44080">44080</a>)</li>
<li>The braceLine attribute in the
org.eclipse.emf.codegen.jmerge.JMerger.java class has been changed
to escape the brace. (Bugzilla <a
href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45182">45182</a>)</li>
<li>EMF now throws a PackageNotFoundException if you try to
reference a Resource that references an unregistered package.
(Bugzilla <a
href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43123">43123</a>)</li>
<li>The resetPropertyValue(Object object) method in the
org.eclipse.emf.edit.provider.ItemPropertyDescriptior.java class
has now been implemented. (Bugzilla <a
href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41706">41706</a>)</li>
</ul>
</li>
<li><b><a id="emf_111d" name="emf_111d">Build 20031120_1149WL: Bug
Fixes and Improvements</a></b>
<p>Only XSD has changed for this maintenance release.
</p>
</li>
<!--- end of copy -->
</ol>
</div>
<div class="homeitem3col">
<h3>What's new in EMF 1.1.0?</h3>
<ol>
<li>
<b><a id="emf_110a" name="emf_110a">Build 20030501_0612VL: Bug Fixes and Improvements</a></b>
<ol type="I">
<li><b><a name="emf110_1">Eclipse 2.1 based</a></b>
<p>As with EMF 1.0.2, the EMF 1.1.0 drivers will only work well
with Eclipse 2.1 or Eclipse 2.1.1. They should work with 2.0.2, but
they won't get the CLASSPATH correct for .editor projects.
</p>
</li>
<li><b><a name="emf110_2">Migration from 1.0.2</a></b>
<p>Code regeneration of 1.0.2 projects is recommended, but not
required. (See "Bug Fixes and Improvements" below.)
</p>
</li>
<li><b><a name="emf110_3">New Mapping Plugins</a></b>
<p>Two new mapping plugins (org.eclipse.emf.mapping and
org.eclipse.emf.mapping.ui) have been added. Documentation for
these new plugins will be forthcoming soon. A sample of their use
is provided by the two xsd2ecore plugins
(org.eclipse.emf.mapping.xsd2ecore and
org.eclipse.emf.mapping.xsd2ecore.editor) in the XSD (XML Schema
Infoset Model) Eclipse Tools Subproject, Version 1.1.0.
</p>
</li>
</ol>
<p>There are numerous bug fixes and improvements included with this
build, some of which are described below. Where the description
applies to a fix for a bug reported through Bugzilla, the Bugzilla
number is included after the description.
</p>
<ul>
<li>XMI files created by the org.eclipse.emf.ecore.xmi plugin are
now saved with a system-specific line separator. (Bugzilla <a
href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36913">36913</a>).</li>
<li>You can now use the empty String ("") as the default value for
a String attribute in your Rose model.</li>
<li>EMF now writes the .ecore and .genmodel files using UTF-8 as
the encoding when the default Java locale's language is not
English.</li>
<li>EMF can now read a Rose .mdl file created by a Japanese version
of Rose (Rose 2001A.04.00 Japanese version). (Bugzilla <a
href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36651">36651</a>).</li>
<li>The EMF code generator now supports classes (or more generally
types) whose names end in "Impl". (Bugzilla <a
href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35952">35952</a>).</li>
<li>A number of improvements have been made to the XSD to Ecore
conversion, including improvements in the ability to parse
according to the originating schema.</li>
<li>The implementation for dynamic EMF has been reworked to be
faster and to use less space.</li>
<li>We have introduced org.eclipse.emf.common.util.DelegatingEList,
org.eclipse.emf.common.notify.impl.DelegatingNotifyingListImpl, and
org.eclipse.emf.ecore.util.DelegatingEcoreEList to allow clients to
wrap an existing list implementation that they may have as the
"backing store" for a list that implements all the correct EMF
behaviors.</li>
<li><b>Important!</b> Template changes to improve performance and
to ensure that dynamic EMF works properly for multiple inheritance
will be picked up only if clients regenerate their models, so it is
recommended but not required that clients regenerate.
</li>
</ul>
</li>
<li>
<b><a name="emf_110e">Build 20030513_0618VL: Bug Fixes and Improvements</a></b>
<p>There are numerous bug fixes and improvements included with this
build, some of which are described below. Where the description
applies to a fix for a bug reported through Bugzilla, the Bugzilla
number is included after the description. You can link directly to
the Bugzilla bug using this number.
</p>
<ul>
<li>The method URI.createDeviceURI is deprecated in favor of using
URI.createURI which will always recognize a leading device
component just as URI.createDeviceURI did previously. We ask that
clients remove uses of createDeviceURI so that we can remove the
method from a subsequent drop. In general, any deprecation warning
should be eliminated in anticipation of the support
disappearing.</li>
<li>The feature order of serialized instances is now preserved when
going from XSD to Ecore.</li>
<li>The infinite loop caused by a missing resource for the
org.eclipse.emf.common plugin has been fixed. (Bugzilla <a
href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37193">37193</a>).</li>
<li>The generated model editor wizard now provides an encoding
choice. <b>Important!</b> Because of this change, a newly generated
editor plugin will now require (and include) the following import
in its plugin.xml file:
<p>&lt;import plugin="org.eclipse.emf.ecore.xmi"/&gt;</p>
<p>However, because the plugin.xml file is not regenerated or
merged, clients who are regenerating an editor that they have
generated before will need either to remove the plugin.xml file and
let it be regenerated anew, or to add this import manually to the
existing plugin.xml file. (Bugzilla <a
href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37366">37366</a>).</p>
</li>
<li>The .properties file used by the generated editor plugin is now
ISO-8859-1 encoded. (Bugzilla <a
href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37367">37367</a>).</li>
<li>The getPropertyDescriptor(Object object, Object propertyId)
method in the
org.eclipse.emf.edit.provider.ItemProviderAdapter.java now demand
creates properties. (Bugzilla <a
href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37190">37190</a>).</li>
<li>OPTION_ENCODING is now supported an an alternative/override to
setEncoding() when saving an XMLResource
(org.eclipse.emf.ecore.xmi.XMLResource). An example of its use is
as follows:
<pre>
Map options = new HashMap();
options.put(XMLResource.OPTION_ENCODING, initialObjectCreationPage.getEncoding());
resource.save(options);
</pre>
</li>
<li>Some minor API changes include removing the empty XMIHelper
interface, eliminating XMLResource.changed in favor of supporting
repeating calls to XMLResource.setID, and changing
EObject.eContainmentFeature's result type from EStructuralFeature
to EReference.</li>
<li>Notification.CREATE in
org.eclipse.emf.common.notify.Notification.java has been
deprecated. We ask that clients remove uses of Notification.CREATE
so that we can remove it from a subsequent drop. In general, any
deprecation warning should be eliminated in anticipation of the
support disappearing.</li>
</ul>
</li>
<li>
<b><a name="emf_110f">Build 20030519_0521VL: Bug Fixes and Improvements</a></b>
<p>There are numerous bug fixes and improvements included with this
build, some of which are described below.
</p>
<ul>
<li>The following now applies to the xsd2ecore mapping:
<ul>
<li>If an attribute's type is primitive (or it is an enum), it
should be unsettable when mapped to Ecore.</li>
<li>If its type is not primitive (and not an enum) and it has a
default value different from null, it should be unsettable when
mapped to Ecore.</li>
<li>Also, support for promoting a primitive type to a wrapper type
for nillable elements has been added.</li>
</ul>
</li>
<li>The eSettingDelegate() accessor method in the EObjectImpl.java
class has been added to provide access to SettingDelegate.</li>
<li>For the EMF .ecore/.genmodel editors and the generated model
editors, the menubar Edit menu items are now enabled when the
outline and properties views have focus.</li>
<li>Multiline @model annotations are now supported.</li>
<li>A check has been added to ensure that the GenPackage's prefix
is always made to begin with an uppercase letter, if it does not
already.</li>
</ul>
</li>
<li>
<b><a name="emf_110g">Build 20030527_0913VL: Bug Fixes and Improvements</a></b>
<p>There are some bug fixes and improvements included with this
build, some of which are described below.
</p>
<ul>
<li>The prepare() method in ReplaceCommand has been corrected to
accept objects of the correct class. (Bugzilla <a
href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37953">37953</a>).</li>
<li>Both IntegerCellEditor and FloatCellEditor have been deprecated
in org.eclipse.emf.edit.ui.provider.PropertyDescriptor.java;
EDataTypeCellEditor should be used instead. We ask that clients
remove uses of both IntegerCellEditor and FloatCellEditor so that
we can remove them from a subsequent drop. In general, any
deprecation warning should be eliminated in anticipation of the
support disappearing.</li>
<li>In the org.eclipse.emf.codegen.jet package, two constructors
have been added to the JETEmitter.java class to enable the class
loader to be provided explicitly. Also, the GenModelImpl.java class
in the org.eclipse.emf.codegen.ecore.genmodel.impl package has been
changed to use them.</li>
<li>When using Java annotations, the following will be
ignored:
-an interface that appears in the @extends or @implements notation
in the comment (i.e., an interface that is being extended or
implemented)
The reasoning for this is as follows: If you want to model this,
you would not use @extends (or @implements, as appropriate).
Therefore, the appearance of an interface in the
@extends/@implements implies that it is intentionally outside of
the model.</li>
</ul>
</li>
<li>
<b><a name="emf_110h">Build 20030602_1759VL: Bug Fixes and Improvements</a></b>
<p>There are some bug fixes and improvements included with this
build, some of which are described below.
</p>
<ul>
<li>In the org.eclipse.emf.ecore.util package, the following
EcoreEList subclass inheritance bugs have been fixed:
<ul>
<li>EObjectContainmentElist.Unsettable now extends
EObjectContainmentEList instead of EObjectEList.</li>
<li>EObjectWithInverseResolvingEList.Unsettable.ManyInverse now
extends EObjectWithInverseResolvingEList.Unsettable instead of
EObjectWithInverseEList.Unsettable.</li>
</ul>
</li>
<li>The org.eclipse.emf.ecore.util.ECoreUtil class has been made
noninstantiable.</li>
<li>The visibility of the prepare() method in the
org.eclipse.emf.edit.command.SetCommand class has been changed from
public to protected.</li>
</ul>
</li>
<li>
<b><a name="emf_110i">Build 20030605_1020SL: Bug Fixes and Improvements</a></b>
<p>There are some bug fixes and improvements included with this
build, some of which are described below.
</p>
<ul>
<li>The change that made the org.eclipse.emf.ecore.util.ECoreUtil
class noninstantiable has been reversed.</li>
</ul>
</li>
<li>
<b><a name="emf_110j">Build 20030611_1435VL: Bug Fixes and Improvements</a></b>
<p>There are some bug fixes and improvements included with this
build, some of which are described below.
</p>
<ul>
<li>The setSelectionToWidget((List list, boolean reveal) method in
the org.eclipse.emf.mapping.presentation.MappingEditor.java class
has been changed to guard against the list being null. (Bugzilla <a
href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38693">38693</a>)</li>
<li>The generated code for an attribute with isUnique=False now
ensures that isUnique is set to false.</li>
<li>The prerequisites section of the "Generating an EMF Model Using
XML Schema" tutorial has been updated to include a link to the XSD
Downloads page. (Bugzilla <a
href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38217">38217</a>)</li>
</ul>
</li>
<li>
<b><a name="emf_110k">Build 20030616_1530VL: Bug Fixes and Improvements</a></b>
<p>There are some bug fixes and improvements included with this
build, some of which are described below.
</p>
<ul>
<li>The value of FEEDBACK_INSERT_AFTER has been changed in the
org.eclipse.emf.edit.command.DragAndDropFeedback.java class as a
reault of changes in the SWT constants.</li>
<li>When JETEmitter creates the .JETEmitters project, it now checks
for the existence of the "src" and "runtime" folders before trying
to create them. (Bugzilla <a
href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38238">38238</a>)</li>
<li>The org.eclipse.emf.codegen.CodeGenPlugin.java class has been
changed to be an EMFPlugin so that exceptions can be easily logged.
(Bugzilla <a
href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38087">38087</a>)</li>
<li>&lt;package prefix=...&gt; elements have been addded to the
plugin.xml files for all the EMF and XSD plugins. (Bugzilla <a
href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38225">38225</a>)</li>
<li>As per the newsgroup discussion, the following two constructors
have been added in the
org.eclipse.emf.common.ui.celleditor.ExtendedComboBoxEditor.java
class:
<ul>
<li>public ExtendedComboBoxCellEditor(Composite composite, List
list, ILabelIProvider labelProvider, int style)</li>
<li>public ExtendedComboBoxCellEditor(Composite composite, List
list, ILabelProvider labelProvider, boolean sorted, int style)</li>
</ul>
The existing constructors have been updated to call these with the
default value for the style argument set to use SWT.READ_ONLY.</li>
</ul>
</li>
<li><b><a id="emf_110l" name="emf_110l">Build 20030620_1105VL: Bug
Fixes and Improvements</a></b>
<p>This build is a refresh of EMF being delivered with the
corresponding build of XSD.
</p>
</li>
</div>
<div class="homeitem3col">
<h3>What's new in EMF 1.0.2?</h3>
<ol>
<li><b><a id="emf_102b" name="emf_102b">Build
20030314_1622TL</a></b>
<ol type="I">
<li><b><a id="emf_102b_1" name="emf_102b_1">Eclipse 2.1
based</a></b>
<p>The EMF 1.0.2 drivers will only work well with Eclipse 2.1. They
should work with 2.0.2, but they won't get the CLASSPATH correct
for .editor projects. Sorry.
</p>
</li>
</ol>
<ul>
<li>EcoreUtil.Copier.copyContainment's first argument has changed
from EStructuralFeature to EReference.</li>
<li>New icons for EMF.Edit, Ecore, and GenModel.</li>
<li>Bug fixes...
</li>
</ul>
</li>
<li><b><a id="emf_102a" name="emf_102a">Build
20030310_0656VL</a></b>
<ul>
<li>Eliminated unneeded imports in generated files</li>
<li>Performance improvement in eNotify() method</li>
<li>Performance improvement in Dynamic EMF - array instead of Map
based implementation</li>
<li>Bug fixes...</li>
</ul>
</li>
<li><b><a id="emf_102c" name="emf_102c">Build
20030322_1237VL</a></b>
<ul>
<li>Bug fixes...</li>
</ul>
</li>
<li><b><a id="emf_102d" name="emf_102d">Build
20030326_0335VL</a></b>
<ul>
<li>Doc fixes...</li>
</ul>
</li>
</ol>
</div>
<div class="homeitem3col">
<h3>What's new in EMF 1.0.1?</h3>
<ol>
<li><b><a id="emf_101b" name="emf_101b">Build 20021023_1900TL
additions</a></b>
<ol type="I">
<li><b><a id="emf_101b_1" name="emf_101b_1">1.0.0
Incompatibility</a></b>
<p>EMF 1.0.1 uses classpath variables in the java projects it
creates. The generator also updates the classpath during generation
(although this feature can be turned off via a genmodel property).
The gist of this is that there can be conflicts with the bare jar
classpath entries used in 1.0.0 projects and therefore, you need to
delete old 1.0.0 classpath entries and then regenerate to create
them correctly. Also, although plugin.property's merge correctly
now (see below), plugin.xml's do not. Because of this, you should
delete old 1.0.0 plugin.xml's and regenerate them for 1.0.1. We
also recommend deleting 1.0.0 genmodels, and recreating them in
1.0.1, because they now support proper reload with persistent
genmodel settings, while the 1.0.0 versions do not.
</p>
</li>
<li><b><a id="emf_101b_2" name="emf_101b_2">Documentation
Plugin</a></b>
<p>There is now a documentation plugin, org.eclipse.emf.doc,
included in the download. All the EMF documentation is now
available from the desktop Help menu. We've put the documentation
plugin into the Runtime zip file, so its download size has
increased by more than 2M. We're thinking about moving it into the
Source zip, or maybe into its own zip file, in the future. If you
have an opinion, please feel free to post it to the emf
newsgroup.
</p>
</li>
<li><b><a id="emf_101b_3" name="emf_101b_3">Bug Fixes</a></b>
<ul>
<li>Importing a Rose model with nested packages, where the parent
package(s) have no classes in them, caused the generator to ignore
(not generate) all of the classes in the nested package(s).</li>
<li>If you imported annotated Java classes that were in the default
Java package (i.e., no explicit package), the importer crashed and
produced an empty editor window. Now it produces an error message
instead.</li>
<li>Java @model annotations no longer need to be on a line by
themselves in the comment. The importer will recognize @model
followed by 0 or more name=value pairs, anywhere in the comment.
This fixes a problem several people were having with the tutorial,
whereby the import from annotation wasn't finding any classes
because of the formatting of the comments.</li>
<li>Other minor bug fixes. Details available upon request.
</li>
</ul>
</li>
<li><b><a id="emf_101b_4" name="emf_101b_4">Generator
Enhancements</a></b>
<ul>
<li>The Ecore Model Project wizard now lets you create a genmodel
from an Ecore XMI file. In 1.0.0 it was only possible to create a
genmodel from a Rose model or annotated Java files.</li>
<li>You can now reload a genmodel from any source, not just from
Rose. The "Reload from Rose" menu item is now just
"Reload...".</li>
<li>Added the ability to control whether you want the edit and
editor code to be generated into their own plugin/project or not.
In 1.0.0, you had no choice but to generate the edit and editor
components into separate plugins.</li>
<li>Added more flexibility in the EMF.Edit generation. You can now
choose (by setting properties in the genmodel editor) which classes
to generate item providers for. In 1.0.0, you were forced to have
one for every class. Also, which features should be properties and
which should generate notification, is now user controllable.</li>
<li>The generator now merges plugin.properties as well as Java
files. In 1.0.0, if you regenerated an edit or editor plugin, it
would not change or overwrite an existing plugin.properties file.
If the model had new properties, you needed to manually add them,
or delete the old plugin.properties file before regenerating.
Plugin.xml's still need to be deleted if you want to regenerate
them.
</li>
</ul>
</li>
<li><b><a id="emf_101b_5" name="emf_101b_5">Added a basic
EMF-generated Ecore model editor</a></b>
<p>You can use it, instead of the text editor, to view or edit
".ecore" model files. Of course, once we have nice graphical Ecore
editors, this won't be nearly as interesting.</p>
</li>
<li><b><a id="emf_101b_6" name="emf_101b_6">Technology Preview -
Import model from XML Schema</a></b>
<p>In EMF 1.0.1 you can import your ecore model from an XML Schema,
in addition to Rose or annotated Java. To enable this support, you
need to download and install the <a
href="http://www.eclipse.org/xsd">XML Schema Project</a> plugins
first. Here is <a target="_code"
href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.emf/org.eclipse.emf/doc/org.eclipse.emf.doc/tutorials/xlibmod/library.xsd?root=Modeling_Project&amp;view=co">library.xsd</a>,
the Library model expressed in XML Schema. To use it, run the Ecore
Model Project wizard and choose "Load from XML Schema" when
prompted. This is documented in this <a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.emf/org.eclipse.emf/doc/org.eclipse.emf.doc/tutorials/xlibmod/xlibmod.html?root=Modeling_Project&amp;view=co">tutorial</a>. Give
it a try.</p>
<p>One very important difference (advantage) to using XML Schema to
define the model is that, in addition to the default XMI, instances
of the model will (not currently, but in the coming weeks) be
serializable according to the Schema.</p>
<p>Another interesting observation is that the "Book.author" and
"Writer.books" reference types, and the fact that they are opposite
ends of a bidirectional association, are not expressed in the XML
Schema. Consequently, the generator will simply treat them as two
independent one-way references of type EObject. We're looking into
ways of annotating the schema (similar to the Java annotation
approach) with the missing information. If you have any ideas or
suggestions, please feel free to post them to the emf
newsgroup.</p>
<p>Note: This support is very preliminary and highly subject to
change. It is meant to demonstrate the concepts and works well only
with simple schemas.</p>
</li>
<li><b><a id="emf_101b_7" name="emf_101b_7">Proposal to add
annotations to Ecore model objects</a></b>
<p>Class EAnnotation has been added to the Ecore model as a
proposed design for supporting annotations which follows closely
the design of the XML Schema model's XSDAnnotation. The current
design uses a &lt;&lt;0..*&gt;&gt; details : String, which we
recognize is unacceptably limiting and plan to change it, probably
to a Map, once we've worked out the details of serialization
support for a Map. We would like to solicit feedback on the
EAnnotation design. It will definitely change before the design is
committed to a Release Build. For example, adding a black diamond
relation from EAnnotation to EObject would make it essentially
identical in function to XSDAnnotation; it would mean that no one
would ever have to extend EAnnotation in order to add annotations
and it would ensure that the arbitrary EObjects are well separated
and have a well managed lifetime relative to that which they
annotate.</p>
</li>
</ol>
<ul>
<li>Generated code is now formatted according to the project (Java
Code Formatter) preferences.</li>
<li>EMF.Edit (e.g., item providers) can now be used in stand-alone
applications (see FAQ for details).</li>
<li>More XML Schema Technology preview. Along with the Java
classes, an XML Schema can now be generated for an Ecore model.
This is the opposite of the import from Schema support (described
above).</li>
<li>EAnnotation design (described above) has been completed.</li>
<li>Added support for map (i.e., EMap) type attributes. See
EAnnotation (attribute "details") for an example.</li>
<li>Some XMI and XML Resource implementation restructuring.</li>
<li>Added simple logging support. There is now a log() method
callable on generated Plugin classes.</li>
<li>More minor bug fixes and cleanup...</li>
</ul>
</li>
<li><b><a id="emf_101c" name="emf_101c">Build 20021127_0721VL
additions</a></b>
<ul>
<li>Code is now compiled with debug information (-g).</li>
<li>Source plugin is now properly structured for Eclipse
development.</li>
<li>Support Empty EMF project creation.</li>
<li>New reflective item provider and editor.</li>
<li>Second tutorial added to documentation plugin.</li>
<li>Added reconcile() method on GenModel.</li>
<li>More minor bug fixes...</li>
</ul>
</li>
<li><b><a id="emf_101d" name="emf_101d">Build 20021219_1544VL
additions</a></b>
<ul>
<li>Generated editors now include property editing for multi-valued
features.</li>
<li>More bug fixes...</li>
</ul>
</li>
<li><b><a id="emf_101e" name="emf_101e">Build 20030225_1207VL
additions</a></b>
<ul>
<li>Unsettable reference support. The unsettable feature has been
moved from EAttribute to EStructuralFeature.</li>
<li>More bug fixes...</li>
<li>This is the candiate 1.0.1 "release" build. If no problems are
encountered we will publish this build as the "Latest Release" and
then start dropping 1.0.2 builds (which will be based on Eclipse
2.1).</li>
<li>The online JavaDoc (and Ecore class diagram) has been updated
to reflect this build (i.e., the latest release).</li>
</ul>
</li>
</ol>
</div>
</div>
<?php
print "<div id=\"rightcolumn\">\n";
print <<<XML
<div class="sideitem">
<h6>Search CVS</h6>
XML;
print ' <form action="http://www.eclipse.org/' . (isset($PR) ? $PR : "modeling") . '/searchcvs.php" method="get" name="bugform" target="_blank">' . "\n";
print '
<p>
<label for="bug">Bug ID: </label><input size="7" type="text" name="q" id="q"/>
<input type="submit" value="Go!"/>
</p>
</form>
</div>
<div class="sideitem">
<h6>Releases</h6>
<p>
<ul>
<li><a href="http://www.eclipse.org/' . $PR . '/news/relnotes.php?project=emf&amp;version=HEAD">Latest</a></li>
<li><a href="http://www.eclipse.org/' . $PR . '/emf/news/relnotes2.0.php">2.0.0</a></li>
<li><a href="http://www.eclipse.org/' . $PR . '/emf/news/relnotes1.x.php">1.x</a></li>
</ul>
</p>
</div>
</div>
';
$html = ob_get_contents();
ob_end_clean();
$pageTitle = "Eclipse Modeling - EMF - Release Notes";
$pageKeywords = "";
$pageAuthor = "";
$App->AddExtraHtmlHeader('<link rel="stylesheet" type="text/css" href="/modeling/includes/downloads.css"/>' . "\n");
$App->AddExtraHtmlHeader('<link rel="stylesheet" type="text/css" href="/modeling/includes/relnotes.css"/>' . "\n");
$App->AddExtraHtmlHeader('<script src="/modeling/includes/toggle.js" type="text/javascript"></script>' . "\n"); //ie doesn't understand self closing script tags, and won't even try to render the page if you use one
$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
?>