2011년 7월 8일 금요일

3.2.1 릴리스 후보 2가 나왔습니다

원문: 3.2.1 Release Candidate 2 Released (날짜: 2011-07-06, 작성자: Brian Curtin)

6월의 릴리스에 이어 3.2.1의 두 번째 릴리스 후보가 지금 막 나왔습니다. 5월 15일에 있었던 첫 번째 릴리스 후보 이후로 40가지가 넘는 문제를 고쳐졌습니다. 여러분 모두 3.2.1 최종 릴리스 전의 마지막 모습을 확인하신다는 차원에서 각자의 프로젝트에 이 릴리스 후보를 테스트해 보시기를 바랍니다.

무엇이 고쳐졌을까?

I/O

#1195는 고쳐지지 않은 채로 몇 년이 지났습니다. 그러나 fgets을 호출하기 전에 오류 상태를 초기화하는 간단한 수정만으로 input() 내에서 CTRL-D가 sys.stdin.read()를 중단시키는 문제를 해결하였습니다. io 시스템은 #12175에서 read()None을 반환하면 readall() 메소드도 None을 반환하도록 하였고, 파일을 열지 못할 때에는 ValueError를 발생하도록 했습니다.

RC2에서 등장한 것은 아니지만 3.2.1의 중요한 수정 사항인 #11272는 Windows에서 input()의 끝에 붙어 오는 \r 문제를 고친 것입니다. 이 문제는 수차례 보고된 바 있고 여러 사람이 겪고 있는 문제이므로(distutils의 upload 명령 등?) 3.2.1이 해결책이 될 수 있기를 희망합니다.

Windows

3.2.0은 Windows에 os.symlinks 지원이라는 새 기능을 추가하였는데 덕분에 #12084가 문제가 되었습니다. os.stat가 Windows 심볼릭 링크를 잘못 계산하고 있었던 것으로 밝혀져 stat 함수의 여러 가지 내부 동작을 수정했었습니다.

한 사용자가 os.path.isdir이 느리다는 것을 밝혀냈는데, 그 원인은 os.stat로 특히 심볼릭 링크를 계산할 때가 문제가 됩니다. (일반적으로 보통 파일보다 두 배는 느려짐) 누구에게도 os.path.isdir이 성능상의 병목이 되지는 않지만, 인터프리터가 시작될 때 여러 차례 호출되므로 #11583에서 GetFileAttributes를 사용하도록 하여 기동 시 속도를 조금 높였습니다.

subprocess

Popen 객체를 생성할 때 올바르지 않은 인자를 넘기면 AttributeError가 발생했습니다. 이것은 #12085로 보고되었고 보고한 사람이 고쳐주었습니다. 3.2.0에서 변경된 것 때문에 Popen에서 환경 변수가 비어있을 때, 특히 env 인자를 제대로 처리하지 못하였습니다. 이 문제는 #12383으로 올라와 바로 고쳐졌습니다.

...그 밖에!

3.2.1 RC2의 전체 변경 사항을 보려면 변경 로그를 확인하시고 지금 바로 다운로드 해보십시오!

늘 그렇듯이 문제를 발견하시면 http://bugs.python.org로 알려주세요. 고품질의 파이썬 릴리스를 제작할 수 있도록 도움을 주셔서 고맙습니다.

댓글 없음:

댓글 쓰기