Desktop memory sync는 세션을 기다리지 않고 엔진이 부팅되자마자 시작합니다. omo host ensure로 시작된 엔진은 세션이 열릴 때만 확장을 로드하는 반면, 데스크톱은 엔진이 memory-sync 부트스트랩 핸드셰이크를 보낼 때까지 세션을 열지 않아서 두 쪽이 서로를 기다리고 있었습니다. 이제 RPC 엔진의 실행이 memory-sync 채널을 선언하면, 컴파일된 omo와 npm 런처가 엔진 로드 전에 해당 claim을 미리 시작하며, 첫 세션은 이를 재사용합니다. claim이 실패하면 memory sync는 여전히 사용 불가로 보고되며, CLI 자격 증명으로 대체되지 않습니다. (#12702) (#12704)
Internal (tests only): macOS 신뢰 인증서 획득이 이미 주입 가능한 번들 리더를 통해 /etc/ssl/cert.pem을 읽으며, 테스트를 통해 잘못된 형식의 기본 파일이 구조화된 openssl-default-file-malformed drop 항목(파일, 원인, 블록 인덱스, 좁히기 정보)을 생성함을 검증하도록 바뀌었습니다. (#12633)
Internal (tests only): OpenSSL 기본 파일 가져오기 테스트가 이제 BOM뿐 아니라 BEGIN 줄의 모든 상위 바이트(high byte)가 파일 전체를 drop한다는 것을 고정(pin)합니다. (#12632)
Internal (release tooling): omo-native 신뢰 변이(mutation) 하네스는 명명된 테스트가 assertion으로 실패할 때만 변이를 killed로 집계합니다. 런타임 오류를 던지거나 로드 시 크래시만 나는 변이는 이제 crashed로 보고되며 실행을 실패시킵니다. (#12631)
head, one, two, tail에서 이 버전은 ONE을 쓰고 이전 버전 디바이스는 TWO를 쓰면, 결과는 head, TWOONE, 빈 줄, tail이 될 수 있습니다. 이전 버전 디바이스 두 대는 head, ONE, TWO, tail을 만듭니다.GIT_CONFIG_COUNT 쌍이나 GIT_CONFIG_PARAMETERS 항목에서 core.hooksPath, core.fsmonitor, include.path, includeIf.*.path를 더 이상 가져오지 않습니다. 따라서 core.hooksPath=/dev/null 같은 내보낸 쌍이 메모리 저장소의 hook과 mirror push를 조용히 건너뛰게 만들 수 없습니다. 그 밖에 주입된 다른 쌍(url.*.insteadOf, http.extraHeader, 자격 증명, safe.directory 등)은 번호를 다시 매겨 계속 적용됩니다. git 자체가 파싱할 수 없는 주입 목록은 통째로 버려집니다. 또한 Memory git은 저장소 리디렉션(GIT_DIR, GIT_WORK_TREE, GIT_COMMON_DIR, GIT_OBJECT_DIRECTORY, GIT_NAMESPACE, GIT_CONFIG 등)을 더 이상 상속하지 않으므로 다른 저장소를 가리키도록 만들 수 없습니다. GIT_INDEX_FILE, GIT_CONFIG_GLOBAL, GIT_CONFIG_NOSYSTEM은 유지됩니다. (#12360, #12354 수정) (#12597)sync held가 표시되고, 알림에는 파일이 보류 중이라는 내용이 나타나며, sync를 일시 중지시키는 거부된 항목은 보류된 파일 뒤에 숨겨지지 않습니다. (#12284) (#12597)git config --get을 호출하는 대신 git config --list 한 번으로 읽고, 저장소가 아무것도 추적하지 않는 동안에는 줄바꿈 복구를 건너뜁니다. 메모리를 여는 모든 세션에서 이 비용이 발생하며, 부하가 많은 머신에서는 git 프로세스 하나당 수백 밀리초가 걸립니다. memory-core 자체 테스트는 파일별 5~15초 제한 대신 표준 20초 테스트 예산으로 실행되며, 이전에는 바쁜 호스트에서만 실패했습니다. (#12104, #12103 수정) (#12597)thread_send는 아무도 처리하지 않을 메시지를 더 이상 queued로 보고하지 않습니다. 대상 스레드의 세션에 실행 중인 drain이 없으면, 전송은 이제 queued_offline으로 응답합니다. 메시지는 보관되고 세션이 다음에 실행될 때 처리되므로, 호출자는 턴이 시작되지 않았음을 알고 기다리는 대신 조치할 수 있습니다. drain은 또한 사용자의 미전송 초안 뒤에서 보류 중인 메시지를 보고하므로, 살아 있는 drain이 없는 것으로 오인되지 않습니다. (#12488, #12486 수정)Windows 릴리스에 omo-git-job-helper.exe가 포함됩니다. 이는 각 메모리 git 명령을 자체 kill-on-close job object 안에서 실행하는 작은 네이티브 헬퍼입니다. 이를 통해 나중의 writer는 죽은 writer의 git이 사라졌음을 증명한 뒤에야 방치된 lock을 회수할 수 있습니다. 아직 이 헬퍼를 사용하는 곳은 없습니다. 후속 작업에서 연결될 때까지 memory-core는 현재의 Windows 동작을 유지하며, Windows CI에서 in-flight-creation 스트레스 항목이 통과하기 전까지 어떤 릴리스도 새 프로토콜을 주장하지 않습니다. (#12105, #10391의 일부) (#12597)
f2f2264 Merge pull request #12597 from code-yeongyu/memsync/train-memsync-5
44fa71d Merge pull request #11834 from code-yeongyu/fix/11806-root-sweep-cleanup
32ae126 Merge remote-tracking branch 'origin/dev' into fix/11806-root-sweep-cleanup
454d7ab Merge remote-tracking branch 'origin/dev' into memsync/train-memsync-5
22ef014 Merge pull request #12488 from code-yeongyu/fix/12486-thread-send-no-drain
55ca0d7 Merge pull request #12704 from code-yeongyu/fix/memsync-claim-at-host-boot
cab3d22 Merge remote-tracking branch 'origin/dev' into fix/12486-thread-send-no-drain
3a6a7bb Merge pull request #12632 from code-yeongyu/test/10762-begin-highbyte-nonbom
f218dfc Merge remote-tracking branch 'origin/dev' into test/10762-begin-highbyte-nonbom
69bdd38 Merge pull request #12633 from code-yeongyu/test/10762-native-default-file-drop
0a55872 Merge pull request #12631 from code-yeongyu/fix/10762-mutation-kill-assertion
db00709 Merge remote-tracking branch 'origin/dev' into fix/memsync-claim-at-host-boot
e481d62 Merge pull request #12738 from code-yeongyu/release/v5.1.63-source-state
02efb0c Merge remote-tracking branch 'origin/dev' into test/10762-native-default-file-drop
219e68a Merge remote-tracking branch 'origin/dev' into fix/10762-mutation-kill-assertion
e1463cf Merge remote-tracking branch 'origin/dev' into test/10762-begin-highbyte-nonbom
065a093 Merge pull request #12739 from cynkai/fix/12733-registrant-event-timestamps
53f2db0 Merge remote-tracking branch 'origin/dev' into fix/12486-thread-send-no-drain
edc8fb3 test(device-service-core): run-out 메시지에서 대기 기준으로 각 registrant 이벤트 시간을 측정 (#12733)
3c716cd Merge remote-tracking branch 'origin/dev' into fix/memsync-claim-at-host-boot
1feb679 Merge remote-tracking branch 'origin/dev' into test/10762-native-default-file-drop
66d08a9 Merge remote-tracking branch 'origin/dev' into fix/10762-mutation-kill-assertion
de85336 Merge remote-tracking branch 'origin/dev' into test/10762-begin-highbyte-nonbom
f2fe61e Merge remote-tracking branch 'origin/dev' into fix/12486-thread-send-no-drain
4be486c test(memory-sync): POSIX fd-5 부트 claim 테스트를 POSIX에서만 실행
bc0e1b2 test(memory-sync): 부트 claim 테스트 클라이언트와 pid에 non-null 단언 대신 가드 추가 (lint ratchet)
ce2a801 Merge remote-tracking branch 'origin/dev' into fix/memsync-claim-at-host-boot
aee4a8d fix(memory-sync): 모든 진입점이 하나의 구현을 호출하도록 claim 옆에 부트 게이트 export
5349543 fix(memory-sync): RPC 엔진이 부팅될 때 데스크톱 채널 claim (#12702)
c14cf35 test(memory-core): git dir 경로를 플랫폼 정규화하여 비교 (Windows는 슬래시를 출력)
4df1181 Merge remote-tracking branch 'origin/dev' into memsync/train-memsync-5
10891b7 Merge remote-tracking branch 'origin/dev' into test/10762-native-default-file-drop
0b7213f Merge remote-tracking branch 'origin/dev' into test/10762-begin-highbyte-nonbom
4a7db85 Merge dev into fix/11806-root-sweep-cleanup
9fdc139 Merge remote-tracking branch 'origin/dev' into fix/10762-mutation-kill-assertion
586e045 Merge remote-tracking branch 'origin/dev' into test/10762-begin-highbyte-nonbom
9aa8272 Merge remote-tracking branch 'origin/dev' into test/10762-native-default-file-drop
f95427e Merge remote-tracking branch 'origin/dev' into fix/10762-mutation-kill-assertion
e27d955 Merge remote-tracking branch 'origin/dev' into test/10762-begin-highbyte-nonbom
8fc3acf Merge remote-tracking branch 'origin/dev' into test/10762-native-default-file-drop
c44f029 Merge remote-tracking branch 'origin/dev' into fix/10762-mutation-kill-assertion
a710500 Merge remote-tracking branch 'origin/dev' into test/10762-begin-highbyte-nonbom
857c294 Merge remote-tracking branch 'origin/dev' into test/10762-native-default-file-drop
2af8c14 Merge remote-tracking branch 'origin/dev' into fix/10762-mutation-kill-assertion
e74241b Merge remote-tracking branch 'origin/dev' into test/10762-begin-highbyte-nonbom
d971557 Merge remote-tracking branch 'origin/dev' into test/10762-native-default-file-drop
c483b79 Merge commit '81ed5934013aeb173fa87b190e357e0ad8bdc4c7' into fix/10762-mutation-kill-assertion
1af9029 Merge remote-tracking branch 'origin/dev' into test/10762-native-default-file-drop
81999dc Merge remote-tracking branch 'origin/dev' into test/10762-begin-highbyte-nonbom
a06747e fix(script): expect.assertions/hasAssertions 실패도 assertion kill로 집계 (#10762)
ca32c61 test(omo-native): 단계가 기록을 거부하거나 건너뛸 때 foreign-marker 테스트가 assertion으로 실패하도록 수정 (#10762)
c4d5985 test(omo-native): macOS 기본 파일을 주입된 번들 리더로 읽고 drop 테스트 (#10762)
e71c392 test(omo-native): BEGIN 줄의 non-BOM high byte가 기본 파일을 drop함을 고정 (#10762)
6dbd294 fix(script): assertion으로만 kill된 변이를 집계하고, 런타임 오류나 크래시는 crashed로 처리 (#10762)
d225166 Merge remote-tracking branch 'origin/dev' into memsync/train-memsync-5
ceed2fd memory-core: 복구된 항목을 imported로 표시하기 전에 doc을 persist하여, persist에 실패한 캡처가 재시작 후 건너뛰어지지 않도록 함
4647e55 Merge remote-tracking branch 'origin/dev' into memsync/train-memsync-5
9236c42 Merge remote-tracking branch 'origin/dev' into memsync/train-memsync-5
6d4d507 changes: #12297, #12104, #12105 fragment를 train fragment로 통합 (#12597)
1e823c0 memory-core: 캡처 복구의 imported skip과 lost-mark 재확인에 lock 적용 (design-gate M1, M2)
938bfbe memsync train(#12597)을 #12297에 병합: 캡처를 outbox로 이식, imported 항목 표시
9e26f72 Merge remote-tracking branch 'origin/dev' into memsync/train-memsync-5
6c3c592 changes: train 멤버들의 changelog fragment를 하나로 통합
f1f21d6 Merge commit 'a0af0bae4fa9fe26b7d1168be560a6ba0d14223b' into memsync/train-memsync-5
bd83f2d Merge commit 'd4a832897aef76e1bbf91ab010439407bdf6345d' into memsync/train-memsync-5
51193c7 Merge commit '017902297fae112cca777f76992fe8b4bca3f1e1' into memsync/train-memsync-5
25f9b88 Merge commit '1afd37288d8525c7d30c5784d9e310fdf59bc24a' into memsync/train-memsync-5
7ac2b08 Merge remote-tracking branch 'origin/dev' into fix/11806-root-sweep-cleanup
adc4da0 docs(changes): thread_send queued_offline을 위한 #12488 fragment 추가
1afd372 Merge remote-tracking branch 'origin/dev' into fix/memsync-same-line-concurrent-edit
abf1fd2 fix(memory-sync): 긴 노트에서 떨어진 줄 편집은 별도의 hunk로 유지
744b369 test(thread): drain이 없는 가짜 wake는 이제 queued_offline으로 읽힘 (#12486)
6703e51 fix(thread): drain에 도달하지 못한 wake를 보낸 전송은 queued가 아닌 queued_offline으로 응답
75a943f Merge remote-tracking branch 'origin/dev' into fix/memsync-same-line-concurrent-edit
4ec838d Merge remote-tracking branch 'origin/dev' into fix/memsync-oversized-item-no-block
d4a8328 Merge remote-tracking branch 'origin/dev' into fix/memsync-large-pull-linear
0179022 Merge remote-tracking branch 'origin/dev' into fix/memsync-push-memory-bounded
a0af0ba Merge remote-tracking branch 'origin/dev' into fix/memcore-git-env-hermetic-12354
2063adf Merge remote-tracking branch 'origin/dev' into fix/12103-soul-edit-persona-load
a1b7918 test(memory-core): live-lock journal 케이스는 자체 15초 예산을 유지
796e3ff fix(memory-core): sync space의 git을 memory git 환경 필터를 거쳐 실행 (#12354)
318d5a1 test(memory-core): RED: 상속된 GIT_DIR이 sync space config나 remote 목록을 다른 저장소로 가리키면 안 됨 (#12354)
69d3523 fix(memory-core): Windows 이외에서는 GIT_CONFIG_* 등 git 이름을 정확히 일치시킴 (#12354)
2410a12 test(memory-core): RED: 대소문자가 섞인 Git_Config_* 쌍이 Windows에서 git이 읽지 않는 config가 되면 안 됨 (#12354)
35cc69a fix(memory-core): memory의 hook을 건드리지 않는 상속된 git config 쌍 유지 (#12354)
9f898e0 test(memory-sync): 렌더 읽기 한도는 기록 읽기도 관찰되어야 함을 요구
8ba4701 fix(memory-sync): 거부된 배치의 sealed 파일을 제거하여 동결된 계정의 journal이 제한되도록 함
분량 관계로 이후 내용은 번역에서 제외했습니다. 전체 내용은 위 원문 링크에서 확인하세요.