I’m planning a deep refactoring.

The more I read the codebase the mode it’s obvious it requires a deep refactoring. I won’t elaborate on the reasons. I’ve already talked enough about why for weeks in the mailing list.

This will happen as soon as the next stable v6.5.7 will be out.

I won’t merge anymore features during the coming cycle. If you intend to implement one, it’s not the good time to start it now.

As far as I can tell today, here are some of the planned tasks:

  • better names for variables, objects, etc;
  • improve comments, especially about the logic;
  • better policy on objects;
  • revamp inheritance of objects;
  • revamp the factorization accross objects;
  • better namespacing;
  • don’t blindly inherit from library objects;
  • usual patterns more strictly applied;
  • seriously improve our debugging/hacking sessions.

For details, see TODO.rst in the source tree.

Anyone interested might like to follow the work in progress with git.

Follow up: imapfw is made public.