Is trunk-based development (TBD) viable for development of software where versioning, compatibility, long term support and service level agreements (SLA) play a big role for business (e.g. libraries, frameworks, drivers, SDKs)?
Some context
I'm interested in TBD in context of different types of software projects. The practice is considered valuable by many. There is some research on positive impact on speed and reliability of the software delivery - I'm thinking of DORA and DevOps Reports - but I think it's biased towards web development. The Internet is full of articles praising the practice, but it mostly from web developers with little to no case studies about other types of software.
SDK development is a different beast. Customers are often other developers. They expect that after the integration, there will be little to no effort to maintain it. This leads to conservative update policies and a long tail of software versions that are in use. Versions, that are expected to be updated with new functionality and fixes. Breaking changes are not welcome, bad abstractions can stay in codebase like this for years. It's very hard to keep releasability of the trunk while working on multiple API changes.
Is TBD viable for environment I have described? If so, what are other practices that a team should implement to reap the rewards (low integration cost, fast feedback loop, releasability) while satisfying needs of the business (stability, long term support of APIs, as little breaking changes as possible)?