v4.8.11¶
v4.8.11은 macOS 견고성, 외부 도구 직렬화, 펌웨어 업데이트 신뢰성에 중점을 둔 안정성 및 정확성 릴리스입니다. Qt Creator 14.0.2(이전 릴리스에서 변경 없음)를 기반으로 하며 사용자 프로젝트에 대한 호환성 파괴 변경 사항은 없습니다.
주요 변경 사항¶
macOS 크래시 강화 — 패널이나 팝업이 완전히 빌드되기 전 또는 비동기 새로 고침 중에 트리/리스트/콤보 선택을 업데이트하여 발생하던 간헐적인 무음
NSRangeException중단을 아웃라인 콤보, 호출/타입 계층, 자동 완성 및 로케이터 팝업, 프로젝트 트리 등 전반에 걸쳐 제거했습니다.직렬화된 외부 도구 — 로더 진행 대화 상자가 이제 애플리케이션 모달로 동작하며 모든 장치 폴링을 일시 중단합니다. 따라서 실행 중인 dfu-util, bossac, picotool 및 기타 도구가 카메라 스트림이나 자동 재연결에 의해 더 이상 재진입될 수 없습니다.
신뢰성 있는 펌웨어 업데이트 — 자동 재연결이 더 이상 펌웨어 업데이트를 플래시 중간에 가로챌 수 없습니다. 이전에는 이로 인해 실제 후속 동작이 누락되고 가짜 DFU 대화 상자가 표시되었습니다.
Hello World 보호 — 보드 연결 시 신뢰할 수 없는 수정 플래그 대신 원본 스냅샷과 비교함으로써, 입력해 둔 Hello World 프로그램을 간헐적으로 덮어쓰는 일이 더 이상 발생하지 않습니다.
더 명확한 DFU 오류 — “no matching interface” 오류가 이제 원시 VID/PID를 출력하는 대신 검출된 보드와 해당 보드가 허용하는 펌웨어 파일 이름을 표시합니다.
새로운 기능¶
ST Edge AI (STM32N6) 가 이제 컴파일러의
--relocatable모드를 통해 재배치 가능한 네트워크 바이너리를 직접 생성하여, 별도의 Python 재배치 단계와 대화 상자의 추가 Relocation CLI Options 필드를 제거했습니다 (7613135c5).
기타 변경 사항 및 개선 사항¶
DFU 인터페이스 오류 가 이제 원시 VID/PID를 출력하는 대신 검출된 보드를 표시하고 해당 보드가 허용하는 펌웨어 파일 이름을 나열하며, 올바른 파일로 이름을 바꾸거나 선택하라는 안내를 제공합니다 (ac509b369).
macOS 탭 탐색 단축키가 이제 누를 수 없는
Ctrl+PageUp/Ctrl+PageDown대신 접근 가능한Cmd+Shift+[/Cmd+Shift+](이전/다음) 및Cmd+Alt+[/Cmd+Alt+](이동)를 사용합니다. Windows 및 Linux 바인딩은 변경되지 않았습니다 (6c09e10b1).upload.openmv.io(check.php,insert.php,register.php)에 대한 라이선스/보드 요청 이 이제 플랫폼별 브라우저 형식의User-Agent를 전송하여 라이선스 서버가 클라이언트 OS를 식별할 수 있도록 합니다 (6bfd74b36).
버그 수정¶
패널이나 팝업이 아직 숨겨져 있거나 비동기 새로 고침 중일 때 트리/리스트/콤보 선택을 업데이트하면 빌드되지 않은 Cocoa 접근성 캐시에 인덱싱되어 발생하던 간헐적인 macOS 크래시(크래시 대화 상자 없는 무음
NSRangeException중단)를 수정했습니다. 이제 선택, 스크롤, 확장이 아웃라인 콤보, 호출/타입 계층, 코드 자동 완성 팝업, 로케이터 팝업, Save Items 대화 상자, 프로젝트 트리, 폴더 탐색, Open Documents, Issues/Tasks 리스트, 트리 뷰 콤보박스 전반에 걸쳐 지연되거나 보호됩니다 (94c8f9def, ae40a3806, ed23b5c60, c6baf89cd, d7b6f5838, d8b70609c, 21740d9c2, 9217fc8a9, fe75924d5, 9cc247ffb, 3ca71e915, 559b6005f).Python 언어 서버가 심볼을 비동기적으로 새로 고칠 때 오래된 범위 밖 인덱스로 인해 코드 아웃라인 콤보박스에서 발생하던 별도의 macOS 크래시(
NSRangeException/SIGABRT)를 수정했습니다. 이제setCurrentIndex가 실시간 모델에 대해 행/열 경계를 다시 검증합니다 (3e0ce89f1).디렉터리 로딩이 완료될 때까지 트리 사전 확장을 지연하고 모델이 유효한 인덱스를 가진 후에만 새로 생성된 파일/폴더/모델을 선택하도록 하여, ROMFS 모델 편집기 와 데이터셋 편집기 를
QFileSystemModel비동기 경합으로부터 강화했습니다 (5eaa91aff).외부 도구 작업(dfu-util, bossac, picotool, alif, imx, ST Cube, mpy-cross, vela, ST Edge AI, 비디오 변환)이 더 이상 카메라 스트림이나 대기 중인 작업이 실행 중인 도구 뒤에서 장치 작업에 재진입하도록 허용하지 않습니다. 이제 로더 진행 대화 상자가 애플리케이션 모달로 동작하며 표시되는 동안 장치 폴링이 완전히 일시 중단됩니다 (3069e8ec0).
강제/부트로더/소거 작업 전체에 걸쳐 래치되는 고정 펌웨어-업데이트-진행-중 플래그를 통해, 자동 재연결이 더 이상 펌웨어 업데이트를 플래시 중간에 가로채지 않습니다. 재연결 타이머도 이제 이 플래그를 확인합니다 (b7745484a).
센서별 예제를 자동 동기화하기 전에 신뢰할 수 없는 수정 플래그에 의존하는 대신, 실시간 문서를 열 때 캡처한 원본 스냅샷과 비교함으로써 보드 연결 시 입력해 둔 Hello World 프로그램을 간헐적으로 덮어쓰는 일이 더 이상 발생하지 않습니다 (6f4539d44).
빠른 연속 출력 중 시리얼 터미널에서 위로 스크롤할 때 더 이상 뷰가 맨 아래로 당겨지지 않습니다. 추가 경로가 이제 각 청크가 방금 다시 고정한 스크롤바 위치에서 “맨 아래”를 다시 도출하는 대신 고정된 사용자 스크롤 의도 플래그를 따릅니다 (9aea0f1a2).
Escape가 이제 어떤 자식 위젯이 포커스를 가지고 있든 관계없이 Code Profiler 대화 상자를 안정적으로 닫습니다 (203ffd1e6).숨겨진 메뉴 바를 모든 플랫폼에서 메인 창에 부모로 지정함으로써, macOS에서 전역 메뉴 및 명령 키보드 단축키가 이제 에디터에 포커스가 있을 때만이 아니라 앱 전체에서 작동합니다 (6d52cbe73).
번들된 Python 인터프리터가 이제 매 실행마다 기본값으로 강제 지정되므로, 오래된 영구 기본값이 더 이상 Python 언어 서버(자동 완성 및 호출 힌트)를 조용히 비활성화하지 않습니다 (1d5069a52).
재진입에 대해 OpenMV 설정 I/O를 강화했습니다. 공유 전역 설정 객체에 대한
beginGroup/endGroup(모달 대화 상자를 생성하고 중첩된 이벤트 루프를 실행함)이 전체 키 경로로 대체되어, 모달 대화 상자 중의 재진입 설정 접근이 더 이상 키를 잘못된 그룹 아래에 잘못 저장할 수 없습니다. 디스크상의 경로는 바이트 단위로 동일하므로 기존 사용자 설정이 정확히 보존됩니다 (91e78a9e3, f4bb9f48c).공유 설정 객체를 받는 여러 대화 상자 및 헬퍼가
OpenMV/아래가 아니라 설정 루트에서 베어 키 I/O를 수행하여, 모델 주(zoo)의 창 형상, 분할기, 확장 상태와 6개 로더 대화 상자(dfu-util, imx, bossac, alif, picotool, ST Cube Programmer)의 상태, 그리고 mpy-cross, vela, ST Edge AI 컴파일러 옵션을 잃어버리던 회귀를 수정했습니다. 이제 그룹이 각 키에 내장되어 올바른 경로가 사용됩니다 (258448bdf).
플랫폼 및 도구 지원¶
Qt Creator 기반: 14.0.2.
OpenMV IDE 버전이 4.8.11로 상향되었습니다.
호환성 파괴 변경 사항¶
없음. 모든 변경 사항은 기존 Qt Creator 14.0.2 기반 위에 추가된 버그 수정 및 개선 사항입니다. 기존 프로젝트와 워크플로는 영향을 받지 않습니다.