Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
releasenotes [2020/02/22 11:00] christian [Release Notes for PDFtalk 2.0] |
releasenotes [2020/02/22 11:15] christian [PDFtalk 2.3] |
||
---|---|---|---|
Line 3: | Line 3: | ||
===== PDFtalk 2.3 ===== | ===== PDFtalk 2.3 ===== | ||
+ | ===== PDFtalk 2.2 ===== | ||
+ | |||
+ | Renamed '' | ||
+ | This version replaces all references of '' | ||
+ | |||
+ | PDFtalk now depends on the **[Values]** package with version 3.x and up and is incompatible the earlier versions. | ||
+ | |||
+ | ===== PDFtalk 2.1 ===== | ||
+ | |||
+ | Flate encoding is using zlib of VW 8.1 now. | ||
+ | This solved problems allocating buffers under heavy load | ||
===== PDFtalk 2.0 ===== | ===== PDFtalk 2.0 ===== | ||
This is the release of the second major version of the PDF library in October 2017. | This is the release of the second major version of the PDF library in October 2017. | ||
- | ===== What's new ===== | + | ==== What's new ==== |
**Name** The new name is // | **Name** The new name is // | ||
Line 18: | Line 29: | ||
Both new projects are open source with MIT licence. | Both new projects are open source with MIT licence. | ||
- | ===== Changes for users of the library | + | ==== Changes for users of the library ==== |
Some changes are incompatible with the previous version, which are described here. | Some changes are incompatible with the previous version, which are described here. | ||
Line 24: | Line 35: | ||
It is not recommended to load the new version into an image with the old version of the library. | It is not recommended to load the new version into an image with the old version of the library. | ||
- | ==== Namespace and bundle structure | + | === Namespace and bundle structure === |
The former namespace //PDF// is renamed to **'' | The former namespace //PDF// is renamed to **'' | ||
Line 36: | Line 47: | ||
to see if they are running. You may need to edit the file path to the PDF specification and to your demo directory. | to see if they are running. You may need to edit the file path to the PDF specification and to your demo directory. | ||
- | ==== Referencing PDF classes | + | === Referencing PDF classes === |
Smalltalk classes representing a PDF type should not be referenced directly anymore. Instead an expression like | Smalltalk classes representing a PDF type should not be referenced directly anymore. Instead an expression like | ||
Line 62: | Line 73: | ||
- The Smalltalk class name may differ in different ports of the library. | - The Smalltalk class name may differ in different ports of the library. | ||
- | ==== New shared Smalltalk.PDF | + | === New shared Smalltalk.PDF === |
The shared variable **'' | The shared variable **'' | ||
Line 68: | Line 79: | ||
Unless you extend the library, there should be no need to add the PDFtalk namespace to the imports of your project. Instead most functionality should be accessed through **'' | Unless you extend the library, there should be no need to add the PDFtalk namespace to the imports of your project. Instead most functionality should be accessed through **'' | ||
- | ==== Aligned types ==== | + | === Aligned types === |
The new typing system allowed to remove the PDF classes **'' | The new typing system allowed to remove the PDF classes **'' | ||
Line 75: | Line 86: | ||
The work is not finished yet. **'' | The work is not finished yet. **'' | ||
- | ===== Typing redesign | + | ==== Typing redesign ==== |
The major change is the redesign of the [[newtyping|PDF typing system]]. Initially, I represented the types of PDF objects by Smalltalk classes with the same name. This turned out to be not sufficient. | The major change is the redesign of the [[newtyping|PDF typing system]]. Initially, I represented the types of PDF objects by Smalltalk classes with the same name. This turned out to be not sufficient. | ||
Line 84: | Line 95: | ||
Therefore, PDF types are now modeled independently. | Therefore, PDF types are now modeled independently. | ||
- | ==== Notes ==== | + | === Notes === |
- | === Specialization only on assignment | + | == Specialization only on assignment == |
When PDF objects were created, all classes were searched for possible specializations: | When PDF objects were created, all classes were searched for possible specializations: | ||
Line 92: | Line 103: | ||
In the new version, objects are only typed and specialized when they are assigned to an attribute of a Dictionary or Array. | In the new version, objects are only typed and specialized when they are assigned to an attribute of a Dictionary or Array. | ||
- | === System classes as PDF classes=== | + | == System classes as PDF classes == |
The first version had wrappers for all basic types of PDF, such as null, booleans, numbers etc.. This is similar to boxing of primitive types in other programming languages. | The first version had wrappers for all basic types of PDF, such as null, booleans, numbers etc.. This is similar to boxing of primitive types in other programming languages. |