Differences
This shows you the differences between two versions of the page.
Both sides previous 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:02] christian |
||
---|---|---|---|
Line 7: | Line 7: | ||
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 18: | ||
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 24: | ||
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 36: | ||
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 62: | ||
- 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 68: | ||
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 75: | ||
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 84: | ||
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 92: | ||
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. |