Hi folks, So with 4.2 being almost GA, it is about time to start discussing the next major release. I think it should be 5.0 (not 4.3), and we would modernize things across the board. Let me start with a list of things we can clean up, and I'll follow up with new feature ideas in a separate thread. So...
0. Switch to Java 17. About time... 1. [Done by Nikita] Remove OpenBaseAdapter 2. [Done by Nikita] Remove cayenne-dbcp2, cayenne-joda 3. Remove ROP (cayenne-client, cayenne-client-jetty, cayenne-protostuff, cayenne-rop-server, ROP modeler pieces, docs). It is untenable to support it anymore, and is a constant source of CVE's. Most importantly, from what I can tell, there are no users left for this particular technology. Removing it would allow us to collapse ObjectContext inheritance hierarchy among other things. 4. Remove object clustering transports (cayenne-jgroups, cayenne-jms, cayenne-xmpp). I don't think anyone uses them. Also these transport protocols are not particularly popular these days. Whoever needs them, can easily maintain their own fork. 5. Remove cayenne-web. It provides a very specific recipe for integration with servlets via ThreadLocals. Kinda old-school. I'd rather see a SpringBoot example as a separate project somewhere. (And of course we already have Bootique examples available). 6. Remove deprecated SelectQuery. ObjectSelect is a full replacement. There are more query improvements that I have in mind, but this one is a no brainer. 7. Remove entity callbacks from the Modeler and XML. Only annotated callbacks will be supported. Comments? Andrus