I've started to update Glorp and GlorpSQLite for Pharo 8. This post lists the stuff to be handled.
First, changes in Pharo from version to version. Glorp's
TimedProxyReaper uses a
weak-valued dictionary to hold
TimedProxy instances. In Pharo 6,
WeakValueDictionary>>at:put: essentially does the following:
WeakValueAssociation key: key value: anObject
In Pharo 7, that became:
WeakValueAssociation key: key value: anObject asSetElement
TimedProxy to implement
In Pharo 8,
#asSetElement is deprecated in favour of
WeakValueAssociation key: key value: anObject asCollectionElement
TimedProxy now also needs
The Pharo community has consolidated around Pharo-SQLite3 as the definitive SQLite binding going forward. GlorpSQLite uses the now-legacy UDBC-SQLite binding currently. This change should be straightforward.
Todd Blanchard has been working on Ruby on Rails-style ActiveRecord for Glorp, and testing the changes with PostgreSQL.
With independently evolving drivers for SQLite, PostgreSQL and MySQL, and the ActiveRecord work changing Glorp itself, the time has come to set up CI for Glorp.