Generate qmm implementaions with cmake by @zcbenz in https://github.com/ml-explore/mlx/pull/3424
Enable swap for all CI building CUDA by @zcbenz in https://github.com/ml-explore/mlx/pull/3437
Bump minor by @angeloskath in https://github.com/ml-explore/mlx/pull/3438
[CUDA] Fix qmm_naive K-tail dispatch for FP quantized kernels by @Lyxot in https://github.com/ml-explore/mlx/pull/3445
Keep gguflib input-validation asserts active in release builds by @qflen in https://github.com/ml-explore/mlx/pull/3436
Reuse nightly build's ccache for release by @zcbenz in https://github.com/ml-explore/mlx/pull/3458
Add barrier to JACCL by @Isalia20 in https://github.com/ml-explore/mlx/pull/3459
Add determinant and sign-log-determinant functions to mlx.core.linalg by @abhilashreddys in https://github.com/ml-explore/mlx/pull/3416
Define ST_F8_E8M0 by @pcuenca in https://github.com/ml-explore/mlx/pull/3448
Clearer error when shape dimension overflows int32 by @serenposh in https://github.com/ml-explore/mlx/pull/3425
[CUDA] Fix half type matmul in cutlass kernels by @zcbenz in https://github.com/ml-explore/mlx/pull/3469
Fix indexing bug in slice update with op by @angeloskath in https://github.com/ml-explore/mlx/pull/3483
Make device_count() return 0 when there is no GPU by @zcbenz in https://github.com/ml-explore/mlx/pull/3486
Compute contiguity from the actual occupied data by @sofinvalery in https://github.com/ml-explore/mlx/pull/3475
Do not use prebuilt cpu compile preamble when headers are installed by @zcbenz in https://github.com/ml-explore/mlx/pull/3463
[CUDA] Separate main loop into a function in qmm by @zcbenz in https://github.com/ml-explore/mlx/pull/3443
test: Upcast the random numbers before computing their average by @sofinvalery in https://github.com/ml-explore/mlx/pull/3488
Pass deployment target when linking metallib by @dhiltgen in https://github.com/ml-explore/mlx/pull/3501
Fix rope single token multiple sequences by @angeloskath in https://github.com/ml-explore/mlx/pull/3498
Fix qvm_split_k incorrect batch stride calculation by @angeloskath in https://github.com/ml-explore/mlx/pull/3497
Fix scatter_prod GPU hang on NaN with contention by @tillahoffmann in https://github.com/ml-explore/mlx/pull/3492
[jaccl] Fix race on local_staging in MeshImpl::all_reduce by @kernelpool in https://github.com/ml-explore/mlx/pull/3451
Add MLX_SDPA_BLOCKS env var for 2-pass vector kernel block-count override by @adurham in https://github.com/ml-explore/mlx/pull/3455
mlx launch clean by @nastya236 in https://github.com/ml-explore/mlx/pull/3513
[CUDA] Fix gather_mm by @zcbenz in https://github.com/ml-explore/mlx/pull/3503
[CUDA] Guard qmm_naive scale and bias loads at tile boundaries by @Lyxot in https://github.com/ml-explore/mlx/pull/3509
win: fix cuda build by @dhiltgen in https://github.com/ml-explore/mlx/pull/3532
Improve DLPack-compatible array imports by @XXXXRT666 in https://github.com/ml-explore/mlx/pull/3495
Apply the same thread-local approach to the CPU by @angeloskath in https://github.com/ml-explore/mlx/pull/3537
removed automatic prepending python in mlx launch by @nastya236 in https://github.com/ml-explore/mlx/pull/3536
ci: Show stack trace on crash by @zcbenz in https://github.com/ml-explore/mlx/pull/3538
Handle non-multiple-of-8 spatial dims in depthwise conv2d Metal path by @qflen in https://github.com/ml-explore/mlx/pull/3446
Remove reference to groups in Conv3D extra_repr by @GriffinMB in https://github.com/ml-explore/mlx/pull/3559
Add buffer caching to no_gpu CPU allocator by @dhiltgen in https://github.com/ml-explore/mlx/pull/3554
Fix steel GEMM safe load offset by @sofinvalery in https://github.com/ml-explore/mlx/pull/3560
Fix singleton lifetime issues at process exit by @dhiltgen in https://github.com/ml-explore/mlx/pull/3555
Fix doubled-word typos in docstrings by @LeSingh1 in https://github.com/ml-explore/mlx/pull/3561
Fix off_x/off_y typo in steel BaseMMAFrag::load_safe by @mdegans in https://github.com/ml-explore/mlx/pull/3565
Synchronize no-GPU cache eviction with CPU streams by @dhiltgen in https://github.com/ml-explore/mlx/pull/3566
Add JIT compiler support for Windows by @dhiltgen in https://github.com/ml-explore/mlx/pull/3556
[Metal] Reject tensor-scale nvfp4 in qqmm by @Brooooooklyn in https://github.com/ml-explore/mlx/pull/3551
Detect int32 shape-product overflow at MLX compute-shape boundaries by @qflen in https://github.com/ml-explore/mlx/pull/3524
Add copy keyword to mx.asarray by @eyupcanakman in https://github.com/ml-explore/mlx/pull/3510
Fix typos in backend code comments by @adityasingh2400 in https://github.com/ml-explore/mlx/pull/3581
Implement output_shapes for GatherMM and GatherQMM by @dexwritescode in https://github.com/ml-explore/mlx/pull/3485
Fix activation docstring math in log_softmax and gelu_approx by @adityasingh2400 in https://github.com/ml-explore/mlx/pull/3590
docs: expose missing Python APIs by @XXXXRT666 in https://github.com/ml-explore/mlx/pull/3598
Fix CUDA all-reduce planning for large inputs by @sofinvalery in https://github.com/ml-explore/mlx/pull/3603
Use uv in macOS CI by @zcbenz in https://github.com/ml-explore/mlx/pull/3491
Fix HDRS_LIST building when paths in header inclusion tree include spaces by @lancelotblanchard in https://github.com/ml-explore/mlx/pull/3607
Enable the Metal backend by default on iOS by @eyupcanakman in https://github.com/ml-explore/mlx/pull/3617
Fix int32 overflow in matvec row offset and gather-MM batch stride by @aicayzer in https://github.com/ml-explore/mlx/pull/3609
Fix signed-integer overflow (UB) in roll and tile shape arithmetic by @devYRPauli in https://github.com/ml-explore/mlx/pull/3604
Fix complex VJPs for log and exp by @CameronChurchwell in https://github.com/ml-explore/mlx/pull/3605
added env variables to propagate width by @nastya236 in https://github.com/ml-explore/mlx/pull/3618
Correct p-norm computation in triplet_loss by @pchintar in https://github.com/ml-explore/mlx/pull/3613
Fix threaded compile cache cleanup by @lucasnewman in https://github.com/ml-explore/mlx/pull/3628
Handle invalid dimensions in SinusoidalPositionalEncoding by @pchintar in https://github.com/ml-explore/mlx/pull/3615
Correct grammatical typo in label smoothing ValueError by @madhav1k in https://github.com/ml-explore/mlx/pull/3641
Roll back compile cache entry when the first trace throws by @adityasingh2400 in https://github.com/ml-explore/mlx/pull/3635
Raise on arange with step == 0 instead of undefined behavior by @devYRPauli in https://github.com/ml-explore/mlx/pull/3640
Fix data race in tracing state by making it thread-local by @aicayzer in https://github.com/ml-explore/mlx/pull/3638
Add missing break in bool_ switch case that would result in falling through to the uint8_t case by @psolanki in https://github.com/ml-explore/mlx/pull/3655
Fix axis param in nll_loss by @ishtihoss in https://github.com/ml-explore/mlx/pull/3651
Fix Adafactor factored update for params with more than 2 dims by @ishtihoss in https://github.com/ml-explore/mlx/pull/3652
Emit valid kernel source for non-finite float constants by @tillahoffmann in https://github.com/ml-explore/mlx/pull/3648
Validate inputs in GroupNorm and InstanceNorm by @ishtihoss in https://github.com/ml-explore/mlx/pull/3653
Fix flaky test_siblings_without_eval by @zcbenz in https://github.com/ml-explore/mlx/pull/3621
Fix intermittent wrong bias gradient in fast::layer_norm VJP (Metal WAR hazard) by @tillahoffmann in https://github.com/ml-explore/mlx/pull/3630
NAX requires setting MACOSX_DEPLOYMENT_TARGET=26.2 by @zcbenz in https://github.com/ml-explore/mlx/pull/3622
Catch error in CommandBuffer and poison the events by @zcbenz in https://github.com/ml-explore/mlx/pull/3523
[Improvement] CopyType::Vector in concatenate if axis=0 and contiguous by @nastya236 in https://github.com/ml-explore/mlx/pull/3663
Fix Q4_1 GGUF loading by @ricky-chaoju in https://github.com/ml-explore/mlx/pull/3664
Fix tree_map_with_path for namedtuples by @chrismicah in https://github.com/ml-explore/mlx/pull/3674
Fix gather_qmm NAX kernel name mismatch by @scyyh11 in https://github.com/ml-explore/mlx/pull/3632
Add bits and smallest_normal to finfo by @katlun-lgtm in https://github.com/ml-explore/mlx/pull/3679
Fix use-after-free when a custom Metal kernel is called with different dtypes in one graph by @discobot in https://github.com/ml-explore/mlx/pull/3662
Fix dimension count in orthogonal initializer error message by @Pablosinyores in https://github.com/ml-explore/mlx/pull/3693
fix grid for large uncontiguous input by @nastya236 in https://github.com/ml-explore/mlx/pull/3666
Ignore numpy matmul warnings in test_blas by @zcbenz in https://github.com/ml-explore/mlx/pull/3657
Fix repeat zero axis shape by @chrismicah in https://github.com/ml-explore/mlx/pull/3698
Cache JIT-compiled CUDA kernels by @zcbenz in https://github.com/ml-explore/mlx/pull/3587
[CUDA] JIT-compile qmm_naive by @zcbenz in https://github.com/ml-explore/mlx/pull/3576
Support namedtuple and tuple subclasses in tree_merge by @Pablosinyores in https://github.com/ml-explore/mlx/pull/3703
Fix mx.sort vjp to transpose the permutation by @obchain in https://github.com/ml-explore/mlx/pull/3700
Add isdtype, result_type, and can_cast by @katlun-lgtm in https://github.com/ml-explore/mlx/pull/3681
[fix] allow exporting custom Metal kernels without a Metal backend by @xthomaswang in https://github.com/ml-explore/mlx/pull/3650
Make step activation inclusive at the threshold by @Pablosinyores in https://github.com/ml-explore/mlx/pull/3694
Add new_thread_unsafe_stream API by @zcbenz in https://github.com/ml-explore/mlx/pull/3578
Fix JVPs of power, divmod, and slice_update with partly traced inputs by @qflen in https://github.com/ml-explore/mlx/pull/3636
Add flip and unstack by @katlun-lgtm in https://github.com/ml-explore/mlx/pull/3683
Fix int16 overflow in NAX qmm edge-tile bounds by @scyyh11 in https://github.com/ml-explore/mlx/pull/3631
Make gemv JIT compilable by @angeloskath in https://github.com/ml-explore/mlx/pull/3705
Fix gaussian_nll_loss documented default reduction (none -> mean) by @Pablosinyores in https://github.com/ml-explore/mlx/pull/3715
Fix optimizer epsilon validation message and AdaDelta eps doc by @Pablosinyores in https://github.com/ml-explore/mlx/pull/3712
Add array API standard aliases for existing ops by @katlun-lgtm in https://github.com/ml-explore/mlx/pull/3678
Fix ConvTranspose kernel size repr by @ishtihoss in https://github.com/ml-explore/mlx/pull/3724
[CUDA] Disable managed memory on Tegra by @gmondada in https://github.com/ml-explore/mlx/pull/3701
Update nanobind to 2.13.0 by @XXXXRT666 in https://github.com/ml-explore/mlx/pull/3722
Fix JVPs of select, arctan2, masked_scatter, and bitwise ops by @qflen in https://github.com/ml-explore/mlx/pull/3633
array API: add empty, empty_like (pure aliases), astype, matrix_transpose by @katlun-lgtm in https://github.com/ml-explore/mlx/pull/3729
Add metal::set_metallib_path() to override the metallib search path by @olilarkin in https://github.com/ml-explore/mlx/pull/3597
Add Metal DLPack zero-copy sharing by @XXXXRT666 in https://github.com/ml-explore/mlx/pull/3531
Bump actions/checkout from 6 to 7 by @dependabot[bot] in https://github.com/ml-explore/mlx/pull/3741
Fix shapeless compile eliding reductions over size-1 dimensions by @discobot in https://github.com/ml-explore/mlx/pull/3672
[CUDA] JIT-compile qmm_sm80/qmm_sm90/gather_gemm by @zcbenz in https://github.com/ml-explore/mlx/pull/3706
[CUDA] Make qmv support global scale by @zcbenz in https://github.com/ml-explore/mlx/pull/3723
Add VJP for cumulative max and min scans by @devin-lai in https://github.com/ml-explore/mlx/pull/3599
Fix abs jvp for complex inputs by @obchain in https://github.com/ml-explore/mlx/pull/3745
Fix update_modules crash on over-length module lists by @Pablosinyores in https://github.com/ml-explore/mlx/pull/3743
Add matrix_norm to array API namespace by @wgu9 in https://github.com/ml-explore/mlx/pull/3749
Guard scatter_axis against 64-bit outputs on the GPU by @obchain in https://github.com/ml-explore/mlx/pull/3695
Fix build on Apple clang 15 in cpu_nd_array_to_mlx by @obchain in https://github.com/ml-explore/mlx/pull/3751
metal: cache x in registers in rms_single_row to avoid redundant global read by @will-march in https://github.com/ml-explore/mlx/pull/3754
Document row-wise sparsity in nn.init.sparse by @Pablosinyores in https://github.com/ml-explore/mlx/pull/3752
[CUDA] [Improvement] Rope without copy by @nastya236 in https://github.com/ml-explore/mlx/pull/3704
Add small-batch quantized matvec kernel (qmv_wide) by @jessegross in https://github.com/ml-explore/mlx/pull/3764
Fix docstring nits by @ishtihoss in https://github.com/ml-explore/mlx/pull/3758
Fix logsumexp jvp to reduce along the axis by @obchain in https://github.com/ml-explore/mlx/pull/3708
Add vecdot to array API namespace by @wgu9 in https://github.com/ml-explore/mlx/pull/3748
Fix CPU dynamic slice copy bound for collapsed shapes by @Lyxot in https://github.com/ml-explore/mlx/pull/3739
Enable fused SDPA vector kernel for asymmetric Q/V head dims (192, 128) by @yohann-bearzi in https://github.com/ml-explore/mlx/pull/3637
array API: add positive, logical_xor, trunc, count_nonzero, diff, full_like by @katlun-lgtm in https://github.com/ml-explore/mlx/pull/3730
array API: add cumulative_sum and cumulative_prod by @katlun-lgtm in https://github.com/ml-explore/mlx/pull/3731
Fix complex vjps for several unary ops by @obchain in https://github.com/ml-explore/mlx/pull/3766
Fix Upsample align_corners singleton output by @ishtihoss in https://github.com/ml-explore/mlx/pull/3769
Add CI for Windows CUDA build by @zcbenz in https://github.com/ml-explore/mlx/pull/3775