What's the phrase for expressing the burden of what is done in the past?
In the software engineering context of your example, the common term is technical debt. It is a reference to ‘borrowing’ time from future endeavours (you get extra time now but need to spend that time later, probably with interest).
Technical debt (also known as design debt or code debt, but can be also related to other technical endeavors) is a concept in software development that reflects the implied cost of additional rework caused by choosing an easy (limited) solution now instead of using a better approach that would take longer. - Wikipedia
If you wanted to retain the terms bag and history, “historical baggage” expresses the concept more generically, from the perspective of someone trying to work with what has gone before.
Here are a couple of examples (note: I tried to find non-controversial examples, but if these are controversial for you, please ignore the content and just consider the English as context-free sentences):
GEC sheds its historical baggage as a new era starts to take shape - Electronics Weekly
The Heavy Historical Baggage of U.S. Policy Toward the Middle East - The National Interest
I'd suggest "legacy". The inflexible IT systems that have to be maintained by established companies are often called legacy systems.
The new version has to be backwardly compatible with older versions.
From wikipedia:
Backward compatibility is a property of a system, product, or technology that allows for interoperability with an older legacy system, or with input designed for such a system, especially in telecommunications and computing. [...]