The first alpha release for Magma 1.3 is available on SqueakMap.
The following detail the major improvements since the 1.2 stable release. -- Introducing MagmaSolHashTable. A special kind of collection based on Tom Rushworth's SOLHashTable, which maps Integer keys to an object with O(1) access. Duplicate keys are allowed and can be enumerated in key order. -- New MagmaDictionary implementation. Built atop MagmaSolHashTable is a complete replacement of the MagmaDictionary implementation. The original MagmaDictionary was based on an indexed MagmaCollection, which worked but not efficiently because MagmaCollections incur too-high a query overhead for access to a single object (via #at:). This new implementation puts MagmaDictionary much closer to a MagmaPreallocatedDictionary, but without the large pre-allocation on disk required. -- Introducing MagmaHashTable. Since it was so easy to implement atop the new MagmaSolHashTable, yet another new kind of collection, MagmaHashTable, is also introduced. A MagmaHashTable is similar to a MagmaCollection except: - It can only query a range of one indexed attribute using #from:to:do:. - It can't randomly access via #at: like a regular indexed MagmaCollectionReader. - Access is much faster. -- Improved Monticello Integration. In addition to a persistent domain model, each Magma repository also contains a persistent code model, allowing packages to be browsed, loaded and saved into the repository via the Monticello user-interface. For Squeak, if a Magma-based Monticello repository is part of Monitcello's repository list, two new menu options in each of the class and method-panes of Squeak browsers will be visible: "browse mc versions" and "browse mc origin". The first lists all versions of that method or class-def throughout all version history. The second opens the version-comments box of the version in which that version of the method or class originated, which can be useful for revealing why it was changed. For details, see: http://wiki.squeak.org/squeak/5603 -- Encapsulation of Application State + Behavhiors Employing the Monticello integration, when a #fullBackup is executed, all currently-loaded package versions (which are operating on the model) of the client-image invoking the backup are committed into the Magma repository's built-in Monticello repository model before invoking the actual backup. All packages are saved, including Kernel, System, Monticello, Morphic, etc. which can result in the first #fullBackup taking a long time. If this is unacceptable, then a #modelBackup can be used to back up only the domain model as before. -- Better releasing code ensures all objects which should get GC'd, do. -- Renamed Packages The "Magma client" package has been renamed to "Magma-Client". "Magma server" has been renamed to "Magma-Server". -- Includes utility to upgrade legacy repositories to the next version of Magma. _______________________________________________ Magma mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/magma |
Free forum by Nabble | Edit this page |