2014-03-23 11:21:59 +07:00
# Changelog
2014-03-23 17:37:26 +07:00
This is the changelog between releases of PHPWord. Releases are listed in reverse chronological order with the latest version listed on top, while additions/changes in each release are listed in chronological order. Changes in each release are divided into three parts: added or change features, bugfixes, and miscellaneous improvements. Each line contains short information about the change made, the person who made it, and the related issue number(s) in GitHub.
2014-03-23 11:21:59 +07:00
2014-05-04 17:55:54 +07:00
## 0.11.0 - Not yet released
2014-05-12 22:55:06 +07:00
This release marked the change of PHPWord license from LGPL 2.1 to LGPL 3; new relative and absolute positioning for image; new `TextBox` and `ListItemRun` element; refactorings of writer classes into parts, elements, and styles; and ability to add elements to PHPWord object via HTML.
2014-05-04 17:55:54 +07:00
### Features
2014-05-04 21:16:12 +07:00
- Image: Ability to define relative and absolute positioning - @basjan GH-217
2014-05-05 00:52:29 +07:00
- Footer: Conform footer with header by adding firstPage, evenPage and by inheritance - @basjan @ivanlanin GH-219
2014-05-11 18:10:47 +07:00
- TextBox: Ability to add textbox in section, header, and footer - @basjan @ivanlanin GH-228 GH-229
2014-05-10 22:04:10 +07:00
- TextBox: Ability to add table inside textbox - @basjan GH-231
2014-05-10 21:38:44 +07:00
- HTML: Ability to add elements to PHPWord object via html - @basjan GH-231
2014-05-11 18:10:47 +07:00
- ListItemRun: New element that can add a list item with inline formatting like a textrun - @basjan GH-235
2014-05-11 17:30:23 +07:00
- Table: Ability to add table inside a cell (nested table) - @ivanlanin GH-149
2014-05-12 22:55:06 +07:00
- RTF: UTF8 support for RTF: Internal UTF8 text is converted to Unicode before writing - @ivanlanin GH-158
2014-05-13 01:32:44 +07:00
- Table: Ability to define table width (in percent and twip) and position - @ivanlanin GH-237
2014-05-13 02:43:44 +07:00
- RTF: Ability to add links and page breaks in RTF - @ivanlanin GH-196
2014-05-15 01:13:22 +07:00
- ListItemRun: Remove fontStyle parameter because ListItemRun is inherited from TextRun and TextRun doesn't have fontStyle - @ivanlanin
2014-05-15 22:13:03 +07:00
- Config: Ability to use a config file to store various common settings - @ivanlanin GH-200
2014-05-04 17:55:54 +07:00
### Bugfixes
2014-05-05 09:08:15 +07:00
- Header: All images added to the second header were assigned to the first header - @basjan GH-222
2014-05-11 18:10:47 +07:00
- Conversion: Fix conversion from cm to pixel, pixel to cm, and pixel to point - @basjan GH-233 GH-234
2014-05-04 17:55:54 +07:00
2014-05-04 22:12:23 +07:00
### Deprecated
- Static classes `Footnotes` , `Endnotes` , and `TOC`
2014-05-06 01:45:13 +07:00
- `Writer\Word2007\Part` : `Numbering::writeNumbering()` , `Settings::writeSettings()` , `WebSettings::writeWebSettings()` , `ContentTypes::writeContentTypes()` , `Styles::writeStyles()` , `Document::writeDocument()` all changed into `write()`
- `Writer\Word2007\Part\DocProps` : Split into `Writer\Word2007\Part\DocPropsCore` and `Writer\Word2007\Part\DocPropsApp`
2014-05-11 22:54:51 +07:00
- `Element\Title::getBookmarkId()` replaced by `Element\Title::getRelationId()`
2014-05-04 22:12:23 +07:00
2014-05-04 17:55:54 +07:00
### Miscellaneous
- License: Change the project license from LGPL 2.1 into LGPL 3.0 - GH-211
2014-05-04 21:16:12 +07:00
- Word2007 Writer: New `Style\Image` class - @ivanlanin
2014-05-04 22:12:23 +07:00
- Refactor: Replace static classes `Footnotes` , `Endnotes` , and `TOC` with `Collections` - @ivanlanin GH-206
- QA: Reactivate `phpcpd` and `phpmd` on Travis - @ivanlanin
- Refactor: PHPMD recommendation: Change all `get...` method that returns `boolean` into `is...` or `has...` - @ivanlanin
2014-05-05 20:21:56 +07:00
- Docs: Create gh-pages branch for API documentation - @Progi1984 GH-154
- QA: Add `.scrutinizer.yml` and include `composer.lock` for preparation to Scrutinizer - @ivanlanin GH-186
2014-05-08 22:42:56 +07:00
- Writer: Refactor writer parts using composite pattern - @ivanlanin
2014-05-06 17:48:10 +07:00
- Docs: Show code quality and test code coverage badge on README
2014-05-13 11:05:12 +07:00
- Style: Change behaviour of `set...` function of boolean properties; when none is defined, assumed true - @ivanlanin
2014-05-04 17:55:54 +07:00
## 0.10.0 - 4 May 2014
2014-03-28 10:06:11 +07:00
2014-05-02 13:39:56 +07:00
This release marked heavy refactorings on internal code structure with the creation of some abstract classes to reduce code duplication. `Element` subnamespace is introduced in this release to replace `Section` . Word2007 reader capability is greatly enhanced. Endnote is introduced. List numbering is now customizable. Basic HTML and PDF writing support is enabled. Basic ODText reader is introduced.
2014-04-08 03:03:14 +07:00
2014-03-28 10:06:11 +07:00
### Features
- Image: Get image dimensions without EXIF extension - @andrew -kzoo GH-184
2014-03-29 22:53:34 +07:00
- Table: Add `tblGrid` element for Libre/Open Office table sizing - @gianis6 GH-183
2014-03-29 00:57:23 +07:00
- Footnote: Ability to insert textbreak in footnote `$footnote->addTextBreak()` - @ivanlanin
- Footnote: Ability to style footnote reference mark by using `FootnoteReference` style - @ivanlanin
2014-03-29 22:53:34 +07:00
- Font: Add `bgColor` to font style to define background using HEX color - @jcarignan GH-168
- Table: Add `exactHeight` to row style to define whether row height should be exact or atLeast - @jcarignan GH-168
2014-03-30 01:30:25 +07:00
- Element: New `CheckBox` element for sections and table cells - @ozilion GH-156
2014-03-31 00:26:41 +07:00
- Settings: Ability to use PCLZip as alternative to ZipArchive - @bskrtich @ivanlanin GH-106 GH-140 GH-185
2014-04-02 18:57:34 +07:00
- Template: Ability to find & replace variables in headers & footers - @dgudgeon GH-190
2014-04-05 22:53:39 +07:00
- Template: Ability to clone & delete block of text using `cloneBlock` and `deleteBlock` - @diego -vieira GH-191
2014-04-06 00:56:48 +07:00
- TOC: Ability to have two or more TOC in one document and to set min and max depth for TOC - @Pyreweb GH-189
2014-04-01 15:01:30 +07:00
- Table: Ability to add footnote in table cell - @ivanlanin GH-187
- Footnote: Ability to add image in footnote - @ivanlanin GH-187
- ListItem: Ability to add list item in header/footer - @ivanlanin GH-187
- CheckBox: Ability to add checkbox in header/footer - @ivanlanin GH-187
- Link: Ability to add link in header/footer - @ivanlanin GH-187
2014-04-04 00:29:57 +07:00
- Object: Ability to add object in header, footer, textrun, and footnote - @ivanlanin GH-187
2014-04-08 16:09:31 +07:00
- Media: Add `Media::resetElements()` to reset all media data - @juzi GH-19
2014-05-04 00:57:44 +07:00
- General: Add `Style::resetStyles()` - @ivanlanin GH-187
2014-04-23 04:08:02 +07:00
- DOCX Reader: Ability to read header, footer, footnotes, link, preservetext, textbreak, pagebreak, table, list, image, and title - @ivanlanin
2014-04-09 21:35:55 +07:00
- Endnote: Ability to add endnotes - @ivanlanin
2014-04-11 19:04:53 +07:00
- ListItem: Ability to create custom list and reset list number - @ivanlanin GH-10 GH-198
2014-04-11 23:02:05 +07:00
- ODT Writer: Basic table writing support - @ivanlanin
2014-04-13 18:03:59 +07:00
- Image: Keep image aspect ratio if only 1 dimension styled - @japonicus GH-194
2014-04-16 17:17:42 +07:00
- HTML Writer: Basic HTML writer: text, textrun, link, title, textbreak, table, image (as Base64), footnote, endnote - @ivanlanin GH-203 GH-67 GH-147
2014-04-16 12:12:32 +07:00
- PDF Writer: Basic PDF writer using DomPDF: All HTML element except image - @ivanlanin GH-68
2014-04-16 18:41:29 +07:00
- DOCX Writer: Change `docProps/app.xml` `Application` to `PHPWord` - @ivanlanin
2014-04-16 22:13:00 +07:00
- DOCX Writer: Create `word/settings.xml` and `word/webSettings.xml` dynamically - @ivanlanin
2014-04-18 23:12:51 +07:00
- ODT Writer: Basic image writing - @ivanlanin
2014-04-26 16:05:29 +07:00
- ODT Writer: Link writing - @ivanlanin
2014-04-29 07:13:02 +07:00
- ODT Reader: Basic ODText Reader - @ivanlanin GH-71
2014-05-01 23:56:55 +07:00
- Section: Ability to define gutter and line numbering - @ivanlanin
- Font: Small caps, all caps, and double strikethrough - @ivanlanin GH-151
- Settings: Ability to use measurement unit other than twips with `setMeasurementUnit` - @ivanlanin GH-199
2014-05-02 09:45:16 +07:00
- Style: Remove `bgColor` from `Font` , `Table` , and `Cell` and put it into the new `Shading` style - @ivanlanin
2014-05-02 13:39:56 +07:00
- Style: New `Indentation` and `Spacing` style - @ivanlanin
- Paragraph: Ability to define first line and right indentation - @ivanlanin
2014-03-28 10:06:11 +07:00
### Bugfixes
2014-03-29 00:57:23 +07:00
- Footnote: Footnote content doesn't show footnote reference number - @ivanlanin GH-170
2014-04-16 18:41:29 +07:00
- Documentation: Error in a function - @theBeerNut GH-195
2014-03-28 10:06:11 +07:00
2014-04-02 09:01:44 +07:00
### Deprecated
- `createTextRun` replaced by `addTextRun`
- `createFootnote` replaced by `addFootnote`
- `createHeader` replaced by `addHeader`
- `createFooter` replaced by `addFooter`
2014-04-02 11:02:56 +07:00
- `createSection` replaced by `addSection`
2014-04-08 00:23:49 +07:00
- `Element\Footnote::getReferenceId` replaced by `Element\AbstractElement::getRelationId`
- `Element\Footnote::setReferenceId` replaced by `Element\AbstractElement::setRelationId`
2014-04-05 19:02:49 +07:00
- `Footnote::addFootnoteLinkElement` replaced by `Media::addElement`
- `Footnote::getFootnoteLinkElements` replaced by `Media::getElements`
2014-04-04 00:29:57 +07:00
- All current methods on `Media`
2014-04-26 16:05:29 +07:00
- `Element\Link::getLinkSrc` replaced by `Element\Link::getTarget`
- `Element\Link::getLinkName` replaced by `Element\Link::getText`
2014-05-02 13:39:56 +07:00
- `Style\Cell::getDefaultBorderColor`
2014-04-02 09:01:44 +07:00
2014-03-28 10:06:11 +07:00
### Miscellaneous
- Documentation: Simplify page level docblock - @ivanlanin GH-179
2014-04-08 03:03:14 +07:00
- Writer: Refactor writer classes and create a new `Write\AbstractWriter` abstract class - @ivanlanin GH-160
- General: Refactor folders: `Element` and `Exception` - @ivanlanin GH-187
- General: Remove legacy `HashTable` and `Shared\ZipStreamWrapper` and all related properties/methods - @ivanlanin GH-187
- Element: New `AbstractElement` abstract class - @ivanlanin GH-187
2014-04-04 00:29:57 +07:00
- Media: Refactor media class to use one method for all docPart (section, header, footer, footnote) - @ivanlanin GH-187
2014-04-08 00:23:49 +07:00
- General: Remove underscore prefix from all private properties name - @ivanlanin GH-187
2014-04-08 03:03:14 +07:00
- General: Move Section `Settings` to `Style\Section` - @ivanlanin GH-187
2014-04-08 00:23:49 +07:00
- General: Give `Abstract` prefix and `Interface` suffix for all abstract classes and interfaces as per [PHP-FIG recommendation ](https://github.com/php-fig/fig-standards/blob/master/bylaws/002-psr-naming-conventions.md ) - @ivanlanin GH-187
2014-04-08 03:03:14 +07:00
- Style: New `Style\AbstractStyle` abstract class - @ivanlanin GH-187
- Writer: New 'ODText\Base` class - @ivanlanin GH-187
2014-04-09 21:35:55 +07:00
- General: Rename `Footnote` to `Footnotes` to reflect the nature of collection - @ivanlanin
2014-04-12 00:59:29 +02:00
- General: Add some unit tests for Shared & Element (100%!) - @Progi1984
2014-04-13 17:43:03 +07:00
- Test: Add some samples and tests for image wrapping style - @brunocasado GH-59
2014-05-01 14:37:58 +07:00
- Refactor: Remove Style\Tabs - @ivanlanin
- Refactor: Apply composite pattern for writers - @ivanlanin
- Refactor: Split `AbstractContainer` from `AbstractElement` - @ivanlanin
- Refactor: Apply composite pattern for Word2007 reader - @ivanlanin
2014-03-28 10:06:11 +07:00
2014-03-27 07:38:24 -04:00
## 0.9.1 - 27 Mar 2014
This is a bugfix release for PSR-4 compatibility.
- Fixed PSR-4 composer autoloader - @AntonTyutin
## 0.9.0 - 26 Mar 2014
2014-03-23 11:21:59 +07:00
This release marked the transformation to namespaces (PHP 5.3+).
### Features
2014-03-24 16:24:50 +07:00
- Image: Ability to use remote or GD images using `addImage()` on sections, headers, footer, cells, and textruns - @ivanlanin
- Header: Ability to use remote or GD images using `addWatermark()` - @ivanlanin
2014-03-23 11:21:59 +07:00
### Bugfixes
- Preserve text doesn't render correctly when the text is not the first word, e.g. 'Page {PAGE}' - @ivanlanin
### Miscellaneous
2014-03-24 00:26:10 +07:00
- Move documentation to [Read The Docs ](http://phpword.readthedocs.org/en/develop/ ) - @Progi1984 @ivanlanin GH-82
- Reorganize and redesign samples folder - @ivanlanin GH-137
- Use `PhpOffice\PhpWord` namespace for PSR compliance - @RomanSyroeshko @gabrielbull GH-159 GH-58
- Restructure folders and change folder name `Classes` to `src` and `Tests` to `test` for PSR compliance - @RomanSyroeshko @gabrielbull
- Compliance to phpDocumentor - @ivanlanin
2014-03-24 16:24:50 +07:00
- Merge Style\TableFull into Style\Table. Style\TableFull is deprecated - @ivanlanin GH-160
- Merge Section\MemoryImage into Section\Image. Section\Image is deprecated - @ivanlanin GH-160
2014-03-23 11:21:59 +07:00
## 0.8.1 - 17 Mar 2014
This is a bugfix release for image detection functionality.
- Added fallback for computers that do not have exif_imagetype - @bskrtich , @gabrielbull
## 0.8.0 - 15 Mar 2014
This release merged a lot of improvements from the community. Unit tests introduced in this release and has reached 90% code coverage.
### Features
- Template: Permit to save a template generated as a file (PHPWord_Template::saveAs()) - @RomanSyroeshko GH-56 GH-57
- Word2007: Support sections page numbering - @gabrielbull
- Word2007: Added line height methods to mirror the line height settings in Word in the paragraph styling - @gabrielbull
- Word2007: Added support for page header & page footer height - @JillElaine GH-5
- General: Add ability to manage line breaks after image insertion - @bskrtich GH-6 GH-66 GH-84
- Template: Ability to limit number of replacements performed by setValue() method of Template class - @RomanSyroeshko GH-52 GH-53 GH-85
- Table row: Repeat as header row & allow row to break across pages - @ivanlanin GH-48 GH-86
- Table: Table width in percentage - @ivanlanin GH-48 GH-86
- Font: Superscript and subscript - @ivanlanin GH-48 GH-86
- Paragraph: Hanging paragraph - @ivanlanin GH-48 GH-86
- Section: Multicolumn and section break - @ivanlanin GH-48 GH-86
- Template: Ability to apply XSL style sheet to Template - @RomanSyroeshko GH-46 GH-47 GH-83
- General: PHPWord_Shared_Font::pointSizeToTwips() converter - @ivanlanin GH-87
- Paragraph: Ability to define normal paragraph style with PHPWord::setNormalStyle() - @ivanlanin GH-87
- Paragraph: Ability to define parent style (basedOn) and style for following paragraph (next) - @ivanlanin GH-87
- Clone table rows on the fly when using a template document - @jeroenmoors GH-44 GH-88
- Initial addition of basic footnote support - @deds GH-16
- Paragraph: Ability to define paragraph pagination: widow control, keep next, keep lines, and page break before - @ivanlanin GH-92
- General: PHPWord_Style_Font refactoring - @ivanlanin GH-93
- Font: Use points instead of halfpoints internally. Conversion to halfpoints done during XML Writing. - @ivanlanin GH-93
- Paragraph: setTabs() function - @ivanlanin GH-92
- General: Basic support for TextRun on ODT and RTF - @ivanlanin GH-99
- Reader: Basic Reader for Word2007 - @ivanlanin GH-104
- TextRun: Allow Text Break in Text Run - @bskrtich GH-109
- General: Support for East Asian fontstyle - @jhfangying GH-111 GH-118
- Image: Use exif_imagetype to check image format instead of extension name - @gabrielbull GH-114
- General: Setting for XMLWriter Compatibility option - @bskrtich GH-103
- MemoryImage: Allow remote image when allow_url_open = on - @ivanlanin GH-122
- TextBreak: Allow font and paragraph style for text break - @ivanlanin GH-18
### Bugfixes
- Fixed bug with cell styling - @gabrielbull
- Fixed bug list items inside of cells - @gabrielbull
- Adding a value that contains "& " in a template breaks it - @SiebelsTim GH-51
- Example in README.md is broken - @Progi1984 GH-89
- General: PHPWord_Shared_Drawing::centimetersToPixels() conversion - @ivanlanin GH-94
- Footnote: Corrupt DOCX reported by MS Word when sections > 1 and not every sections have footnote - @ivanlanin GH-125
### Miscellaneous
- UnitTests - @Progi1984
## 0.7.0 - 28 Jan 2014
This is the first release after a long development hiatus in [CodePlex ](https://phpword.codeplex.com/ ). This release initialized ODT and RTF Writer, along with some other new features for the existing Word2007 Writer, e.g. tab, multiple header, rowspan and colspan. [Composer ](https://packagist.org/packages/phpoffice/phpword ) and [Travis ](https://travis-ci.org/PHPOffice/PHPWord ) were added.
### Features
- Implement RTF Writer - @Progi1984 GH-1
- Implement ODT Writer - @Progi1984 GH-2
- Word2007: Add rowspan and colspan to cells - @kaystrobach
- Word2007: Support for tab stops - @RLovelett
- Word2007: Support Multiple headers - @RLovelett
- Word2007: Wrapping Styles to Images - @gabrielbull
- Added support for image wrapping style - @gabrielbull
### Bugfixes
- "Warning: Invalid error type specified in ...\PHPWord.php on line 226" is thrown when the specified template file is not found - @RomanSyroeshko GH-32
- PHPWord_Shared_String.IsUTF8 returns FALSE for Cyrillic UTF-8 input - @RomanSyroeshko GH-34
- Temporary files naming logic in PHPWord_Template can lead to a collision - @RomanSyroeshko GH-38
### Miscellaneous
- Add superscript/subscript styling in Excel2007 Writer - @MarkBaker
- add indentation support to paragraphs - @deds
- Support for Composer - @Progi1984 GH-27
- Basic CI with Travis - @Progi1984
- Added PHPWord_Exception and exception when could not copy the template - @Progi1984
- IMPROVED: Moved examples out of Classes directory - @Progi1984
- IMPROVED: Advanced string replace in setValue for Template - @Esmeraldo CP-49