Problem
If a dependency updates and breaks ipywidgets then the only way it will be caught is if a PR happens to open at the right time to catch in in the tests. This is what happened with ipykernel 6 #3154. But this cannot be relied on.
Proposed Solution
Have a test that run on the newest version of all dependencies at a regular interval. For example ipympl runs tests against the matplotlib HEAD every monday: https://github.com/matplotlib/ipympl/blob/master/.github/workflows/mpl-latest.yml
It doesn't necessarily need to be against the very bleeding edge, I think installing with pip install --pre --upgrade --force-reinstall would also go a long way. Though installing from git gives by far the longest runway to fix issues.
Additional context