DOM backward compatibility: Difference between revisions

From COLLADA Public Wiki
Jump to navigation Jump to search
SteveT (talk | contribs)
Elf (talk | contribs)
link in intro
Line 1: Line 1:
This page lists changes to the DOM API.
This page lists changes to the [[COLLADA DOM]] API.


==Purpose==
==Purpose==

Revision as of 15:15, 20 July 2007

This page lists changes to the COLLADA DOM API.

Purpose

Sometimes the DOM API changes in a way that prevents client applications from working properly when they upgrade to the latest DOM version. Although the DOM maintainers minimize API breakage as much as possible, sometimes it's necessary. In most API breakage situations, the client application no longer compiles.

This page is used to record any changes that require clients to modify their code to work with a newer version of the DOM.

Note: The revision numbers given below refer to the COLLADA DOM Subversion repository on SourceForge.

Core API changes

This section tracks changes made to the core API.

Build setup changes

This section tracks changes made to the build files. These changes likely won't require you to modify C++ source code that uses the DOM, but may require you to modify project files that link the DOM into your application.

Revision 110, 11 June 2007

In revision 110 I consolidated libraries to make things simpler for client applications. stdErrPlugin, libxmlPlugin, and STLDatabase have been merged into dae.vcproj. In your project settings you should remove any references to those libraries.

The equivalent changes were made for the Linux makefiles in revision 115 on 19 June 2007.

Revision 131, 18 July 2007

In revision 131 I removed iconv from the DOM build on Windows. In revision 133 I submitted a libxml build for Windows that doesn't need iconv. In the past, we expected developers to go download their own version of libxml for Windows, typically the one from Igor Zlatkovic. That libxml requires iconv, so if you update to the latest DOM, you may get link errors about missing iconv. The solution is to use the new libxml Windows build provided in the external-libs section of the SourceForge svn repository. See building libxml.

Revision 134, 19 July 2007

I updated the Visual Studio 2003 and 2005 files so the DOM can be built with both versions side by side. The build output location has changed, so if you update directly on top of the old DOM (e.g. by doing an svn checkout) you'll want to delete the lib/bin/tmp directories so you don't accidentally link against old libraries. If you forget to do this, you'll get a link error. You'll also need to change your project files to look for the DOM in the new output location.

A similar change is coming for Linux, but it's not done yet.

IO plug-in changes

This section tracks changes made to the I/O plug-in system. If you don't use custom I/O plug-ins then these changes won't affect your application.

Revision 77, 7 May 2007

In revision 77, changes were made to the atomic type and meta attribute systems that require changes in I/O plug-ins. Responsibility for handling whitespace when reading a document has been moved from the I/O plug-in to the atomic types. This should simplify I/O plug-ins. See the changes made to daeLIBXMLPlugin.cpp in revision 77 for more details.

External links