v3 of E-Commerce the main goal was to stabilize E-Commerce and make it run better. I think we did pretty good, a major leap forward over v2. How ever there are still a few problems which we are addressing.
v4's main goal is to improve the api's and make it so that it is easier to manage, and improve functionality across the system with very little effort. So in doing this and being able to improve the product API I found that the this big function called hook_productapi() was becoming more of a problem than what it was worth.
So in doing the developments to prepare the E-Commerce to implement the product features API I found that it was going to be much easier to implement products, and also allow modules to implement more than 1 product I added the hook_product_info() and then hook_productapi() was just too much to handle. So in an effort to make the development of products easier I have split up the product api into many subroutines.
I am still making changes so there will be more information coming soon.

Comments
product api like node api
gordon,
how about transforming every product as a generic product with "plugins" like auction, donation, subproduct?
we also need to expand the api hooks.
regards,
massa
Yes I am going to be
Yes I am going to be extending products with a feature API. However donate and auction will remain more or less unchanged. Subproduct will become a feature that can be attached to any type of product.
The file, donate, and auction modules provide specific use cases, that do not really make sense to implement as a feature, where as product availablity, shippablity, roles, recurring etc all make sense as features that can be added to any product type.
--
Gordon Heydon