# MufiZ v0.6.0 Released!

I am happy to announce the next release of MufiZ, the Mars release. It brings massive changes and is an exciting new release that shows how much we can improve the language.

# **Release Notes for Mars (0.6.0)**

* Started on February 21st 2024.
    
* Released on April 23rd 2024.
    

## **New Features**

* Added support for `Matrix` data type.
    
* Added support for `FVector` data type.
    
    * This data type is a fixed array of floating point numbers that is able to use SIMD instructions.
        
    * This data type is used to represent vectors in 3D space.
        
* Added network support via being able to send CRUD requests.
    
    * This is able to be done using native Zig networking.
        
* Added exponent token `^`
    
* Proper random number generation with either uniform or normal distribution.
    

## **Other Changes**

* Lots of code cleanup and added more documentation.
    
* More functionality in the language with added builtin functions.
    
* Updated to `v0.8.0` of `clap` for the CLI.
    
* Added features to optionally disable networking and filesystem access, and to enable sandboxing (REPL only).
    
* Optimize your code with the new `FVector` data type, which can perform operations 3x faster than the `Array` data type.
    
* Updated `what_is` function to be able to identify any Object type.
    
* Updated `build_multi` to use the Zig build system instead of a Python script which would have caching conflicts. Using a seperate Python script for packaging the binaries.
    
* Adding support for package managers like `apt` and `scoop` to install MufiZ.
    
* Switched from using `FNV-1a` to `xxhash64` for hashing.
    
    * Will do a benchmark in the future to test the performance between `fnv1a`, `cityhash64` and `xxhash64`.
        
* Switched to building targets: `arm-linux` on Debug optimization due to an LLD issue.
    
* Added `x86` target support.
    

## **Added Builtin Functions**

### **Math**

* `rand()`: Generate a random number between 0 and 1.
    
* `randn()`: Generate a random number with a normal distribution.
    

### **Networking**

* `get_req()`: Send a GET request to a server.
    
* `post_req()`: Send a POST request to a server.
    
* `put_req()`: Send a PUT request to a server.
    
* `del_req()`: Send a DELETE request to a server.
    

### **Collections**

* `matrix()`: Create a matrix with the given dimensions.
    
* `fvec()`: Create a vector with the given size or array.
    
* `linspace()`: Create a float vector of evenly spaced numbers.
    
* `slice()`: Get a subarray of an array.
    
* `splice()`: Remove a subarray from an array.
    
* `sum()`: Get the sum of a list.
    
* `mean()` Get the mean of a list.
    
* `std()` Get the standard deviation of a list.
    
* `var()` Get the variance of a list.
    
* `maxl()` Get the maximum value of a list.
    
* `minl()` Get the minimum value of a list.
    
* `workspace()`: Prints all global variables.
    
* `interp1()`: Linear interpolation between two points.
    
* `dot()`: Get the dot product of two vectors.
    
* `cross()`: Get the cross product of two vectors.
    
* `norm()`: Get the norm of a vector.
    
* `proj()`: Get the projection of one vector onto another.
    
* `reflect()`: Get the reflection of one vector off another.
    
* `reject()`: Get the rejection of one vector off another.
    
* `refract()`: Get the refraction of one vector through another.
    
* `angle()`: Get the angle between two vectors.
    
* `set_row()`: Set a row in a matrix.
    
* `set_col()`: Set a column in a matrix.
    
* `set()`: Set a value in a matrix.
    
* `kolasa()`: Get the Kolasa matrix
    
* `rref()`: Get the reduced row echelon form of a matrix.
    
* `rank()`: Get the rank of a matrix.
    
* `det()`: Get the determinant of a matrix.
    
* `transpose()`: Get the transpose of a matrix.
    
* `lu()`: Get the LU decomposition of a matrix.
    

## **Removals**

* Removed `snap` packaging support
    
* Removed `wasm32-wasi` target in `build_multi.zig` script, can still be built from source with:
    
    * `zig build -Doptimize=ReleaseSmall -Dtarget=wasm32-wasi -Denable_fs=false -Denable_net=false -Dsandbox=true`
        

Check Out the Release at \[Github\]([https://github.com/Mustafif/MufiZ/releases/tag/v0.6.0](https://github.com/Mustafif/MufiZ/releases/tag/v0.6.0)) today!
