## meta-pytorch/monarch — v0.2.0…v0.3.0

_186+ commits._

### Features
- **add OSS example of SPMDJob and add support for local scheduler and torchrun as entrypoint (#2465)** (028ae60)
- **Add RecordBatchSink for trace event collection into Arrow format (#2424)** (bd7070e)
- **bootstrap : (static) proc launcher config support (#2397)** (58fc9be)
- **bootstrap: introduce process launcher backend (#2376)** (533956a)
- **proc_launcher::systemd.rs: new module (#2371)** (36fa925)
- **proc_launcher::native.rs: new module (#2363)** (f0602f5)
- **proc_launcher.rs: new module (#2341)** (34152e8)
- **add docstrings to job.spmd module (#2419)** (d71b910)
- **add docstrings to spmd module (#2418)** (6123405)
- **add ArcSwap materialized view for lock-free reads (#2396)** (e6fd00a)
- **add actor-local storage with Entry-based API (#2383)** (d450379)
- **Add server heartbeat metric for death observability (#2381)** (9d1bafc)
- **Add header_prop field to CastMessageEnvelope (#2345)** (259b059)
- **Add DDP example for Kubernetes (#2365)** (bc8cff8)
- **Back out "Add worker.py for launching run_worker_loop_forever in the monarch build" (#2342)** (5c51022)
- **Add KubernetesJob to wiki (#2356)** (ee0df92)
- **add missing public API docstrings to docuemntation index (#2343)** (fe6d22e)
- **Plumbing: Add cx: context::Actor to PortHandle (#1350)** (2c3415c)
- **add docs for monarch.job (#2338)** (d92f200)
- **Add return_undeliverable property to PyPortRef (#2332)** (23e127b)
- **Add timestamp and PID to unhandled_fault_hook message (#2319)** (0e785b5)
- **Add pre-condition to check mesh name in KubernetesJob (#2313)** (e98639e)
- **Add an example script that runs gpu collectives on kubernetes (#2320)** (8ec7c73)
- **wirevalue: introduce crate Error/Result type and use it (#2286)** (f03ae63)
- **wirevalue: introduce explicit 'broken' value (#2285)** (5310c2e)
- **Add worker.py for launching run_worker_loop_forever in the monarch build (#2306)** (395644e)
- **Add KubernetesJob example for provisioning Monarch hosts using Volcano Schduler (#2304)** (2f041ce)
- **Add documentation for supervision (#2299)** (a6d9550)
- **add algebra module (#2280)** (b863019)
- **add monarch serve torchx command to launch the (MAST) job and cache the command inside the jobs .pkl (#2097)** (8a90070)
- **Add way to check built pytorch versions (#2256)** (61435da)
- **Add kubernetes as optional dependency for KubernetesJob (#2252)** (3d59406)
- **factor hyperactor::data into new crate wirevalue (#2253)** (40408f0)

### Fixes
- **Reapply supervision receiver clone fix (#2463)** (3186b05)
- **Fix a race condition in ShutdownHost (#2450)** (e31d9a4)
- **Fix wrong python version for nightly docker image (#2445)** (8f539cc)
- **Fix #[track_caller] in channel::serve (#2421)** (f1d52b7)
- **Fix mesh_ref usage in PythonActorMeshImpl to limit subscriptions (#2403)** (be9dde3)
- **Fix child actor tracing span inheriting parent's actor_id (#2348)** (0c645db)
- **Fix incorrect init information (#2386)** (6ca2c89)
- **Fix actor log filter breaking torch.compile structured logging (#2337)** (688deff)
- **Fix clippy::len_zero issues in fbcode/monarch/struct_diff_patch_macros/src [B] (#2307)** (ba44244)
- **Fix clippy::len_zero issues in fbcode/monarch/struct_diff_patch_macros/src [A] (#2308)** (b482901)
- **Fix docs to support mermaid diagram rendering (#2298)** (000f6c4)
- **Fix "undeliverable message was returned to the wrong actor" (#2291)** (ee9c62b)
- **commit accidentally unapplied review patch (#2270)** (69267ee)
- **python/tests/_monarch: test_logging: fix race due to missing mock (#2268)** (1b65507)
- **configure environment in pypi uploads to fix nightly and stable (#2247)** (c8d75cc)
- **fix edition 2021 -> 2024 (#2254)** (be3f0e5)

### Backend
- **Update docker tag names (#2468)** (e293f2c)
- **remove torch as req for torchmonarch in project.toml; specify torch version ABI compatibile in README (#2466)** (78a34d9)
- **Clean up kubernetes_ddp example (#2460)** (217a8c1)
- **Delete dead monarch_hyperactor/v1 directory (#2462)** (8e0f70c)
- **lints (#2433)** (b4793d8)
- **lints** (c11feed)
- **update SPMD examples (including k8) to use SPMDActor and simplify (#2423)** (f766496)
- **multicast: properly separate end-to-end and hop-to-hop headers (#2420)** (ba6207e)
- **Update smol_str crate to 0.1.24 (#2430)** (2981c4c)
- **bootstrap: use native launcher backend (#2379)** (cc48f95)
- **systemd: SystemdService & SystemdUnitHandle (#2359)** (39d35a0)
- **Register callback on proc spawn (#2410)** (a1cbf5a)
- **Bump dir-diff 0.3.2 -> 0.3.3 (#2409)** (ef9dbd4)
- **Bump quickcheck_macros 1.0.0 -> 1.1.0 (#2407)** (26ab2ff)
- **Bump indenter 0.3.3 -> 0.3.4 (#2408)** (7b0511a)
- **encapsulate Layers with methods (#2395)** (7db1d13)
- **v1: actor_mesh: tests: test_undeliverable_message_return increase timeout (#2404)** (bb43255)
- **readonly Python API for namespace (#2360)** (1084210)
- **rust API for mesh registery (#2318)** (615b6ad)
- **v1: host_mesh: adjust test timeouts (#2390)** (af77279)
- **Build the monarch dockerfile nightly (#2264)** (a944a2c)
- **MONARCH_INFO.md: use RealClock advice (#2402)** (1deaff0)
- **Move Kubernete ddp example to wiki example (#2378)** (5fb3f55)
- **plumb the `reason`of why stopping an actor to the actor loop (#2353)** (07e2337)
- **Update example with a roleAccount that uses the monarch-client-role clusterRole (#2388)** (f27d78c)
- **DOCS_INDEX.md (#2389)** (3b8298c)
- **Stop supervision state check loop after ranks are terminal (#2385)** (efacd87)
- **Escalate reconnect failure log level based on duration (#2380)** (4524ff6)
- **Optimize supervision timeouts and polling frequency (#2377)** (5f790ae)
- **refactoring: extract cast code out so it can be shared (#2369)** (163d6db)
- **Update hello_kubernetes_job example (#2366)** (7c8a363)
- **Standardize dest logging field in channel (#2357)** (7a64251)
- **rename config ENABLE_CLIENT_SEQ_ASSIGNMENT to ENABLE_DEST_ACTOR_REORDERING_BUFFER (#2368)** (d309d2d)
- **monarch_hyperactor/src/v1/* --> monarch_hyperactor/src/* (#2323)** (c998d16)
- **Don't log expensive TCP span fields at INFO (#2372)** (4a7ab10)
- **Use SmallVec for storing trace fields (#2351)** (075f579)
- **Cache thread name and thread id (#2350)** (80c2dfe)
- **Use GB/s (#2364)** (8134fdc)
- **Upgrade ROCm build to ROCm 7.1 nightly wheels (#2325)** (93e2b12)
- **refactor mastJob to use simple bootstrap (#2339)** (20968ab)
- **Derive max_level from sinks in TraceEventDispatcher (#2355)** (6643a93)
- **make Python::with_gil nonblocking in async functions (#2347)** (a266acf)
- **Remove unused CommActorMode variants (#2349)** (5e0e8d4)
- **Remove dead code server_return_handle (#2354)** (119a2e3)
- **temporarily go back to context managers for endpoint instrumentation (#2315)** (77bb2c2)
- **My claude is not your claude (#2346)** (5e3ae11)
- **Refactoring: rename Proc::handle_supervision_event to Proc::handle_unhandled_supervision_event (#2314)** (8a2e88a)
- **Update all workflows to install torch with --extra-index-url (#2335)** (dcda0fe)
- **accum: generic join-semilattice accumulator/reducer types (#2316)** (c2990c1)
- **crate of algebraic abstractions 3/N (#2310)** (6abf022)
- **accum: more (simple) crdt examples (#2309)** (b94573b)
- **crate of algebraic abstractions 2/N (#2300)** (6803182)
- **wait for workers rather than job (#2336)** (9a65f62)
- **generalize both mast and tcp (non mast) (#2322)** (6c540a8)
- **Better handling for undeliverable messages to subscribers of ActorMeshController (#2326)** (639732b)
- **Block tokio runtime when pickling meshes outside of endpoint pathways (#2328)** (6b505d8)
- **use argparse and more fully parse torchrun args** (6db28cf)
- **First draft of ROCm build workflow (#2001)** (46093f6)
- **OncePort accumulation in comm actor (#2263)** (237bee9)
- **implement Bind and Unbind for OncePortRef (#2262)** (44fc298)
- **onceport binding (#2261)** (fa7f4cf)
- **enqueue port finalization (#2260)** (ac7248a)
- **once reduce mode (#2259)** (675b456)
- **recover from poisoned config locks (#2258)** (ce57c1b)
- **queue-based Python actor dispatching (#2278)** (158ef35)
- **config parameterization for pytests (#2277)** (5a4844d)
- **PyMPSC (#2276)** (ad64be6)
- **PyWaker (#2275)** (a3b3a07)
- **Have ActorMeshRef unsubscribe from the controller if it encounters an error (#2311)** (bf0149b)
- **rand: Upgrade 0.8 to 0.9, batch 16/N (#2324)** (7c84cf6)
- **context().actor_instance.abort() (#2289)** (e3fe22e)
- **implement run_spmd command (#2266)** (201f3f0)
- **Swallow exception from Job.kill for unrunnable cached jobs (#2312)** (fda3588)
- **lints (#2317)** (f31dbfb)
- **fbcode/monarch/python/monarch/controller/backend.py (#2303)** (e655ab9)
- **python: tests: test inter-mesh ping pong (python version) (#2301)** (83a44ee)
- **crate of algebraic abstractions 1/N (#2295)** (29cdd7b)
- **remove convert_case_10 & upgrade convert_case to 0.10.0 (#2288)** (43f7f5b)
- **fbcode/monarch/python/tests/rdma_load_test.py (#2293)** (6c97a73)
- **Spawning actors doesn't require blocking on proc mesh initialization (#2220)** (0e60943)
- **Refactoring: extract some methods out of CommActor::handle_message (#2290)** (f4640f0)
- **algebra: last-writer-wins register lattice (#2281)** (35a58b4)
- **Further fixes to test_actor_error.py (#2292)** (dabde6f)
- **Re-enable test_actor_error.py on Github CI (#2242)** (78609a7)
- **Updating Dockerfile for the latest pytorch base image. (#2284)** (3624774)
- **python/tests: test_alloc: improve test_alloc_basic (#2274)** (a933901)
- **shutdown panic resilience (#2282)** (ac2cdd6)
- **apply Black 25.11.0 style in fbcode (73/92)** (2143ef1)
- **Plumbing: require context when sending messages from handles (#1376)** (1434ad3)
- **release the GIL during blocking shutdown (#2273)** (ac74999)
- **Sync-ify crawler example (#2272)** (3a8e843)
- **Avoid incidentally using async in our examples (#2271)** (4512acd)
- **move macro re-exports into their own submodule (#2269)** (a3cd35d)
- **update book (#2267)** (d5e87fc)
- **Rename SupervisionFailureMessage -> MeshFailure (#2231)** (a10bc51)
- **actor_mesh: make supervision liveness timeout configurable** (6cac8f6)
- **proc_mesh: mesh_agent: ReconfigurableMailboxSender improvements (#2255)** (3c9bc5f)
- **host: typestate-ish refactor for ready procs (#2249)** (1186136)
- **Export KubernetesJob from separate module (#2251)** (4c977a1)
- **Move supervision monitor to controller actor (#2157)** (6bcbe94)
- **Temporarily disable exporting KubernetesJob (#2248)** (6c4226b)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/meta-pytorch/monarch?utm_source=github-action)._