# Version History

#### 4.6.2

- Changed Xml loading of internal files in the Word documents to focus on white space accuracy.

#### 4.6:

- Added Spacing property to the Run class.
- Added Spacing property to the StylePart class.
- Updated the miniz library used for the compression under the hood in the Word plugin.
- Fixed issue with reading Bold and Italic properties.
- Improved error reporting if internal files are missing in Word document.
- Added support for opening Word documents where core.xml is missing. (We do know know when or why it is missing but a user was able to make such documents when making Word document with web version of Word).

#### 4.5:

- Added StylePart class.
- Added Style class.
- Added ParagraphStyle class.
- Added CharacterStyle class.
- Added OwnerParagraph property to the ParagraphItem class.
- Added Style property to the Run class.
- Added Style property to the Paragraph class.
- Added support for double strike through which changed the Strikethrough property on the Run class to Enum instead of Boolean.
- Added StrikeThroughValues enum to the EinhugurWord class.
- Added AddNewCharacterStyle method to the Document class.
- Added AddNewParagraphStyle method to the Document class.
- Added NOTSET constant to the EinhugurWord.Alignments enum.
- Added CharacterStyles function to the Document class.
- Added ParagraphStyles function to the Document class.
- The plugin now includes open source Xojo module called StyleResolver which is for those that want to deep resolve styles through the style chain instead of just reading what property is set on the Run.
- Bold and Italic properties are no longer Boolean on Runs. (Sorry about this but Boolean could not represent Not set vs exclusive Take off).
- Added Caps property to the Run class.
- Added TextCaps enum to the EinhugurWord module.
- Added BooleanAttribute enum to the EinhugurWord module.
- Added StylePart class.
- Added TableStyle class.
- Added TableStylePart class.
- Added EinhugurWord.StylePartType enum.
- Added TableStyles function to the Document class.
- Added AddNewTableStyle method to the Document class.
- Added StylePartType enum to the EinhugurWord module.
- Fixed problem with the ComplexRunPartCount on the Run class which caused the whole Run class to not be debuggable.
- Runs can now have LF linefeed in them.
- Added DocumentDefaults property to the Document class.
- Added Style property to the Table class.
- Added ConditionalFormattingFlags property to the Table class.
- Added EinhugurWord.Table.ConditionalFormatApplyFirstRow bit mask constant.
- Added EinhugurWord.Table.ConditionalFormatApplyLastRow bit mask constant.
- Added EinhugurWord.Table.ConditionalFormatApplyFirstColumn bit mask constant.
- Added EinhugurWord.Table.ConditionalFormatApplyLastColumn bit mask constant.
- Added EinhugurWord.Table.ConditionalFormatDontApplyRowBanding bit mask constant.
- Added EinhugurWord.Table.ConditionalFormatDontApplyColumnBanding bit mask constant.
- Added EinhugurWord.TableCellVerticalAlignments enum.
- Added VerticalAlignment property to the TableCell class.
- Updated all the example projects.
- Added two new example projects.

#### 4.0:

- Added InstrText read-only property to the Run class (Low level API property).
- Fixed issue with getter for the Underline property on the Run class.
- Added FieldSeparator read-only property to the Run class. (Low level API property).
- Added FieldSeparatorLock read-only property to the Run class. (Low level API property).
- Added FieldSeparators enum to the EinhugurWord module.
- Added concept of Logical runs to be able to handle Complex Paragraph runs.
- Added LogicalParagraphItemCount property to the Paragraph class.
- Added LogicalRunCount property to the Paragraph class.
- Added LogicalParagraphItem function to the Paragraph class.
- Added LogicalParagraphItems iterator function to the Paragraph class.
- Added LogicalRuns iterator function to the Paragraph class.
- Added LogicalRun function to the Paragraph class.
- Updated the Run class to account for complex runs.
- Added AppendDateField method to the Paragraph class.
- Added AppendTimeField method to the Paragraph class.
- Added AppendHyperlinkField method to the Paragraph class.
- Updated RemoveParagraphItems to remove all relevant runs if the Run is part of a complex Run set.
- Added ComplexRunFieldType property to the Run class.
- Added IsPartOfComplexRun property to the Run class.
- Added ComplexRunPartCount property to the Run class.
- Added ComplexRunPart function to the Run class.
- Added ComplexRunFieldData property to the Run class.
- Added ComplexRunFieldTypes enum to the EinhugurWord module.
- Fixed issue with Hyperlinks if link had complex format with both link and anchor.

#### 3.7:

- Added HandleAdjustment1 property to the Shape class.
- Added HandleAdjustment2 property to the Shape class.
- Added HasHandleAdjustment1 property to the Shape class.
- Added HasHandleAdjustment2 property to the Shape class.
- Added LineCompoundType property to the Shape class.
- Added enum for line compound types in the EinhugurWord module.
- Added Unknown to the EinhugurWord.ShapeTypes enum.
- Added support for Triangle shape.
- Added support for Pentagon shape.
- Added support for Hexagon shape.
- Added support for Heptagon shape.
- Added support for Octagon shape.
- Added support for Decagon shape.
- Added support for Dodecagon shape.
- Added support for Diamond shape.
- Added support for Trapezoid shape.
- Added support for Parallelogram shape.
- Added support for Right triangle shape.
- Added support for Cloud shape.
- Added support for Ellipse callout shape.
- Added support for Teardrop shape.
- Added one new example project.

#### 3.5:

- Added TableBorder class.
- Added EinhugurWord.BorderStyle enum.
- Added EinhugurWord .BorderParts enum.
- Added BackgroundColor property to the Table class.
- Added HasBackgroundColor property to the Table class.
- Added ClearBackgroundColor method to the Table class.
- Added Border function to the Table class.
- Added BackgroundColor property to the Cell class.
- Added HasBackgroundColor property to the Cell class.
- Added ClearBackgroundColor method to the Cell class.
- Added Border function to the Cell class.
- Fixed problem with Page size and orientation.
- Added new example project.

#### 3.0.2:

- Fixed issue with the new LanguageCode feature.

#### 3.0:

- Added LanguageCode read only property to the Paragraph class.
- Added SetLanguageCode method to the Paragraph class.
- Added LanguageCode read and write property to the Run class.
- Added first attempt to support shapes.
- Note that Shape support is very preliminary at this point in time.
- Added AppendShape function to the Paragraph class.
- Added AppendShapeGroup function to the Paragraph class.
- Added AppendShapeRun function to the Paragraph class.
- Added AppendShapeGroupRun function to the Paragraph class.
- Added IsShape read only property to the Run class.
- Added Shape read only property to the Run class.
- Added ShapeGroup read only property to the Run class.
- Added ShapeBase abstract class.
- Added Shape class.
- Added ShapeGroup class.
- Added ShapeContainer class.
- Added EmuUnits enum.
- Added ShapeVerticalAlignments enum.
- Added ShapeTypes enum.
- Added FillTypes enum.
- Added LineEndTypes enum.
- Added ShapeTextWrapEnum.
- Added two example projects for Shapes.

#### 2.7:

- Added IsAbstract read only property to the ListIndent class.
- Added Level read only property to the ListIndent class.
- Added Type read only property to the ListIndent class.
- Added NumberingType enum to the EinhugurWord module.
- Fixed problem with the Paragraph.ListIndent property.

#### 2.6:

- The various of ApplyFieldData methods now support paragraph with tabs in them.
- Paragraph.Text property now combines tab zones within the paragraph and returns it as tab delimited string instead of just returning first zone.
- Run.Text getter now combines tab zones within the run and returns it as tab delimited string instead of just returning first zone.
- Run.Text setter now sets up tab zones if the set text has tabs in it.
- Added TabSegmentCount getter property to the Run class.
- Added TabSegmentText getter setter method pair to the Run class.
- Updated the Xml engine in the plugin.

#### 2.5.6:

- Fixed issue with TextColor property on the Run class.
- Fixed issue with SetUnderlineColor method on the run class.

#### 2.5.4:

- Fixed issue where the plugin was no longer working on Xojo 2019r1 (Which is supposed to be the earliest version we support).

#### 2.5.2:

- Fixed issue introduced in version 2.5 where tables would always appear at bottom of the document even if having paragraphs bellow them.

#### 2.5:

- Upgraded various of append methods to preserve better correctness of the document structure.
- Added LeftIndent getter and setter methods to the Paragraph class.
- Added RightIndent getter and setter methods to the Paragraph class.
- Added FirstLineIndent getter and setter methods to the Paragraph class.
- Added Section property to the Paragraph class.
- Added AppendSectionBreak method to the Document class.
- Added InsertSectionBreakAfter method to the DocumentItem class.
- Added InsertSectionBreakBefore method to the DocumentItem class.
- Added SectionBreakTypes enum to the EinhugurWord module.
- Added SectionType property to the Section class.
- Added two new example projects.

#### 2.2:

- Fixed crash issue when attaching more that one image on Word document.
- Did some quality improvements here and there.

#### 2.1:

- Added ColumnWidth setter and getter methods to the Table class.
- Added SetTableWidth method on the Table class.
- Added WidthMode read only property to the Table class.
- Added TableWidth function to the Table class.
- Added TableWidthModes enum to the EinhugurWord module.
- Added RepeatAsHeaderRow property to the TableRow class.
- Added AltTextTitle property to the Table class.
- Added AltTextDescription property to the Table class.
- Added AltTextDescription property to the Drawing class.

#### 2.0:

- Added Hyperlink class.
- Added Bookmark class.
- Added ParagraphItem abstract class.
- Run class now Inherits from ParagraphItem class.
- Added ParagraphItemIterator class.
- Added GetBookmarks function to the Document class.
- Added RemoveBookmark method to the Document class.
- ApplyFieldData now also replaces hyperlink texts.
- Added two variations of AddBookmarkAround methods to the Paragraph class.
- Changed the RemoveRun method on the Paragraph class to RemoveParagraphItem.
- Added ParagraphItem function to the Paragraph class.
- Added ParagraphItemCount property to the Paragraph class.
- Added ParagraphItems iterator function to the Paragraph class.
- Added Linux ARM 64 build. (Works for Xojo 2022r4 or later).
- Iterators are now no longer exposed if your using Xojo 2019r1 (oldest Xojo version this plugin supports). This is due to the Iterators not being same as newer ones.
- DateTime is no longer exposed if your using Xojo 2019r1 (oldest Xojo version this plugin supports). This is due to the DateTime in the 2019r1 not being same as in newer ones.
- Added one more example project.

#### 1.5.2:

- Fixed crash issue when saving document on iOS systems.

#### 1.5:

- Added support for Bullet and Numbered list indents.
- Added ListIndent class.
- Added CreateListIndent function to the Document class.
- Added ListIndent property to the Paragraph class.
- Added ListIndentLevel property to the Paragraph class.
- Added SetListIndent method to the Paragraph class.
- Added Example project for List indents.

#### 1.1:

- Document elements can now optionally be iterated with for each syntax.
- Added ParagraphIterator class.
- Added TableIterator class.
- Added RunIterator class.
- Added DocumentItemIterator class.
- Added Items method to the Container class.
- Added Tables method to the Container class.
- Added Runs method to the Paragraph class.
- Added Paragraphs method to the Container class.
- Added CreatedDate property to the Document class.
- Added ModifiedDate property to the Document class.
- Added Section class.
- Added DefaultSection property to the Document class.
- Added Units enum to the EinhugurWord module.
- Added PrinterPaperCodes enum to the EinhugurWord module.

#### 1.0:

- This is the first version.

####