User Tools

Site Tools


releasenotes

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
releasenotes [2017/10/12 12:36]
christian [Referencing PDF classes]
releasenotes [2018/08/04 16:04]
christian [Release Notes for PDFtalk 2.0]
Line 3: Line 3:
 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.
  
-The previous version was called //​PDF4Smalltalk//​.+===== What's new =====
  
 +**Name** The new name is //​**PDFtalk**//​. The first version was called //​PDF4Smalltalk//​. The namespace changed from ''​PDF''​ to ''​PDFtalk''​ and the domain "​pdftalk.de"​ provides a home with a wiki dedicated to the library: [[https://​wiki.pdftalk.de|wiki.pdftalk.de]].
 +
 +**Typing** The heard of the “PDF engine” is the [[newtyping|typing system]] which allows the assignment of Smalltalk classes to raw PDF objects. The new version has a redesigned type system where PDF types are properly modeled independent from the Smalltalk class hierarchy. This allows to rename classes freely (i.e. adding prefixes) without affecting PDF types. Also, boxing of some simple objects like "​null"​ and booleans is not necessary anymore. Instead, existing classes are declared as PDF types.
 +
 +**[[PDFtalk4Gemstone|PDFtalk for Gemstone]]** The new release was triggered by a contract to port the library to Gemstone (thanks to HTS and Bob Nemec). A talk about this was held at ESUG 2017: "​PDFtalk for Gemstone"​ (slides are [[https://​www.slideshare.net/​esug/​pdftalk-for-gemstone|here]]).
 +
 +**[[GemstoneFileout|Gemstone Fileout]]** A VisualWorks to Gemstone translation tool. This tool, with project specific code transformation declarations,​ creates a Gemstone filein. Used to create the Gemstone PDFtalkLibrary from the Values package and PDFtalk bundle.
 +
 +Both new projects are open source with MIT licence.
 ===== Changes for users of the library ===== ===== Changes for users of the library =====
  
Line 85: Line 94:
 The motivation was to accurately implement any semantic differences to the corresponding Smalltalk objects in a proper place. This lead to the wide spread use of #asPDF and #​asSmalltalkValue for boxing and unboxing. The motivation was to accurately implement any semantic differences to the corresponding Smalltalk objects in a proper place. This lead to the wide spread use of #asPDF and #​asSmalltalkValue for boxing and unboxing.
  
-Now I know that the differences are minor and that they could be properly implemented ​at the system classes. Therefore, I aligned some system classes with the PDF classes by declaring the system classes as PDF type and removing the PDF class: Null and Boolean. Next to go is Number; later maybe String and Date and...+Now I know that the differences are minor and that they could be properly implemented ​in the system classes. Therefore, I aligned some system classes with the PDF classes by declaring the system classes as PDF type and removing the PDF class: Null and Boolean. Next to go is Number; later maybe String and Date and...
  
 This should lead to simpler code and more space and time efficient processing. This should lead to simpler code and more space and time efficient processing.
  
 On the other hand, there are now a lot more root PDF classes. Therefore, I moved some of the general PDF behavior to Object. On the other hand, there are now a lot more root PDF classes. Therefore, I moved some of the general PDF behavior to Object.
releasenotes.txt · Last modified: 2018/08/04 16:04 by christian