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

Reply via email to