change log for my modules and applications

What is the best practice for documenting changes that are made including enhancements and fixes to various OS modules in my applications?  I would like developers to document enhancemens and changes as the changes are made, not only when we deploy (which I know we can document them there).


I think its best if you keep the comments in actions/JS/Expressions and description field updated as the changes are made but there are ideas to add comments when you publish the module, it will take sometime for product team to implement them.