Hacktoberfest is over, Spring cleaning is underway in the Southern Hemisphere, and the Northern Hemisphere is welcoming in the fall leaves. Before we know it, it'll be Christmas! But let's not get ahead of ourselves, and instead, celebrate some awesome open source projects. There's everything from fun side hustles, to groundbreaking technology. Let's take a look at this month's Release Radar; a roundup of the open source projects that have shipped major version updates.
Pillow 11.0
One problem when it comes to images and coding, is computer programs don't read images in the same way as code (ie. text). Instead, images need to be converted or interpreted. That's where Pillow comes in. It's an image processing library for Python interpreters, with extensive file support. The latest update drops support for EOL Python 3.8, now only supporting Python 3.12 or later. The Pillow C API is now faster, resulting in the removal of PyAccess, and only using PyPy. There's also support for WebP 0.5 as a minimum and internal PSFile class has been removed. Check out all the changes in the Pillow release notes.
The Python Imaging Library adds image processing capabilities to your Python interpreter.
This library provides extensive file format support, an efficient internal representation, and fairly powerful image processing capabilities.
The core image library is designed for fast access to data stored in a few basic pixel formats. It should provide a solid foundation for a general image processing tool.
Don't look this one in the eye, it's a flexible commerce platform. Medusa is a set of commerce modules and tools, allowing users to build rich, reliable, and performant commerce applications without reinventing core commerce logic. The latest update brings a modularized architecture, a complete Admin redesign, new commerce features, new starter templates, and a built-in framework for customizations. Read up on the Medusa changelog to dig into all the changes.
ContribHub
Not GitHub, ContribHub, a place for all developers to find their next challenge. ContribHub helps you find projects using filters such as language, stars, the types of contributors the project is looking for, and the industry. You can even sort by projects that are specifically accepting contributions for an event, such as Hacktoberfest. This project was built for Hacktoberfest, so congrats on your first ship 🎉.
Next.js 15.0
From Vercel, Next.js is a framework for building full-stack web applications. It extends the capabilities of React, and integrates Rust-based JavaScript. The latest changes includes hundreds updates, fixes, new features, added options and scripts, removal of some configs, updates to documentation, and lots more. If you have half an hour to read through the full changelog, check it out or why not try having GitHub Copilot on the web write a summary for you?!
Electron 33.0
One of the most loved frameworks around is Electron. It's used for writing cross-platform desktop applications. The latest release brings you navigationHistory extensions, a new handler for unlocking a cryptographic device, plenty of bug fixes, removal of some support, and some deprecated properties in favour of others. If you're an Electron user, check out the release notes so you're up to date.
mitmproxy 11.0
Featured in the GitHub Release Radars for October 2022, March 2022, and the launch of version 1.0 back in July 2021, mitmproxy has become a loved project with almost 40K Stars. It's an interactive, SSL/TLS-capable intercepting proxy with a console interface for HTTP/1, HTTP/2, and WebSockets. The newest update supports transparent HTTP/3 proxying, added support for Python 3.13, and lots more. Check out the changelog for all the details.
Pulsar 4.0
From Apache, here's Pulsar, a distributed pub-sub messaging platform with a flexible messaging model, and an intuitive client API. The latest version brings enhanced Key_Shared subscription implementation, secure Docker runtime based on Alpine Linux and Java 21, rate limiting, enhanced client compatibility, and more. Check out the release notes to read more about all the changes since the last release.
🤗 Accelerate 1.0
Part of the Hugging Face course, 🤗 Accelerate is a library created for PyTorch users who want to write training loops for PyTorch models. 🤗 Accelerate uses only the boilerplate code, so the rest of your code can remain unchanged. You can now run your Python scripts on any kind of device. Congrats to the team on shipping version 1.0 🥳.
🚀 A simple way to launch, train, and use PyTorch models on almost any device and distributed configuration, automatic mixed precision (including fp8), and easy-to-configure FSDP and DeepSpeed support
Run your *raw* PyTorch training script on any kind of device
Easy to integrate
🤗 Accelerate was created for PyTorch users who like to write the training loop of PyTorch models but are reluctant to write and maintain the boilerplate code needed to use multi-GPUs/TPU/fp16.
🤗 Accelerate abstracts exactly and only the boilerplate code related to multi-GPUs/TPU/fp16 and leaves the rest of your code unchanged.
Here is an example:
import torch
import torch.nn.functional as F
from datasets import load_dataset
+ from accelerate import Accelerator+ accelerator = Accelerator()- device = 'cpu'+ device = accelerator.device
model = torch.nn.Transformer().to(device)
optimizer = torch.optim.Adam(model.parameters())
dataset = load_dataset('my_dataset')
data = torch.utils.data.DataLoader(dataset, shuffle=True)
+ model, optimizer, data = accelerator.prepare(model, optimizer, data)
model.train()
for epoch in range(10):
for source, targets in data:
source = source.to(device)
targets = targets.to(device)
optimizer.zero_grad()
output = model(source)
loss = F.cross_entropy(output, targets)
- loss.backward()+ accelerator.backward(loss)
optimizer.step()
Well AI is the new blockchain, but that doesn't mean blockchain is dead. Bitcoin is here with a new release of Bitcoin Core. Bitcoin Core connects to the Bitcoin network to download and fully validate blocks and transactions. The project includes a wallet and graphical user interface. The latest update includes new features such as support for Testnet4, policy changes, updates to RPCs and REST APIs, detection of wallet transactions when they conflict with the mempool, and lots more. Read up on all the changes in the Bitcoin release notes.
Stripe
Sorry to disappoint, but Stripe is not an open source project, nor is it a major release. The reason it's here is because Stripe just shipped a bunch of updates for their open source projects. Someone must have been doing some spring cleaning 🧹 - or is it fall cleaning in the Northern Hemisphere 🤔? Whatever is it, Stripe have a tonne of new updates for you including Stripe .NET 47.0, Stripe Node 17.0, Stripe PHP 16.0, Stripe Ruby 13.0, and Stripe Python 11.0. Each of these is a library for accessing Stripe's API from applications written in .NET, Node.js, PHP, Ruby, and Python respectively. These are all updates based on changes to the Stripe API and SDK. Click on each one to check out their breaking changes.
Release Radar October
Well, that’s all for this edition. Thanks to everyone who submitted a project to be featured. We loved reading about the great things you're all working on. Whether your project is featured here or not, congratulations to everyone who shipped a new release 🎉, regardless of whether you shipped your project's first version, or you launched 47.0.