The best model I've seen for this is to simply charge for major version upgrades. It's totally at the developer's discretion what they put into any given major/minor/patch version so you can demarcate development in whatever way suits.
(1) If you purchased something just before the new version comes out, it feels like you got screwed over.
(2) It requires a lot of new features be released at once for the new major version. This is actually more difficult to develop for vs releasing one feature at a time.
(3) It makes planning and budgeting much more difficult, for users and for developers. If there is a bug (especially a compatibility bug for the latest annual version of iOS/macOS, or a security bug) affecting version N, version N-1, and version N-2, all will require bugfixes. This raises the cost of bugfixes. Not to mention potential bugs related to future physical AirPods products.
(4) It leads to bloat from gimmicky new features being added to attract new customers.
I'd much rather pay, say, $0.99 per month or $9.99 per year, and get regular compatibility and security updates, and know that this developer will not go out of business, compared to paying $50 for a product I might not actually use very long if it won't work on a new computer.
If you want good software that gets regular updates, bugfixes, and compatibility updates, it's best time to pay for it on a regular basis.