Skip to content

Releases: ml-explore/mlx-swift

0.30.6

10 Feb 18:25
6ba4827

Choose a tag to compare

Update to mlx 0.30.6:

Important:

What's Changed

New Contributors

Full Changelog: 0.30.3...0.30.6

0.30.3

22 Jan 20:39
4dccaed

Choose a tag to compare

What's Changed

  • Fix race condition in clearCache causing Metal crash by @aleroot in #331
  • Adopt opaque parameters by @AppAppWorks in #291
  • add xcodeproj as a build method by @davidkoski in #289
  • fix many documentation disambiguation warnings by @davidkoski in #333
  • Add RoPE array-offset overload (prep for continuous batching) by @ronaldmannak in #305
  • mlx MultiHeadAttention now uses fast.SDPA by @davidkoski in #334
  • Fix race condition during the tracing phase of automatic differentiation (vjp, value_and_grad) by @aleroot in #338
  • guard compile and vmap tracing calls by @davidkoski in #339
  • synchronize MLXNN code with python implementation by @davidkoski in #340
  • Add hook for Modules that need finer grained control on validating missing parameters by @davidkoski in #336

New Contributors

Full Changelog: 0.30.2...0.30.3

0.30.2

09 Jan 00:19
f58bd2c

Choose a tag to compare

Note: tag 0.30.1 was cut but had a merge/build issue -- that is no longer marked as a release. See #329

What's Changed

New Contributors

Full Changelog: 0.29.1...0.30.2

0.29.1

16 Oct 18:14
072b684

Choose a tag to compare

Integrate mlx 0.29.1

NOTE

This change contains some breaking API changes in the area of quantization. Specifically:

  • the quantized / dequantized methods now take a mode parameter (not breaking)
  • the biases result from quantized is now optional, e.g. (wq: MLXArray, scales: MLXArray, biases: MLXArray?)

We are keeping the same semver here to match with python mlx. Although the change is breaking, it will likely be limited to implementations of quantized layers, e.g. QuantizedLinear, or other code that uses quantization directly. mlx-swift-examples will have a synchronized release to reflect this change.

If you need to make a similar change, consider the changes from QuantizedLinear:

The properties changed from this:

    public let scales: MLXArray
    public let biases: MLXArray

to:

    public let mode: QuantizationMode
    public let scales: MLXArray
    public let biases: MLXArray?

A mode with parameter with a default value was added where needed: mode: QuantizationMode = .affine and the mode parameter was used in calls to the quantization APIs:

        var x = quantizedMatmul(
            x,
            weight,
            scales: scales,
            biases: biases,
            transpose: true,
            groupSize: groupSize,
            bits: bits,
            mode: mode
        )

and the Quantizable protocol was updated to have a mode parameter (protocol methods can't have default values):

    /// Return the module as a quantized representation
    func toQuantized(groupSize: Int, bits: Int, mode: QuantizationMode) -> Module

What's Changed

New Contributors

Full Changelog: 0.25.6...0.29.1

0.25.6

14 Jul 22:42
96c0f69

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 0.25.5...0.25.6

0.25.5

24 Jun 20:01
b79c74c

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 0.25.4...0.25.5

0.25.4

02 Jun 15:22
b94473a

Choose a tag to compare

What's Changed

Full Changelog: 0.25.3...0.25.4

0.25.3

16 May 23:39
d3f89b1

Choose a tag to compare

What's Changed

  • update README and examples by @davidkoski in #232
  • manage object lifetime in the face of more aggressive inlining and optimizations by @davidkoski in #239
  • if no error handler set produce a fatal error (like the default used to be) by @davidkoski in #238

Full Changelog: 0.25.2...0.25.3

0.25.2

07 May 23:11
a8f7411

Choose a tag to compare

What's Changed

Full Changelog: 0.25.1...0.25.2

0.25.1

02 May 17:03
5976316

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 0.23.1...0.25.1