What's Changed * Check for the presence of cotton tags before parsing which prevents unnecessary processing by wrabit in https://github.com/wrabit/django-cotton/pull/80
What's Changed * Fix case sensitive placeholder issue in connection with duplicate attribute handling mechanism by wrabit in https://github.com/wrabit/django-cotton/pull/79
What's Changed * Preserve spaces around tpl expressions by wrabit in https://github.com/wrabit/django-cotton/pull/78 * Introduces an internal cache versioning system so if a release would break cached and compiled versions, we can force the rebuild
What's Changed * better whitespace control by wrabit in https://github.com/wrabit/django-cotton/pull/69
An [issue](https://github.com/wrabit/django-cotton/issues/68) caused a discovery that tags were being mutated if DTL syntax was against an opening tag name i.e.
html <li{% expr %}>..</li>
Which after processing resulted in:
html <li{% expr %}>..</li{% expr %}>
We solved it by better handling of white space when we match and replace the DTL expressions.