The changelog (linked from the page you linked to, or Changelog — Python 3.11.1 documentation) may be what you’re looking for here, but be aware that it dives into the minutiae rather than being a high level “hey here’s the new features” document.
Shouldn’t we list some of those differences on the top level page though? I honestly didn’t think to click the changelog since the info above the changelog link was all 3.11 instead of 3.11.1
Right. It’s much easier to say “here are the cool new features” when talking about x.y.0, where there actually are new features. When trying to say what’s changed in x.y.1, it’s hard to strike a balance between “it’s just bugfixes, nothing to speak of” and “here’s the full list of tracker issues that went into this release”.
Though if ever there ARE obvious user-facing changes, where would they be described? The only example I can find is 2.7.3 which had a number of security fixes listed:
I don’t think it’s quite as clear-cut as described. There sometimes are new features in bugfix releases. Several typing constructs were introduced in bugfix releases. In 3.11.1, enum.auto was extended to support generating values when placed inside a tuple.
I can’t speak for typing, but the auto change was a bugfix – which unfortunately created a new bug (now fixed in 3.11.2). The lesson learned there is sometimes you do want type and not isinstance.