2003-03-21

    * Started ChangeLog.
    * Added FSFontInfo, FSDefineFont and FSDefineText2 classes.
    * Removed copy constructors when compiler generated version will suffice.
    * replaced char* with FSString in FSDefineFont2, FSDefineTextField and FSPlaceObject2.
    * Added documentation for uncommented methods.
    
2003-03-26

    * Added FSDefineJPEG2.
    * Fixed bug in FSBitmapFill where image identifier was not being set.
    * Separated out FSDefineText2 from FSDefineText. glyphBits() and advanceBits() methods are now private.
    * float FSInputstream::read(), FSOutputStream::write(double). Changed algorithm to read and write double precision floating point values.
    
2003-03-27

    * FSDefineJPEGImage.cpp, FSDefineJPEGImage.h Added imageLength attribute rather than using length.
    * FSMovie: Added copy constructor, assignment operator, destructor and clone method.

2003-03-28

    * FSDefineImage: Fixed bug in clone().
    * FSDefineImage: Fixed bug in copy constructor.
    * FSDefineImage: Removed code that supported uncompressed colour table and image.
    * FSDefineFont2, FSFontInfo - decodeFromStream(FSInputStream*): fixed bug in decoding font name.
    * Added FSDefineShape2, FSDefineShape3, FSFrameLabel, FSDefineMovieClip, FSDefineButton, 
      FSDefineJPEGImage3, FSDefineImage2, FSWith, FSCall, FSTable, FSWaitForFrame2 and 
      FSSoundStreamBlock classes.
    * Fixed bug in FSDoAction::setActions() - old actions were not being deleted.
    
2003-03-29

    * Added FSSoundStreamHead, FSSoundStreamHead2, FSRegisterCopy, FSNewFunction, FSGotoFrame, 
      FSGotoLabel, FSGetUrl, FSWaitForFrame, FSSetTarget, FSProtect, FSPathsArePostscript, 
      FSFree, FSSerialNumber, FSPointer, FSRemoveObject, FSPlaceObject, FSExport, FSImport.
    
2003-03-30

    * Added FSMorphSolidLine, FSMorphSolidFill, FSMorphBitmapFill, FSMorphGradient, 
      FSMorphGradientFill, FSDefineMorphShape. 
    
2003-03-31

    * Fixed bug in encoding FSShapeStyle object - length of any styles was not being calculated correctly. 
    
2003-04-01

    * Upgraded validation logic in all classes.
    * Split const Transform::PACKAGE_VERSION into MAJOR_VERSION, MINOR_VERSION and MICRO_VERSION.
    
2003-04-02

    * Inlined constructors and accessor methods.
    * Ranamed name() method on all classes to className().
    * FSDefineImage, FSDefineImage2: renamed compressedLength to imageLength and compressedData 
      to image. Updated accessor methods accordingly.
    * Renamed attributes which contain an identifier to an object from objectId, bitmapId, 
      etc to identifier. FSButtonColorTransform, FSButton, FSButtonSound, FSPlaceObject, 
      FSPlaceObject2, FSStartSound, FSRemoveObject, FSFontInfo, FSBitmapFill, FSMorphBitmapFill, FSText.
    * FSButton: conslidated boolean flags for button states into an int.
    * FSSoundInfo - renamed to FSSound and added identifier attribute which simplified 
      FSStartSound and FSButtonSound classes.
    
2003-04-04 Stuart MacKay

    * Tidied up sound classes renaming attributes which control how sound is played.
    
    * Added constructors and methods to FSPush: FSPush(bool), FSPush(int), FSPush(double), FSPush(FSNull), FSPush(FSVoid), FSPush(char*), FSPush(FSTableIndex), FSPush(FSRegisterIndex), FSPush(int[]), FSPush(char*[]). add(int[]), add(char*[]).
    
    * An FSAllocationException is thrown if memory cannot be dynamically allocated.
    
    * Added convenience add() methods to all classes that contain FSVectors.
 
2003-04-06 Stuart MacKay

    * changed FSPlaceObject2::ratio attribute to be a float.
    
2003-04-07

    * Added the constructor FSCoordTransform(int x, int y)
    * Overhauled constructors for FSPlaceObject2.
    * Overhauled documentation for control classes.
    * Changed name for JPEGTables to JPEGEncodingTable.
    * Added directive for WIN32 DLLs.
   
2003-04-08 Stuart MacKay

    * FSImport and FSExport now support arrays of objects;
    * fontName ranamed to name in FSDefineFont2 and FSFontInfo
    * functionName ranamed to name in FSNewFunction.
    * objectName ranamed to name in FSPlaceObject2.
    * moved all enums to the classes closest to where they are used.
    
2003-04-15

    * Moved the stack based action types into the FSAction class.
    * Added 
        FSTable(const char* anArray[], int size)
        void FSTable::setValues(const char* anArray[], int size) 
    * FSDefineText, FSDefineText2: Fixed a bug where the identifier was being set to 
      zero in the constructor.

2003-04-17

    * added FSText(int anIndent, int aBaseline, const FSVector<FSCharacter>& anArray)
    * removed FSText(int anIdentifier, const FSColor& aColor, int anIndent, int aBaseline, int aHeight); 

2003-04-18

    * Fixed bugs in encoding and decoding FSDefineImage objects.
    * Changed constructors for FSDefineImage and FSDefineImage2 to support indexed and direct colour images.

2003-04-27

    * added default arguments to methods which get and set coordinates to allow 
      COORDINATES_ARE_PIXELS flag to be overriden.
    * added FSLine::setPoint, FSCurve::setControl, FSCurve::setAnchor, FSCurve::setPoints, 
      FSShapeStyle::setMove, FSBounds:setLower, FSBounds::setUpper, FSBounds::setPoints
    * changed name of attributes and accessors on FSBounds.
    
2003-06-07

    * added FSGetUrl.h to transform.h
    * streams now support a context attribute that supports conditional encoding.
    * updated documentation for FSButtonColorTransform.
    * Event code is now copied in assignment operator.
    * FSButton
        Color Transform in constructor is now optional. 
        Color transform is not encoded when used in an FSDefineButton. 
        Updated documentation
    * Restructured FSDefineSound, FSSoundStreamHead and FSSoundStreamHead2.
    
2003-06-10
    
    * Release 1.0.3

2003-06-11

    * Updated documentation for flag accessor methods.
    * Updated _USRDLL label in FSTranform.cpp to _WINDLL.
    * Added #ifdefs around extern declarations for FSVectors.
    
2003-07-11

    * Updated FSStream to test for end of stream and move to end of the stream.
    * Added convenience method to FSInputStream to read in strings.
    * Split PCM format to support big-endian and little-endian byte-order versions.
    * FSSoundStreamHead2: Correct tag value now used.
    * Updated install makefile to freshen Library table of contents.

2003-07-18

    * Release 1.0.4
    
2003-07-25

    * FSDefineJPEGImage2 and FSDefineJPEGImage3 now write SOI and EOI JPEG tags in correct order.
    
2003-08-20

    * FSSoundStreamHead: fixed bug in writing number of channels and sample size.
    * Fixed errors in documentation.

2003-10-06

    * FSDefineFont2 now encodes layout information.
    * DLL Directive now works when using DEVELOPER_EDITION with other DLLs.
    * Fixed bug where color transform was not being decoded from FSPlaceObject.
    * Fixed bug where coordinate transform was not being decoded from FSPlaceObject2.
    * Fixed bug where imageLength was not being set when decoded in FSDefineImage, FSDefineImage2.
    * FSColorTransform: fixed bug in isUnityTransform().

2003-10-07

    * Release 1.0.5
    
2004-04-08

    * Moved code base from Transform 1.0.5 to Transform SWF5. Prepared code for generating
      Eval, SWF5, SWF6 and SWF7 Editions.
    * Restructured event logging.
    * Renamed FSEventListener to FSMovieListener.
    * Renamed FSButtonRecord to FSButton.
    * Renamed FSText to FSText.
    * Renamed FSUnknownTag to FSUnknownObject.
    * In FSMovieEvent consolidated eventType enum values Validation, Underflow, Overflow to Error.
    * In FSMovieEvent renamed eventType enums BeginObject to Begin and EndObject to End.
    * In FSMovieEvent removed attribute and message attributes.
    * Renamed FSSound::PCMB to FSSound::NATIVE_PCM and FSSound::PCML to FSSound::PCM.
    
2004-04-09

    * Added zlib compression library and upgraded FSMovie to handle compressed files.

2004-04-12

    * Removed FSTransform flags: COORDINATES_ARE_PIXELS, FONT_SIZE_IS_PIXELS, 
      LINE_WIDTHS_ARE_PIXELS and LINE_WIDTHS_ARE_PIXELS.
    * Added compiler directives for each edition.
    * Project now uses CMake.
    * Removed FSEndShape - now implicitly encoded and decoded by FSShape.
    * Removed FSEnd - now implicitly encoded and decoded by FSMovie and FSDefineMovieClip.

2004-04-13

    * Simplified FSString to provide limited support for different character set encodings.
    * Changed FSStream attributes from separate attributes into an array of ints.

2004-04-23

    * Completed Build 1.

2004-04-24

    * Added latency attribute to FSSoundStreamHead and FSSoundStreamHead2.
    * Added small font attribute to FSFontInfo and FSDefineFont2.
    * FSCoordTransform: Replaced class methods for different types of transform with object methods.
    * Move enum defining different font encodings into FSText.

2004-04-26

    * Fixed bug in FSText when decoding Flash Version 6 and later files.
    
2004-05-04

    * Released Build 3
    
2004-05-25

    * Added typedef unsigned char byte;
    * Changed API on classes containing data to use byte* rather than char*: affects 
      FSDefineImage, FSDefineImage2, FSDefineJPEGImage, FSDefineJPEGImage2, FSDefineJPEGImage3, 
      FSDefineSound, FSSoundStreamBlock, FSUnknownObject, FSUnknownAction.
 
2004-05-27

    * Moved utilities functions out to the respective classes.
    * Signficantly boosted encoding performance of FSDefineFont2.
    * Improved error messages with exceptions and removed FSError, FSAssertion.
    * Removed FSMovie::getMovieLength() - length information is returned by the 
      encode(size_t& size) method.
    
2004-05-31

    * Fixed bug: FSShape now writes out end of shape marker.

2004-06-01

    * Fixed ANT build file - previous version was for Java.

2004-06-02

    * Fixed bug in FSDefineMorphShape - type for decoded object now set correctly.

2004-06-03

    * Fixed bug when encoding the length of non byte-code actions.
    * Fixed bug when logging floating-point values.
    * Corrected spelling mistakes in comments.
    * Fixed bug when decoding compressed Flash files.

2004-06-04

    * Fixed bug in decoding height and width from JPEG data.
    * Fixed bug when setting length for FSJPEGEncodingTable objects with empty tables.

2004-06-07

    * Released Build 4.

2004-08-08

    * Added methods to allow binary encoded actions to be added to objects.

2004-08-09

    * Released Build 5.

2004-09-29

    * Upgraded build process to use cpptasks.

2004-11-09

    * Fixed bug in FSPlaceObject2 constructor where extendLength attribute was not being initialized.
