| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:647d31d2-a157-47a2-9d15-c43c0a3ee09b |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | E0C6:1D8CC3:13500CA:1A3D679:6A521CAF |
| html-safe-nonce | b71b9d0bd461ea8b2283adccacabcb856b85b357552044d96b30491b42f2c216 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFMEM2OjFEOENDMzoxMzUwMENBOjFBM0Q2Nzk6NkE1MjFDQUYiLCJ2aXNpdG9yX2lkIjoiNzY2ODYwNDcyNjU3MzkzMTY5NSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 523f76ca5b66095da86efed3be228a945622ec7df2168d5b9200d0ea0f7f5f77 |
| hovercard-subject-tag | pull_request:2805256917 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | ///pull_requests/show/files |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/python/cpython/pull/138591/files |
| twitter:image | https://avatars.githubusercontent.com/u/16676218?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/16676218?s=400&v=4 |
| og:image:alt | Fixes gh-138514.
📚 Documentation preview 📚: https://cpython-previews--138591.org.readthedocs.build/ |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | b9a586c06a05a7a86fc7e3f4dbd03e42f6869085879aa184aa6369456dbd50fb |
| turbo-cache-control | no-preview |
| diff-view | unified |
| go-import | github.com/python/cpython git https://github.com/python/cpython.git |
| octolytics-dimension-user_id | 1525981 |
| octolytics-dimension-user_login | python |
| octolytics-dimension-repository_id | 81598961 |
| octolytics-dimension-repository_nwo | python/cpython |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 81598961 |
| octolytics-dimension-repository_network_root_nwo | python/cpython |
| turbo-body-classes | logged-out env-production page-responsive full-width |
| disable-turbo | true |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 7aed05249554b889eb33d002851a973eebcc7e91 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
| Skip to content | https://github.com/python/cpython/pull/138591/files#start-of-content |
|
| https://github.com/ |
|
Sign in
| https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F138591%2Ffiles |
| GitHub CopilotWrite better code with AI | https://github.com/features/copilot |
| GitHub Copilot appDirect agents from issue to merge | https://github.com/features/ai/github-app |
| MCP RegistryNewIntegrate external tools | https://github.com/mcp |
| ActionsAutomate any workflow | https://github.com/features/actions |
| CodespacesInstant dev environments | https://github.com/features/codespaces |
| IssuesPlan and track work | https://github.com/features/issues |
| Code ReviewManage code changes | https://github.com/features/code-review |
| GitHub Advanced SecurityFind and fix vulnerabilities | https://github.com/security/advanced-security |
| Code securitySecure your code as you build | https://github.com/security/advanced-security/code-security |
| Secret protectionStop leaks before they start | https://github.com/security/advanced-security/secret-protection |
| Why GitHub | https://github.com/why-github |
| Documentation | https://docs.github.com |
| Blog | https://github.blog |
| Changelog | https://github.blog/changelog |
| Marketplace | https://github.com/marketplace |
| View all features | https://github.com/features |
| Enterprises | https://github.com/enterprise |
| Small and medium teams | https://github.com/team |
| Startups | https://github.com/enterprise/startups |
| Nonprofits | https://github.com/solutions/industry/nonprofits |
| App Modernization | https://github.com/solutions/use-case/app-modernization |
| DevSecOps | https://github.com/solutions/use-case/devsecops |
| DevOps | https://github.com/solutions/use-case/devops |
| CI/CD | https://github.com/solutions/use-case/ci-cd |
| View all use cases | https://github.com/solutions/use-case |
| Healthcare | https://github.com/solutions/industry/healthcare |
| Financial services | https://github.com/solutions/industry/financial-services |
| Manufacturing | https://github.com/solutions/industry/manufacturing |
| Government | https://github.com/solutions/industry/government |
| View all industries | https://github.com/solutions/industry |
| View all solutions | https://github.com/solutions |
| AI | https://github.com/resources/articles?topic=ai |
| Software Development | https://github.com/resources/articles?topic=software-development |
| DevOps | https://github.com/resources/articles?topic=devops |
| Security | https://github.com/resources/articles?topic=security |
| View all topics | https://github.com/resources/articles |
| Customer stories | https://github.com/customer-stories |
| Events & webinars | https://github.com/resources/events |
| Ebooks & reports | https://github.com/resources/whitepapers |
| Business insights | https://github.com/solutions/executive-insights |
| GitHub Skills | https://skills.github.com |
| Documentation | https://docs.github.com |
| Customer support | https://support.github.com |
| Community forum | https://github.com/orgs/community/discussions |
| Trust center | https://github.com/trust-center |
| Partners | https://github.com/partners |
| View all resources | https://github.com/resources |
| GitHub SponsorsFund open source developers | https://github.com/open-source/sponsors |
| Security Lab | https://securitylab.github.com |
| Maintainer Community | https://maintainers.github.com |
| Accelerator | https://github.com/open-source/accelerator |
| GitHub Stars | https://stars.github.com |
| Archive Program | https://archiveprogram.github.com |
| Topics | https://github.com/topics |
| Trending | https://github.com/trending |
| Collections | https://github.com/collections |
| Enterprise platformAI-powered developer platform | https://github.com/enterprise |
| GitHub Advanced SecurityEnterprise-grade security features | https://github.com/security/advanced-security |
| Copilot for BusinessEnterprise-grade AI features | https://github.com/features/copilot/copilot-business |
| Premium SupportEnterprise-grade 24/7 support | https://github.com/enterprise/premium-support |
| Pricing | https://github.com/pricing |
| Search syntax tips | https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax |
| documentation | https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax |
|
Sign in
| https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F138591%2Ffiles |
|
Sign up
| https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=python%2Fcpython |
| Reload | https://github.com/python/cpython/pull/138591/files |
| Reload | https://github.com/python/cpython/pull/138591/files |
| Reload | https://github.com/python/cpython/pull/138591/files |
| Please reload this page | https://github.com/python/cpython/pull/138591/files |
|
python
| https://github.com/python |
| cpython | https://github.com/python/cpython |
| Please reload this page | https://github.com/python/cpython/pull/138591/files |
|
Notifications
| https://github.com/login?return_to=%2Fpython%2Fcpython |
|
Fork
35k
| https://github.com/login?return_to=%2Fpython%2Fcpython |
|
Star
73.8k
| https://github.com/login?return_to=%2Fpython%2Fcpython |
|
Code
| https://github.com/python/cpython |
|
Issues
5k+
| https://github.com/python/cpython/issues |
|
Pull requests
2.3k
| https://github.com/python/cpython/pulls |
|
Actions
| https://github.com/python/cpython/actions |
|
Projects
| https://github.com/python/cpython/projects |
|
Security and quality
0
| https://github.com/python/cpython/security |
|
Insights
| https://github.com/python/cpython/pulse |
|
Code
| https://github.com/python/cpython |
|
Issues
| https://github.com/python/cpython/issues |
|
Pull requests
| https://github.com/python/cpython/pulls |
|
Actions
| https://github.com/python/cpython/actions |
|
Projects
| https://github.com/python/cpython/projects |
|
Security and quality
| https://github.com/python/cpython/security |
|
Insights
| https://github.com/python/cpython/pulse |
| Sign up for GitHub
| https://github.com/signup?return_to=%2Fpython%2Fcpython%2Fissues%2Fnew%2Fchoose |
| terms of service | https://docs.github.com/terms |
| privacy statement | https://docs.github.com/privacy |
| Sign in | https://github.com/login?return_to=%2Fpython%2Fcpython%2Fissues%2Fnew%2Fchoose |
| picnixz | https://github.com/picnixz |
| python:main | https://github.com/python/cpython/tree/main |
|
Conversation
40
| https://github.com/python/cpython/pull/138591 |
|
Commits
32
| https://github.com/python/cpython/pull/138591/commits |
|
Checks
51
| https://github.com/python/cpython/pull/138591/checks |
|
Files changed
| https://github.com/python/cpython/pull/138591/files |
| Please reload this page | https://github.com/python/cpython/pull/138591/files |
|
gh-138514: getpass: restrict echo_char to a single ASCII character
| https://github.com/python/cpython/pull/138591/files#top |
|
Show all changes
32 commits
| https://github.com/python/cpython/pull/138591/files |
|
7d412d9
Accept only single character with getpass.getpass(echo_char) (see: gh…
bkjoh Sep 6, 2025
| https://github.com/python/cpython/pull/138591/commits/7d412d9ae32921df22d6adb445199b1943dee1b9 |
|
a99e900
accept suggestion to reword blurb
bkjoh Sep 6, 2025
| https://github.com/python/cpython/pull/138591/commits/a99e90003c5d1ae37fbf5aff9b9dbf8f2e413829 |
|
bbd741a
reword echo_char description per suggestion
bkjoh Sep 10, 2025
| https://github.com/python/cpython/pull/138591/commits/bbd741ae9ae59576fe6c6e94dc6a6cc3d0cf4d60 |
|
4338c9f
reword echo_char error message per suggestion
bkjoh Sep 10, 2025
| https://github.com/python/cpython/pull/138591/commits/4338c9ff86429105a019ef0ba5ed005410911024 |
|
37a0a72
reword getpass echo_char news per suggestion
bkjoh Sep 10, 2025
| https://github.com/python/cpython/pull/138591/commits/37a0a7293ac28e38899f30270545666919f8c9ea |
|
b063e33
fix getpass echo_char spacing per suggestion
bkjoh Sep 10, 2025
| https://github.com/python/cpython/pull/138591/commits/b063e33afbead1745874930644cf7b45458701ad |
|
5151819
Merge branch 'main' into gh-138514-fix-getpass-echo-char
bkjoh Sep 10, 2025
| https://github.com/python/cpython/pull/138591/commits/515181937d5adbc918d53f3e7754b7d138a18a20 |
|
fcda047
remove
bkjoh Sep 10, 2025
| https://github.com/python/cpython/pull/138591/commits/fcda047f5de20bc7d9eb27986fd26d099f63925a |
|
4eb5701
modify
bkjoh Sep 10, 2025
| https://github.com/python/cpython/pull/138591/commits/4eb57011f555a91eb176d4c5fe3552b3b4d66e6b |
|
a183a71
Merge branch 'main' into gh-138514-fix-getpass-echo-char
bkjoh Sep 10, 2025
| https://github.com/python/cpython/pull/138591/commits/a183a71ee17ccfd43d348f9588d070430c6b7bcc |
|
e8d08f8
modify TypeError message
bkjoh Sep 10, 2025
| https://github.com/python/cpython/pull/138591/commits/e8d08f8115865b3fa15e720bc65ddca9a2440c97 |
|
749cc7d
modify TypeError message again
bkjoh Sep 10, 2025
| https://github.com/python/cpython/pull/138591/commits/749cc7d961910baf1106a36531100bdef0b99f10 |
|
a6aed93
add comma to ValueError message
bkjoh Sep 10, 2025
| https://github.com/python/cpython/pull/138591/commits/a6aed9356168a32ca5bfebce64420a9642069ca1 |
|
8385bc5
Merge branch 'main' into gh-138514-fix-getpass-echo-char
bkjoh Sep 10, 2025
| https://github.com/python/cpython/pull/138591/commits/8385bc58a4c500158ed3c003ab926ce42c6a1d89 |
|
d1281cb
Merge branch 'main' into gh-138514-fix-getpass-echo-char
bkjoh Sep 10, 2025
| https://github.com/python/cpython/pull/138591/commits/d1281cbecbe7d1c4baa1a9f3e437e426f4175763 |
|
7253600
accept suggestion from picnixz
bkjoh Sep 10, 2025
| https://github.com/python/cpython/pull/138591/commits/7253600d767b7da9bfc8c0f0b692140ee567088f |
|
cf0cc73
accept language suggestion from picnixz
bkjoh Sep 10, 2025
| https://github.com/python/cpython/pull/138591/commits/cf0cc7368740992eb73bf77166e4a78f38c01aab |
|
58f86cd
accept spacing suggestion from picnixz
bkjoh Sep 10, 2025
| https://github.com/python/cpython/pull/138591/commits/58f86cdeb60cb6f7550aee5b5136b52fcf494e58 |
|
6bb99d3
accept leftover artifact removal suggestion from picnixz
bkjoh Sep 10, 2025
| https://github.com/python/cpython/pull/138591/commits/6bb99d3fb4ece19bbdef97af61c2c731237a1833 |
|
fde711f
add new line per suggestion
bkjoh Sep 10, 2025
| https://github.com/python/cpython/pull/138591/commits/fde711ff958a5b9d70e0c470ed8ffa5d3cd838c1 |
|
acc7bca
use subTest for getpass echo_char tests
bkjoh Sep 10, 2025
| https://github.com/python/cpython/pull/138591/commits/acc7bca86fa2bb9716279ae0d3ad2b8ae34e6baa |
|
461fd5b
switch to one-liner style
bkjoh Sep 10, 2025
| https://github.com/python/cpython/pull/138591/commits/461fd5b970367b9bde21964a89a393859ea42f66 |
|
301ef46
use @support.subTests syntax
bkjoh Sep 10, 2025
| https://github.com/python/cpython/pull/138591/commits/301ef46a9df0e42213b4dcf3451d34aa23480fd8 |
|
6e148e5
match style
bkjoh Sep 10, 2025
| https://github.com/python/cpython/pull/138591/commits/6e148e58fd5718074d60362f28e1a88eb5ec3914 |
|
caded77
match style further
bkjoh Sep 10, 2025
| https://github.com/python/cpython/pull/138591/commits/caded776184fec339b3853db5daaf80ae96058da |
|
981d49d
remove too-verbose comments
bkjoh Sep 11, 2025
| https://github.com/python/cpython/pull/138591/commits/981d49de80c33ab4ef49a567586303c08ae14af0 |
|
07534ce
remove too-verbose comments
bkjoh Sep 11, 2025
| https://github.com/python/cpython/pull/138591/commits/07534ce03f5de1fb2a40e4f39cb254843c55d249 |
|
2203e03
simplify non-ascii tests using ascii
bkjoh Sep 11, 2025
| https://github.com/python/cpython/pull/138591/commits/2203e03db2176dbcf8f47bea87e57363b7bec7a7 |
|
6485375
test every non-printable ascii byte
bkjoh Sep 11, 2025
| https://github.com/python/cpython/pull/138591/commits/6485375ce96c2ea2455f9c829fc1f76ca68668c8 |
|
2e7bd33
Merge branch 'main' into gh-138514-fix-getpass-echo-char
bkjoh Sep 11, 2025
| https://github.com/python/cpython/pull/138591/commits/2e7bd339f00400b3e6cefb484b677af9dffb5eb5 |
|
3629a53
remove s characters
bkjoh Sep 11, 2025
| https://github.com/python/cpython/pull/138591/commits/3629a53a10776b5357c1778c72f6cf383608301b |
|
e2ba1b7
Merge branch 'main' into gh-138514-fix-getpass-echo-char
bkjoh Sep 11, 2025
| https://github.com/python/cpython/pull/138591/commits/e2ba1b7589518bd71b7a8fd9579286234139f8fc |
|
Clear filters
| https://github.com/python/cpython/pull/138591/files |
| Please reload this page | https://github.com/python/cpython/pull/138591/files |
| Please reload this page | https://github.com/python/cpython/pull/138591/files |
|
getpass.rst
| https://github.com/python/cpython/pull/138591/files#diff-a539e906f12f8eb221f1d81caf82e4ceb2f0d5cf30b8505c73b6a366a5752bf4 |
|
getpass.py
| https://github.com/python/cpython/pull/138591/files#diff-3bde66c820a115e5740d481232a0c48331c3856ad4c247a586be98991c08f8cb |
|
test_getpass.py
| https://github.com/python/cpython/pull/138591/files#diff-acd0b3af44a7e1cb5c51d62ab92adeb8fdd3b16539f22703e8773d2f2a8cbf3f |
|
ACKS
| https://github.com/python/cpython/pull/138591/files#diff-d1243956feb505c5459fc05387e194609efb5c350cee202942be47ed30d7d7d0 |
|
2025-09-06-11-26-21.gh-issue-138514.66ltOb.rst
| https://github.com/python/cpython/pull/138591/files#diff-f309a76342502fb6c9a3bb6024de7d86e1b8a722e65c605cafcbe575a1f3e5b0 |
| Doc/library/getpass.rst | https://github.com/python/cpython/pull/138591/files#diff-a539e906f12f8eb221f1d81caf82e4ceb2f0d5cf30b8505c73b6a366a5752bf4 |
|
View file
| https://github.com/python/cpython/blob/e2ba1b7589518bd71b7a8fd9579286234139f8fc/Doc/library/getpass.rst |
|
Open in desktop
| https://desktop.github.com |
| https://github.co/hiddenchars |
| https://github.com/python/cpython/pull/138591/{{ revealButtonHref }} |
|
| https://github.com/python/cpython/pull/138591/files#diff-a539e906f12f8eb221f1d81caf82e4ceb2f0d5cf30b8505c73b6a366a5752bf4 |
|
| https://github.com/python/cpython/pull/138591/files#diff-a539e906f12f8eb221f1d81caf82e4ceb2f0d5cf30b8505c73b6a366a5752bf4 |
| Lib/getpass.py | https://github.com/python/cpython/pull/138591/files#diff-3bde66c820a115e5740d481232a0c48331c3856ad4c247a586be98991c08f8cb |
|
View file
| https://github.com/python/cpython/blob/e2ba1b7589518bd71b7a8fd9579286234139f8fc/Lib/getpass.py |
|
Open in desktop
| https://desktop.github.com |
| https://github.co/hiddenchars |
| https://github.com/python/cpython/pull/138591/{{ revealButtonHref }} |
|
| https://github.com/python/cpython/pull/138591/files#diff-3bde66c820a115e5740d481232a0c48331c3856ad4c247a586be98991c08f8cb |
|
| https://github.com/python/cpython/pull/138591/files#diff-3bde66c820a115e5740d481232a0c48331c3856ad4c247a586be98991c08f8cb |
|
| https://github.com/python/cpython/pull/138591/files#diff-3bde66c820a115e5740d481232a0c48331c3856ad4c247a586be98991c08f8cb |
|
| https://github.com/python/cpython/pull/138591/files#diff-3bde66c820a115e5740d481232a0c48331c3856ad4c247a586be98991c08f8cb |
| Lib/test/test_getpass.py | https://github.com/python/cpython/pull/138591/files#diff-acd0b3af44a7e1cb5c51d62ab92adeb8fdd3b16539f22703e8773d2f2a8cbf3f |
|
View file
| https://github.com/python/cpython/blob/e2ba1b7589518bd71b7a8fd9579286234139f8fc/Lib/test/test_getpass.py |
|
Open in desktop
| https://desktop.github.com |
| https://github.co/hiddenchars |
| https://github.com/python/cpython/pull/138591/{{ revealButtonHref }} |
|
| https://github.com/python/cpython/pull/138591/files#diff-acd0b3af44a7e1cb5c51d62ab92adeb8fdd3b16539f22703e8773d2f2a8cbf3f |
| Misc/ACKS | https://github.com/python/cpython/pull/138591/files#diff-d1243956feb505c5459fc05387e194609efb5c350cee202942be47ed30d7d7d0 |
|
View file
| https://github.com/python/cpython/blob/e2ba1b7589518bd71b7a8fd9579286234139f8fc/Misc/ACKS |
|
Open in desktop
| https://desktop.github.com |
| https://github.co/hiddenchars |
| https://github.com/python/cpython/pull/138591/{{ revealButtonHref }} |
|
| https://github.com/python/cpython/pull/138591/files#diff-d1243956feb505c5459fc05387e194609efb5c350cee202942be47ed30d7d7d0 |
|
| https://github.com/python/cpython/pull/138591/files#diff-d1243956feb505c5459fc05387e194609efb5c350cee202942be47ed30d7d7d0 |
| Misc/NEWS.d/next/Library/2025-09-06-11-26-21.gh-issue-138514.66ltOb.rst | https://github.com/python/cpython/pull/138591/files#diff-f309a76342502fb6c9a3bb6024de7d86e1b8a722e65c605cafcbe575a1f3e5b0 |
|
View file
| https://github.com/python/cpython/blob/e2ba1b7589518bd71b7a8fd9579286234139f8fc/Misc/NEWS.d/next/Library/2025-09-06-11-26-21.gh-issue-138514.66ltOb.rst |
|
Open in desktop
| https://desktop.github.com |
| https://github.co/hiddenchars |
| https://github.com/python/cpython/pull/138591/{{ revealButtonHref }} |
| Please reload this page | https://github.com/python/cpython/pull/138591/files |
|
| https://github.com |
| Terms | https://docs.github.com/site-policy/github-terms/github-terms-of-service |
| Privacy | https://docs.github.com/site-policy/privacy-policies/github-privacy-statement |
| Security | https://github.com/security |
| Status | https://www.githubstatus.com/ |
| Community | https://github.community/ |
| Docs | https://docs.github.com/ |
| Contact | https://support.github.com?tags=dotcom-footer |