Skip to content

What's New in Python 3.14 (copyediting) #123299

Description

@AA-Turner

Documentation

This is a meta-issue to capture PRs for copyedits to What's New in Python 3.14.

Other meta-issues:

Linked PRs

A

Activity

  1. added a commit that references this issue on Aug 25, 2024
  2. added a commit that references this issue on Sep 27, 2024
  3. added a commit that references this issue on Oct 15, 2024
  4. added a commit that references this issue on Nov 20, 2024
  5. added a commit that references this issue on Jan 12, 2025
  6. added a commit that references this issue on Jan 14, 2025
  7. added a commit that references this issue on Feb 10, 2025
  8. added a commit that references this issue on Apr 7, 2025
  9. added a commit that references this issue on May 2, 2025
  10. added a commit that references this issue on May 3, 2025
  11. added a commit that references this issue on May 6, 2025
  12. merwok commented on May 7, 2025

    @merwok
    Member

    I noticed a pet peeve in the what’s new (which is great otherwise — what a release!)

       attributes = {"src": "shrubbery.jpg", "alt": "looks nice"}
       template = t"<img {attributes} />"
       assert html(template) == '<img src="shrubbery.jpg" alt="looks nice" class="looks-nice" />'

    [ edit: better explanation on PR 132220 ]

    HTML has some elements defined to not require a closing tag: <img src="..." alt="..."> is valid.

    XML has a short form to condense opening and closing tags together: <img src="..." alt="..."/> is equivalent to <img src="..." alt="..."></img>. All opening tags need a matching closing tag, or the self-closing form.

    A decade ago, to ensure compatibility with SGML and XML parsers, the best practice was to add a space before the slash. It was taking advantage of an SGML feature where / was actually closing the tag and > was ignored as garbage. It was ugly but compatible with the two kinds of parsers existing at the time.

    Modern HTML does not require this, and has also abandoned XML rules (except for SVG that can be embedded directly, but that’s defined in the HTML spec I think).

    So the easy, simple, correct form should be:

       attributes = {"src": "shrubbery.jpg", "alt": "looks nice"}
       template = t"<img {attributes}>"
       assert html(template) == '<img src="shrubbery.jpg" alt="looks nice" class="looks-nice">'

    Thanks for coming to my TED talk.

  13. hugovk commented on May 7, 2025

    @hugovk
    Member

    @merwok Would you like to open a PR to fix it?

  14. merwok commented on May 7, 2025

    @merwok
    Member

    Fine #133622

  15. 83 remaining items

  16. added a commit that references this issue on Oct 5, 2025
  17. added a commit that references this issue on Oct 5, 2025
  18. added 3 commits that reference this issue on Oct 7, 2025
  19. added a commit that references this issue on Oct 7, 2025
  20. added a commit that references this issue on Oct 7, 2025
  21. added a commit that references this issue on Oct 7, 2025
  22. hugovk commented on Oct 12, 2025

    @hugovk
    Member

    Python 3.14 is out! 🚀

  23. added 3 commits that reference this issue on Aug 30, 2026
  24. added a commit that references this issue on Sep 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

3.14bugs and security fixesdocsDocumentation in the Doc dir

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions