네오(Neo) 코어 개발팀은 2025년 5월 이후 처음으로 로컬 블록체인 도구인 네오(Neo) 익스프레스(Neo Express)의 공식 업데이트 버전인 3.9.1을 발표했습니다. 2월 4일에 출시된 이번 새 버전은 .NET 10.0 지원을 추가하고, 네오-CLI 3.9.1과의 호환성을 개선했으며, 개발자 워크플로우 향상을 위한 다양한 개선 사항을 포함하고 있습니다.
네오(Neo) Express v3.9.1의 주요 업그레이드 사항
네오(Neo) Express v3.9.1은 버그 수정, 보안 업그레이드, 플랫폼 지원 및 인프라 유지 관리를 포함한 여러 주요 영역에 걸쳐 39개의 병합된 풀 리퀘스트를 통합합니다. 또한 기존 프레임워크 타겟을 제거하고, 플랫폼 간 사용성을 개선하며, 스마트 계약 테스트, 현지화 및 디버깅에 영향을 미치는 오랜 문제를 해결합니다.
플랫폼 및 프레임워크 업데이트
.NET 10 호환성: 네오(Neo) Express는 이제 Microsoft 개발 플랫폼의 최신 버전인 .NET 10.0을 대상으로 합니다(#515). 이를 통해 개발자는 최신 프레임워크 기능과 성능 향상을 활용할 수 있습니다. 또한 이번 업데이트에서는 기존의 .NET Standard 및 .NET Framework 대상을 제거하여(#496) 코드베이스를 간소화하고 유지 관리 부담을 줄였습니다.
네오(Neo) v3.9.1 통합: 이번 릴리스에서는 네오(Neo) Express가 Neo-CLI v3.9.1(#516)과 호환되도록 업그레이드되어 계약 수수료 화이트리스트, 트레져리 네이티브 계약, 향상된 실행 수수료 요소 정밀도 등 최신 프로토콜 기능과의 호환성이 보장됩니다.
멀티 플랫폼 바이너리: 이제 Linux(x64, ARM64, musl), macOS(x64, ARM64) 및 Windows(x64, ARM64)를 포함한 여러 플랫폼용으로 사전 빌드된 바이너리를 사용할 수 있어 개발 환경 전반에 걸쳐 네이티브 지원을 제공합니다.
개발 워크플로 개선
향상된 명령 실행: RunDotNetCommand 메서드는 이제 문자열 연결 대신 인자 목록을 사용합니다(#478). 이를 통해 스마트 계약 개발 및 테스트 중에 .NET CLI 명령을 실행할 때 안정성이 향상되고 잠재적인 오류가 줄어듭니다.
테스트 인프라 개선: 테스트 명령 실행이 리팩토링되어 테스트 클래스 간의 코드 중복이 제거되었습니다(#480). 이를 통해 테스트 스위트의 유지 관리성이 향상되고 다양한 테스트 시나리오에서 일관성 없는 동작이 발생할 위험이 줄어듭니다.
현지화 수정 사항: Test02_BuildValidation 테스트가 영어 이외의 언어 환경에서 실행될 때 실패하는 문제를 해결하여(#483) 국제 개발자 환경을 개선했습니다.
버그 수정 및 안정화
몇 가지 중요한 버그 수정으로 네오(Neo) Express의 안정성이 향상되었습니다.
상태 서비스 개선: StateServiceStore (#493) 및 MemoryTrackingStore 클래스(#492)의 문제를 수정하여 개발 및 테스트 워크플로 중 블록체인 상태 관리 및 메모리 추적 기능을 향상시켰습니다.
저장 항목 처리: 알 수 없는 저장 항목이 GetProvenState 에서 null을 반환하는 대신 오류를 발생시키던 문제를 해결했습니다(#491). 이를 통해 존재하지 않는 블록체인 상태를 쿼리할 때 발생하는 충돌을 방지했습니다.
전송 상태 정확도: GetTransfers 메서드에서 잘못된 상태 보고 문제를 수정했습니다(#494). 이를 통해 개발 및 테스트 중에 토큰 전송을 정확하게 추적할 수 있습니다.
$NFT 지원 개선 사항: $NFT 전송 토큰 구문 분석 및 잔액 스택 순서 수정(#507), $NFT 계약 테스트 시 개발자가 겪었던 문제를 해결했습니다.
Neo-trace 프로토콜 설정: Neo-trace의 프로토콜 설정을 수정하고 추적 작업 실패 시 오류 메시지를 개선하여(#488) 디버깅 기능을 향상시켰습니다.
현재 디렉터리 처리: 특정 작업 디렉터리에서 명령을 실행할 때 명령이 실패할 수 있는 경로 확인 문제를 해결했습니다(#495).
Neo3-visual-tracker 릴리스 다운로드: Neo3 Visual Tracker 확장 프로그램 다운로드에 영향을 미치는 문제를 수정했습니다(#499). 이를 통해 개발자는 Visual Studio Code 확장 프로그램을 제대로 설치하고 사용할 수 있습니다.
스냅샷 데이터 처리: 스냅샷 기능을 수정하여 목록 자체가 아닌 항목의 복사본을 추가하도록 했습니다(#490). 이를 통해 상태 스냅샷 중에 의도치 않은 부작용과 데이터 손상을 방지할 수 있습니다.
보안 업데이트
이번 릴리스에서는 neo3-visual-tracker 확장 프로그램의 종속성 업데이트를 통해 여러 보안 취약점을 해결합니다.
- tar-fs를 업데이트하여(2.1.1 → 2.1.4) 아카이브 추출 취약점을 해결했습니다(#476, #500).
- base-x를 5.0.0에서 5.0.1로 업데이트하여 기본 인코딩 보안을 개선했습니다(#473).
- 암호 기반 키 파생을 위해 pbkdf2가 업데이트되었습니다(3.1.2 → 3.1.3)(#477).
- 암호화 연산을 위한 cipher-base가 업데이트되었습니다(1.0.4 → 1.0.6)(#497)
- SHA 해싱 함수를 위해 sha.js를 업데이트했습니다(2.4.11 → 2.4.12)(#498).
- 임시 파일 처리를 위해 tmp가 업데이트되었습니다(0.2.1 → 0.2.4)(#489).
- YAML 구문 분석 보안을 위해 js-yaml이 업데이트되었습니다(#509).
- JSON 웹 서명 처리를 위해 jws가 업데이트되었습니다(3.2.2 → 3.2.3)(#511).
- 쿼리 문자열 구문 분석을 위한 업데이트된 qs(6.14.0 → 6.14.1)(#512)
- HTTP 클라이언트 작업에 대한 Undici 업데이트(7.16.0 → 7.18.2)(#513)
- glob 패턴 매칭을 위해 @isaacs/brace-expansion(5.0.0 → 5.0.1)이 업데이트되었습니다(#518).
- 빌드 도구 관련 Microsoft.Build.Utilities.Core 업데이트(17.14.8 → 17.14.28)(#505, #506)
- 일반 보안 패키지 업데이트(#502, #510)
이러한 업데이트는 종합적으로 중요하고 심각도가 높은 보안 취약점을 해결하여 네오(Neo) Express가 개발 워크플로에서 안전하게 유지되도록 보장합니다.
코드 품질 개선
사용되지 않는 메서드 업데이트: 코드베이스 전체에서 사용되지 않는 메서드 호출을 교체하여(#482) 현재 및 향후 .NET 릴리스와의 호환성을 보장하고 컴파일러 경고를 줄였습니다.
경고 감소: 다양한 컴파일러 경고(#501)를 정리하여 코드 품질을 향상시키고 개발자가 자신의 코드에서 실제 문제를 더 쉽게 식별할 수 있도록 했습니다.
패키지 버전 업데이트: 상위 프로젝트 변경 사항에 맞춰 프로젝트를 최신 상태로 유지하기 위해 정기적인 종속성 유지 관리(#479, #503)를 진행합니다.
호환성
네오(Neo) Express v3.9.1은 Neo-CLI v3.9.1 이상 버전과 호환됩니다. 로컬 블록체인 테스트를 위해 네오(Neo) Express를 사용하는 개발자는 최신 프로토콜 기능 및 메인넷/테스트넷 동작과의 호환성을 보장하기 위해 이 버전으로 업데이트해야 합니다.
이번 업데이트를 위해서는 소스 코드에서 빌드하는 경우 .NET 10.0 SDK가 필요합니다. 직접 컴파일하지 않으려는 개발자를 위해 미리 빌드된 바이너리도 제공됩니다.
네오(Neo) Express v3.9.1은 아래 링크(Chainlink) 에서 다운로드할 수 있습니다.
https://github.com/neo-project/neo-express/releases/tag/3.9.1




