# libraries

Published articles for libraries.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Starting Android at Khan Academy

DevFeed: [Starting Android at Khan Academy](<https://devfeed.tech/articles/starting-android-at-khan-academy-27408.md>)

Original publisher: [Read original article](<http://engineering.khanacademy.org/posts/starting-android.htm>)

Author: Khan Academy

Published: 2016-02-29T23:00:00Z

Content type: article

Language: en

Sources: [Khan Academy](<https://devfeed.tech/sources/khan-academy.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [android-development](<https://devfeed.tech/topics/android-development.md>), [Development](<https://devfeed.tech/topics/development.md>), [Library](<https://devfeed.tech/topics/library.md>), [modules](<https://devfeed.tech/topics/modules.md>), [ci](<https://devfeed.tech/topics/ci.md>), [Mocking](<https://devfeed.tech/topics/mocking.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [development](<https://devfeed.tech/tags/development.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [mocking](<https://devfeed.tech/tags/mocking.md>), [module](<https://devfeed.tech/tags/module.md>), [modules](<https://devfeed.tech/tags/modules.md>), [news](<https://devfeed.tech/tags/news.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [picasso](<https://devfeed.tech/tags/picasso.md>), [play-store](<https://devfeed.tech/tags/play-store.md>), [pre-commit](<https://devfeed.tech/tags/pre-commit.md>), [retrofit](<https://devfeed.tech/tags/retrofit.md>), [test](<https://devfeed.tech/tags/test.md>), [tests](<https://devfeed.tech/tags/tests.md>)

### AI overview

Khan Academy describes its first Android app, launched in August 2015, and the engineering practices used to build it. The team adopted established Android and open-source libraries, separated Android-independent core code from the app module, and used fast JVM tests and continuous integration.

### Source excerpt

By Ben Komalo The journey of a thousand miles... In March, 2015--almost 1 year ago to the day--we ... Read more

## Swift 6.4 Released

DevFeed: [Swift 6.4 Released](<https://devfeed.tech/articles/swift-6-4-released-26971.md>)

Original publisher: [Read original article](<https://swift.org/blog/swift-6.4-released/>)

Author: Holly Borla

Published: 2026-09-15T07:30:00Z

Content type: release

Language: en

Sources: [Swift.org](<https://devfeed.tech/sources/swift-org.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [cross-platform](<https://devfeed.tech/topics/cross-platform.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Memory Safety](<https://devfeed.tech/topics/memory-safety.md>), [WebAssembly](<https://devfeed.tech/topics/web-assembly.md>), [browser](<https://devfeed.tech/topics/browser.md>), [Microcontroller](<https://devfeed.tech/topics/microcontroller.md>)

Tags: [cross-platform](<https://devfeed.tech/tags/cross-platform.md>), [errors](<https://devfeed.tech/tags/errors.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [linux](<https://devfeed.tech/tags/linux.md>), [macos](<https://devfeed.tech/tags/macos.md>), [memory-safety](<https://devfeed.tech/tags/memory-safety.md>), [programming](<https://devfeed.tech/tags/programming.md>), [swift](<https://devfeed.tech/tags/swift.md>), [webassembly](<https://devfeed.tech/tags/webassembly.md>)

### AI overview

Swift 6.4 is now available with Swift Build as the default in Swift Package Manager, a stable cross-platform Subprocess API, expanded C++20 and Java interoperability, faster WebAssembly support, broader embedded Swift capabilities, and performance improvements that maintain memory safety.

### Source excerpt

Swift 6.4 is now available. Swift aims to be a great choice across the stack, from apps and servers to systems code, embedded devices, and the browser. This release deepens that support, and makes everyday code easier to write. Highlights include: Swift Build is now the default in Swift Package Manager, so your projects build the same way on Linux, macOS, and Windows. Subprocess reaches 1.0, a stable, cross-platform way to run and interact with other programs from Swift, from command-line tools to streaming processes. Interoperability reaches further, with Swift's Span now bridging directly with C++20's std::span, and Swift/Java interop extending its async and callback support. Swift runs faster in the browser, with WebAssembly bridging through JavaScriptKit up to 40 times faster, and the Wasm SDK available directly from Swift.org. Embedded Swift grows more capable, with support for existential types and richer error handling for microcontroller-class targets. Performance improves while maintaining memory safety, with new array types that hold non-copyable elements without copy-on-write overhead, and the new Iterable protocol for iterating without copies. There's so much more. Read on for a detailed guide to the new changes, or see the Swift Evolution dashboard for the full list of proposals in Swift 6.4. Simpler and clearer code Swift 6.4 streamlines your day-to-day programming to make your code simpler and clearer. More natural optional some and any types. When writing an optional some or any type, you no longer have to wrap the type in parentheses. Instead of (some Rocket)?, you can simply write some Rocket? (SE-0521). Source-level control over compiler warnings. When you need to control the behavior of warnings in your project, such as suppressing warnings or promoting them to errors, you can now define the warning behavior directly in your code using the new @diagnose attribute (SE-0522). Clarify which API to use when multiple libraries conflict. When multiple

## Using modern-web-types to add newer web API types to TypeScript

DevFeed: [Using modern-web-types to add newer web API types to TypeScript](<https://devfeed.tech/articles/modern-web-types-29516.md>)

Original publisher: [Read original article](<https://philipwalton.com/articles/modern-web-types/>)

Published: 2026-09-14T07:22:45Z

Content type: tutorial

Language: en

Sources: [Philip Walton](<https://devfeed.tech/sources/philip-walton.md>)

Topics: [TypeScript](<https://devfeed.tech/topics/typescript.md>), [Web](<https://devfeed.tech/topics/web.md>), [Code](<https://devfeed.tech/topics/code.md>), [Library](<https://devfeed.tech/topics/library.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>), [view transitions](<https://devfeed.tech/topics/view-transitions.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [library](<https://devfeed.tech/tags/library.md>), [typescript](<https://devfeed.tech/tags/typescript.md>), [view-transitions](<https://devfeed.tech/tags/view-transitions.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

The article explains why TypeScript reports errors for newer web APIs that are available in Chrome: its built-in web API libraries require support from at least two browser engines. It introduces modern-web-types, a drop-in replacement using a single-engine support threshold, and describes how to install it for web and worker projects.

### Source excerpt

If you've ever written code against a new web API in TypeScript, you've probably seen an error telling you the thing you're using doesn't exist. Turns out, TypeScript intentionally doesn't support all new APIs, but there's an easy fix.

## September 09, 2026

DevFeed: [September 09, 2026](<https://devfeed.tech/articles/september-09-2026-22736.md>)

Original publisher: [Read original article](<https://developer.android.com/jetpack/androidx/versions/all-channel>)

Published: 2026-09-09T17:00:00Z

Content type: release

Language: en

Sources: [AndroidX Release Notes](<https://devfeed.tech/sources/androidx-release-notes.md>)

Topics: [Jetpack](<https://devfeed.tech/topics/jetpack.md>), [releases](<https://devfeed.tech/topics/releases.md>), [Release notes](<https://devfeed.tech/topics/release-notes.md>), [Compose](<https://devfeed.tech/topics/compose.md>), [Library](<https://devfeed.tech/topics/library.md>)

Tags: [benchmark](<https://devfeed.tech/tags/benchmark.md>), [compose](<https://devfeed.tech/tags/compose.md>), [jetpack](<https://devfeed.tech/tags/jetpack.md>), [latest-release](<https://devfeed.tech/tags/latest-release.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [lifecycle](<https://devfeed.tech/tags/lifecycle.md>), [navigation](<https://devfeed.tech/tags/navigation.md>), [release-notes](<https://devfeed.tech/tags/release-notes.md>), [room](<https://devfeed.tech/tags/room.md>), [security](<https://devfeed.tech/tags/security.md>), [sqlite](<https://devfeed.tech/tags/sqlite.md>), [tracing](<https://devfeed.tech/tags/tracing.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

This Android developer page lists AndroidX library components across four release channels and provides recent release dates and version information. It also links to component release histories, archived release notes, and the current versions page.

### Source excerpt

Activity Version 1.14.0-alpha02 Annotation Version 1.11.0-rc01 Benchmark Version 1.5.0 Car App Version 1.9.0-alpha02 Collection Version 1.7.0-alpha01 Compose Animation Version 1.12.1 Compose Animation Version 1.13.0-alpha03 Compose Foundation Version 1.12.1 Compose Foundation Version 1.13.0-alpha03 Compose Material Version 1.12.1 Compose Material Version 1.13.0-alpha03 Compose Material3 Version 1.5.0-alpha28 Compose Material3 Adaptive Version 1.4.0-alpha02 Compose Remote Version 1.0.0-alpha19 Compose Remote Foundation Version 1.0.0-alpha02 Compose Runtime Version 1.12.1 Compose Runtime Version 1.13.0-alpha03 Compose Ui Version 1.12.1 Compose Ui Version 1.13.0-alpha03 Core Uwb Version 1.1.0-alpha02 Credentials Providerevents Version 1.0.0-beta01 Datastore Version 1.3.0-alpha11 Emoji2 Version 1.7.0-rc01 Glance Adaptive Version 1.0.0-alpha02 Glance Wear Version 1.0.0-alpha18 Heifwriter Version 1.2.0-alpha02 Ink Version 1.1.0-alpha08 Lifecycle Version 2.12.0-alpha03 Mediarouter Version 1.9.0-alpha02 Navigation Version 2.10.1 Navigation3 Version 1.2.0-rc01 Room Version 2.8.5 Room3 Version 3.0.3 Room3 Version 3.1.0-alpha01 Savedstate Version 1.6.0-alpha03 Security Version 1.0.0 Security Version 1.1.0 Sqlite Version 2.7.1 Sqlite Version 2.8.0-alpha01 Tracing Version 2.0.2 Wear Compose Version 1.7.0-rc01 Wear Compose Remote Version 1.0.0-alpha11 Webkit Version 1.18.0-alpha01 Xr Arcore Version 1.0.0-rc01 Xr Glimmer Version 1.0.0-alpha19 Xr Projected Version 1.0.0-alpha12 Xr Runtime Version 1.0.0-rc01 Xr Runtime Version 1.1.0-alpha01 Xr Scenecore Version 1.0.0-rc01

## Consuming SKIE Flows in SwiftUI - Gustavo Fão Valvassori

DevFeed: [Consuming SKIE Flows in SwiftUI - Gustavo Fão Valvassori](<https://devfeed.tech/articles/consuming-skie-flows-in-swiftui-gustavo-fao-valvassori-38317.md>)

Original publisher: [Read original article](<https://touchlab.co/skie-swiftui>)

Published: 2026-08-29T00:00:00Z

Content type: tutorial

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Swift](<https://devfeed.tech/topics/swift.md>), [Extension](<https://devfeed.tech/topics/extension.md>)

Tags: [boilerplate](<https://devfeed.tech/tags/boilerplate.md>), [community](<https://devfeed.tech/tags/community.md>), [extensions](<https://devfeed.tech/tags/extensions.md>), [interop](<https://devfeed.tech/tags/interop.md>), [kmp](<https://devfeed.tech/tags/kmp.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [skie](<https://devfeed.tech/tags/skie.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>)

### AI overview

This tutorial explains how to consume Kotlin Flows in SwiftUI using SKIE. It covers enabling SKIE extensions in Gradle and collecting StateFlow values through an async collect approach, a modifier, or a view wrapper to reduce repetitive UI-layer code.

### Source excerpt

SKIE already makes the interop between Kotlin and Swift smooth, but SwiftUI adds a layer of complexity. We've included a series of extensions in SKIE to enable easy KMP usage from SwiftUI

## How to evaluate session replay software: a developer's guide

DevFeed: [How to evaluate session replay software: a developer's guide](<https://devfeed.tech/articles/how-to-evaluate-session-replay-software-a-developer-s-guide-24098.md>)

Original publisher: [Read original article](<https://blog.sentry.io/evaluate-session-replay-software/>)

Author: Lindsay Piper

Published: 2026-08-26T09:00:00Z

Content type: tutorial

Language: en

Sources: [Sentry Blog](<https://devfeed.tech/sources/sentry-blog.md>)

Topics: [session replay](<https://devfeed.tech/topics/session-replay.md>), [Playback](<https://devfeed.tech/topics/playback.md>), [sensitive data](<https://devfeed.tech/topics/sensitive-data.md>), [debugging](<https://devfeed.tech/topics/debugging.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>)

Tags: [debug](<https://devfeed.tech/tags/debug.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [developer](<https://devfeed.tech/tags/developer.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [guide](<https://devfeed.tech/tags/guide.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [mutation](<https://devfeed.tech/tags/mutation.md>), [playback](<https://devfeed.tech/tags/playback.md>), [privacy](<https://devfeed.tech/tags/privacy.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [sensitive-data](<https://devfeed.tech/tags/sensitive-data.md>), [session-replay](<https://devfeed.tech/tags/session-replay.md>), [tool](<https://devfeed.tech/tags/tool.md>), [ux](<https://devfeed.tech/tags/ux.md>)

### AI overview

A developer guide to evaluating session replay software by comparing recording methods, privacy architecture, error-monitoring integration, overhead, AI debugging compatibility, and mobile support. It distinguishes UX analytics tools from developer debugging tools and explains the tradeoffs between DOM snapshot recording and pixel capture.

### Source excerpt

Compare session replay tools on recording methodology, privacy architecture, integration depth, overhead, AI-readability, and mobile support

## Why We Wrote a New JWT Library for Kotlin Multiplatform

DevFeed: [Why We Wrote a New JWT Library for Kotlin Multiplatform](<https://devfeed.tech/articles/why-have-we-written-a-new-jwt-library-gustavo-fao-valvassori-38237.md>)

Original publisher: [Read original article](<https://touchlab.co/kjwt-intro>)

Published: 2026-08-07T00:00:00Z

Content type: article

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [JSON Web Tokens](<https://devfeed.tech/topics/jwt.md>), [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [Cryptography](<https://devfeed.tech/topics/cryptography.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Library](<https://devfeed.tech/topics/library.md>)

Tags: [authentication](<https://devfeed.tech/tags/authentication.md>), [authorization](<https://devfeed.tech/tags/authorization.md>), [community](<https://devfeed.tech/tags/community.md>), [cryptography](<https://devfeed.tech/tags/cryptography.md>), [jwt](<https://devfeed.tech/tags/jwt.md>), [kmp](<https://devfeed.tech/tags/kmp.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [library](<https://devfeed.tech/tags/library.md>), [open-source](<https://devfeed.tech/tags/open-source.md>)

### AI overview

The author explains how a security-focused Kotlin Multiplatform banking project led to research into cryptography and JWTs. After finding that JJWT was limited for cross-platform projects, they began developing a new JWT library as a personal open-source learning project.

### Source excerpt

Earlier this year, we silently started working on and published a new KMP library. The reason it exists serves as a good lesson on how to start contributing to the open-source community.

## C++ libraries linking

DevFeed: [C++ libraries linking](<https://devfeed.tech/articles/c-libraries-linking-22393.md>)

Original publisher: [Read original article](<https://www.red-lang.org/2026/07/c-libraries-linking.html>)

Author: Nenad Rakocevic (noreply@blogger.com)

Published: 2026-07-29T19:07:38Z

Content type: release

Language: en

Sources: [Red](<https://devfeed.tech/sources/red.md>)

Topics: [Red](<https://devfeed.tech/topics/red.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [toolchain](<https://devfeed.tech/topics/toolchain.md>)

Tags: [build](<https://devfeed.tech/tags/build.md>), [build-tools](<https://devfeed.tech/tags/build-tools.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [clang](<https://devfeed.tech/tags/clang.md>), [compilation](<https://devfeed.tech/tags/compilation.md>), [directx](<https://devfeed.tech/tags/directx.md>), [gcc](<https://devfeed.tech/tags/gcc.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [linux](<https://devfeed.tech/tags/linux.md>), [macos](<https://devfeed.tech/tags/macos.md>), [msvc](<https://devfeed.tech/tags/msvc.md>), [static-linking](<https://devfeed.tech/tags/static-linking.md>), [toolchain](<https://devfeed.tech/tags/toolchain.md>), [windows](<https://devfeed.tech/tags/windows.md>), [x86](<https://devfeed.tech/tags/x86.md>)

### AI overview

The Red toolchain now supports statically linking C++ libraries, including their runtime, on Windows, Linux, and macOS. It accepts libraries built with MSVC, GCC, or clang through the existing import system and compilation switch, with platform-specific prerequisites and constraints.

### Source excerpt

When we introduced static linking of C libraries, the promise was simple: name a .lib or .a archive in your #import, compile with -s, and ship one self-contained executable, no DLLs riding along, nothing to install on the target machine. There was one big frontier left, and everyone saw it coming: the libraries people want most (vision, GUI, audio, machine learning) are written in C++. A C++ library is a very different animal to link: it brings global constructors, exceptions, RTTI, templates, thread-local storage, and an entire language runtime that expects to be wired up just so. Until now, that was the line where you switched back to DLLs. That line is gone. The Red toolchain now statically links C++ libraries too (their runtime included) on every platform Red targets: Windows, Linux (x86 and ARM), and macOS. The best part: nothing changes. It is the same import system and same compilation switch: red -r -s myapp.red Libraries built with MSVC, GCC or clang are all accepted, in their native object formats. What you need preinstalled ➤ Windows: for C++ libraries (or C code built against Microsoft's static runtime), install the free Visual Studio Build Tools with the "Desktop development with C++" workload. Just one installer, and Red locates everything by itself: no vcvarsall, no PATH, no environment variables. Plain C libraries still need nothing at all and that now extends to C libraries touching COM, DirectX or MediaFoundation: the GUID constants such code references ship inside the toolchain, so a fresh Windows 11 with only red-toolchain executable on it links them! ➤ Linux: the GNU runtime archives from your distribution's gcc packages (libstdc++.a, libgcc.a and friends) placed next to your library. If one is missing, the linker names exactly what it needs. ➤ macOS: nothing beyond the toolchain; the system C++ runtime binds automatically. Some constraints 32-bit libraries for now, until the 64-bit toolchain is ready. The imported surface must be C (extern "C",

## Remote Asset Libraries

DevFeed: [Remote Asset Libraries](<https://devfeed.tech/articles/remote-asset-libraries-19186.md>)

Original publisher: [Read original article](<https://code.blender.org/2026/07/remote-asset-libraries/>)

Author: Julian Eisel

Published: 2026-07-22T12:26:48Z

Content type: release

Language: en

Sources: [Blender](<https://devfeed.tech/sources/blender.md>)

Topics: [Library](<https://devfeed.tech/topics/library.md>), [Self-hosted](<https://devfeed.tech/topics/self-hosted.md>), [Internet](<https://devfeed.tech/topics/internet.md>)

Tags: [download](<https://devfeed.tech/tags/download.md>), [general-development](<https://devfeed.tech/tags/general-development.md>), [internet](<https://devfeed.tech/tags/internet.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [offline](<https://devfeed.tech/tags/offline.md>), [optional](<https://devfeed.tech/tags/optional.md>), [remote](<https://devfeed.tech/tags/remote.md>), [self-hosting](<https://devfeed.tech/tags/self-hosting.md>)

### AI overview

Blender's Remote Asset Libraries let users browse assets stored on remote servers and download them only when needed. They support optional online content, self-hosting, and offline access after assets are downloaded.

### Source excerpt

Browse assets stored online and download them only when needed.

## Chainguard Repository adds new policies, Chainguard Libraries for JavaScript is GA

DevFeed: [Chainguard Repository adds new policies, Chainguard Libraries for JavaScript is GA](<https://devfeed.tech/articles/chainguard-repository-adds-new-policies-chainguard-libraries-for-javascript-is-ga-12979.md>)

Original publisher: [Read original article](<https://www.chainguard.dev/unchained/chainguard-repository-adds-new-policies-chainguard-libraries-for-javascript-is-ga>)

Published: 2026-06-25T00:00:00Z

Content type: release

Language: en

Sources: [Chainguard: Unchained](<https://devfeed.tech/sources/chainguard-unchained.md>)

Topics: [chainguard repository](<https://devfeed.tech/topics/chainguard-repository.md>), [chainguard libraries for javascript](<https://devfeed.tech/topics/chainguard-libraries-for-javascript.md>), [chainguard](<https://devfeed.tech/topics/chainguard.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Malware](<https://devfeed.tech/topics/malware.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [chainguard](<https://devfeed.tech/tags/chainguard.md>), [chainguard-libraries](<https://devfeed.tech/tags/chainguard-libraries.md>), [chainguard-libraries-for-java](<https://devfeed.tech/tags/chainguard-libraries-for-java.md>), [chainguard-libraries-for-javascript](<https://devfeed.tech/tags/chainguard-libraries-for-javascript.md>), [chainguard-libraries-for-python](<https://devfeed.tech/tags/chainguard-libraries-for-python.md>), [chainguard-repo](<https://devfeed.tech/tags/chainguard-repo.md>), [chainguard-repository](<https://devfeed.tech/tags/chainguard-repository.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [malware](<https://devfeed.tech/tags/malware.md>), [malware-scanner](<https://devfeed.tech/tags/malware-scanner.md>), [policy](<https://devfeed.tech/tags/policy.md>), [visibility](<https://devfeed.tech/tags/visibility.md>)

### AI overview

Chainguard announces new malware and greyware scanning for additional artifact types, expanded policy controls, and new visibility features in Chainguard Repository. The article also announces general availability of Chainguard Libraries for JavaScript.

### Source excerpt

Chainguard Repository adds malware and greyware scanning, expanded policy controls, and visibility to secure AI-driven software supply chains.

## Chainguard plug-in now available on Cursor Marketplace

DevFeed: [Chainguard plug-in now available on Cursor Marketplace](<https://devfeed.tech/articles/chainguard-plug-in-now-available-on-cursor-marketplace-12976.md>)

Original publisher: [Read original article](<https://www.chainguard.dev/unchained/chainguard-plug-in-now-available-on-cursor-marketplace>)

Published: 2026-06-24T00:00:00Z

Content type: release

Language: en

Sources: [Chainguard: Unchained](<https://devfeed.tech/sources/chainguard-unchained.md>)

Topics: [cursor](<https://devfeed.tech/topics/cursor.md>), [chainguard](<https://devfeed.tech/topics/chainguard.md>), [AI-assisted coding](<https://devfeed.tech/topics/ai-assisted-coding.md>), [Containers](<https://devfeed.tech/topics/containers.md>), [Security](<https://devfeed.tech/topics/security.md>)

Tags: [ai-coding-agents](<https://devfeed.tech/tags/ai-coding-agents.md>), [chainguard](<https://devfeed.tech/tags/chainguard.md>), [chainguard-containers](<https://devfeed.tech/tags/chainguard-containers.md>), [chainguard-cursor](<https://devfeed.tech/tags/chainguard-cursor.md>), [chainguard-cursor-marketplace](<https://devfeed.tech/tags/chainguard-cursor-marketplace.md>), [chainguard-libraries](<https://devfeed.tech/tags/chainguard-libraries.md>), [containers](<https://devfeed.tech/tags/containers.md>), [cursor](<https://devfeed.tech/tags/cursor.md>), [cursor-chainguard-containers](<https://devfeed.tech/tags/cursor-chainguard-containers.md>), [cursor-chainguard-libraries](<https://devfeed.tech/tags/cursor-chainguard-libraries.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

Chainguard has launched a plugin on the Cursor Marketplace that connects Cursor to Chainguard Containers, Chainguard Libraries, and the Chainguard Repository. The plugin is intended to make secure-by-default artifacts available in AI coding workflows and help agents remediate known vulnerabilities.

### Source excerpt

Connect Cursor to Chainguard in minutes and make secure, malware-resistant containers and libraries the default for AI-generated code.

## Podman 6 Configuration File Changes

DevFeed: [Podman 6 Configuration File Changes](<https://devfeed.tech/articles/podman-6-configuration-file-changes-12845.md>)

Original publisher: [Read original article](<https://blog.podman.io/2026/06/podman-6-configuration-file-changes/>)

Author: Paul Holzinger

Published: 2026-06-22T16:14:55Z

Content type: article

Language: en

Sources: [blog.podman.io](<https://devfeed.tech/sources/blog-podman-io.md>)

Topics: [podman](<https://devfeed.tech/topics/podman.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Containers](<https://devfeed.tech/topics/containers.md>)

Tags: [announcement](<https://devfeed.tech/tags/announcement.md>), [blog](<https://devfeed.tech/tags/blog.md>), [buildah](<https://devfeed.tech/tags/buildah.md>), [code](<https://devfeed.tech/tags/code.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [containers](<https://devfeed.tech/tags/containers.md>), [files](<https://devfeed.tech/tags/files.md>), [git](<https://devfeed.tech/tags/git.md>), [go](<https://devfeed.tech/tags/go.md>), [image](<https://devfeed.tech/tags/image.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [podman](<https://devfeed.tech/tags/podman.md>), [registry](<https://devfeed.tech/tags/registry.md>), [releases](<https://devfeed.tech/tags/releases.md>), [root](<https://devfeed.tech/tags/root.md>), [skopeo](<https://devfeed.tech/tags/skopeo.md>), [storage](<https://devfeed.tech/tags/storage.md>)

### AI overview

This article introduces the major configuration-file rework planned for Podman 6. The changes affect Podman, Buildah, Skopeo, and shared container libraries, including how files such as containers.conf, registries.conf, storage.conf, policy.json, registries.d, and certs.d are handled and parsed.

### Source excerpt

Podman 6 is about to be released soon, so I would like to talk about the biggest change we made: a major rework of how we handle and parse our configuration files. This does not just affect Podman but also Buildah, Skopeo, and many other tools building on top of our underlying go.podman.io/image and go.podman.io/storage [...]

## Introducing Skills for Dart and Flutter

DevFeed: [Introducing Skills for Dart and Flutter](<https://devfeed.tech/articles/introducing-skills-for-dart-and-flutter-23040.md>)

Original publisher: [Read original article](<https://blog.flutter.dev/introducing-skills-for-dart-and-flutter-23837c6ec0ae?source=rss----4da7dfd21a33---4>)

Author: Mariam Hasnany

Published: 2026-05-06T18:19:09Z

Content type: release

Language: en

Sources: [Flutter - Medium](<https://devfeed.tech/sources/flutter-medium.md>)

Topics: [Agent Skills](<https://devfeed.tech/topics/agent-skills.md>), [Dart](<https://devfeed.tech/topics/dart.md>), [Flutter](<https://devfeed.tech/topics/flutter.md>), [Agent Skill](<https://devfeed.tech/topics/agent-skill.md>), [MCP](<https://devfeed.tech/topics/mcp.md>), [MCP Server](<https://devfeed.tech/topics/mcp-server.md>), [AI-assisted coding](<https://devfeed.tech/topics/ai-assisted-coding.md>)

Tags: [agent-skill](<https://devfeed.tech/tags/agent-skill.md>), [agent-skills](<https://devfeed.tech/tags/agent-skills.md>), [agents](<https://devfeed.tech/tags/agents.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-agent](<https://devfeed.tech/tags/ai-agent.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [ai-development](<https://devfeed.tech/tags/ai-development.md>), [coding](<https://devfeed.tech/tags/coding.md>), [coding-agents](<https://devfeed.tech/tags/coding-agents.md>), [dart](<https://devfeed.tech/tags/dart.md>), [efficiency](<https://devfeed.tech/tags/efficiency.md>), [flutter](<https://devfeed.tech/tags/flutter.md>), [flutter-app-development](<https://devfeed.tech/tags/flutter-app-development.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [mcp-server](<https://devfeed.tech/tags/mcp-server.md>), [skills](<https://devfeed.tech/tags/skills.md>), [tests](<https://devfeed.tech/tags/tests.md>), [tools](<https://devfeed.tech/tags/tools.md>)

### AI overview

Flutter is introducing Agent Skills for Dart and Flutter to give AI tools domain-specific expertise for professional development tasks. The task-oriented skills provide tailored instructions for workflows such as adaptive layouts and enhance the Dart MCP server, aiming to improve accuracy and reduce token usage.

### Source excerpt

Introducing prepackaged Dart and Flutter Skills!Improving AI with domain expertise AI agents are generalists, but when it comes to professional Flutter development, "general" isn't enough. To build production-grade apps, you need an assistant that understands the nuance of localization, the latest Dart language features, and how to add integration tests. Today, we're introducing Agent Skills for Flutter and Dart -- a new way to give your AI tools domain-specific expertise. Beyond the knowledge gap One of the primary challenges in AI development is the "knowledge gap." Flutter and Dart can launch new features more quickly than LLMs can update their fixed training data. As a part of how we are thinking about AI, we are looking for ways to not only address the knowledge gap but also ensure the agent applies that knowledge to achieve the task accurately and efficiently following the most optimal workflows. A little over a year ago, Model Context Protocols (MCP) were the way to provide more AI domain-specific expertise. While MCP gives an agent access to specialized tools, an Agent Skill teaches the agent how to use those tools for a specific task. Think of it this way: MCP provides the hammer and nails (the tools), while a Skill provides the blueprint and the professional know-how to build the house. Skills improve context efficiency through "progressive disclosure". This is similar to how deferred loading works in Flutter, where apps can load libraries when needed, coding agents load Skills when they are relevant to what you're trying to do . For Flutter and Dart, these Skills provide tailored instructions for common workflows, and enhance the tools provided in the Dart MCP server to reduce the knowledge gap, which improves accuracy and lowers token usage. A task-oriented approach Our early experimentation revealed that Skills that only provide documentation don't add as much value as we initially assumed. Since Flutter's comprehensive and well written documentation is

## Keycloak Client Libraries 26.0.9 released

DevFeed: [Keycloak Client Libraries 26.0.9 released](<https://devfeed.tech/articles/keycloak-client-libraries-26-0-9-released-31767.md>)

Original publisher: [Read original article](<https://www.keycloak.org/2026/04/keycloak-client-2609-released>)

Author: Keycloak Team

Published: 2026-04-17T00:00:00Z

Content type: release

Language: en

Sources: [Keycloak Blog](<https://devfeed.tech/sources/keycloak-blog.md>)

Topics: [Keycloak](<https://devfeed.tech/topics/keycloak.md>), [client](<https://devfeed.tech/topics/client.md>), [Server](<https://devfeed.tech/topics/server.md>)

Tags: [client](<https://devfeed.tech/tags/client.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [idm](<https://devfeed.tech/tags/idm.md>), [kerberos](<https://devfeed.tech/tags/kerberos.md>), [keycloak](<https://devfeed.tech/tags/keycloak.md>), [keycloak-client-libraries-release](<https://devfeed.tech/tags/keycloak-client-libraries-release.md>), [ldap](<https://devfeed.tech/tags/ldap.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [migration-guide](<https://devfeed.tech/tags/migration-guide.md>), [openid-connect](<https://devfeed.tech/tags/openid-connect.md>), [release](<https://devfeed.tech/tags/release.md>), [resolved](<https://devfeed.tech/tags/resolved.md>), [saml](<https://devfeed.tech/tags/saml.md>), [sso](<https://devfeed.tech/tags/sso.md>), [sync](<https://devfeed.tech/tags/sync.md>), [update](<https://devfeed.tech/tags/update.md>)

### AI overview

Keycloak Client Libraries 26.0.9 was released on April 17, 2026. The release notes mention syncing after the Keycloak server 26.6.0 release and updating dependencies, and direct users to a migration guide for the complete list of changes.

### Source excerpt

Upgrading Before upgrading refer to the migration guide for a complete list of changes. All resolved issues Enhancements #203 Sync after Keycloak server 26.6.0 release client #205 Update dependencies client

## Chainguard Libraries is now free until June 30, 2026 -- no commitment required

DevFeed: [Chainguard Libraries is now free until June 30, 2026 -- no commitment required](<https://devfeed.tech/articles/chainguard-libraries-is-now-free-until-june-30-2026-no-commitment-required-12968.md>)

Original publisher: [Read original article](<https://www.chainguard.dev/unchained/chainguard-libraries-is-now-free-until-june-30-2026-no-commitment-required>)

Published: 2026-04-09T00:00:00Z

Content type: release

Language: en

Sources: [Chainguard: Unchained](<https://devfeed.tech/sources/chainguard-unchained.md>)

Topics: [chainguard libraries](<https://devfeed.tech/topics/chainguard-libraries.md>), [open-source-security](<https://devfeed.tech/topics/open-source-security.md>), [Security](<https://devfeed.tech/topics/security.md>), [Malware](<https://devfeed.tech/topics/malware.md>), [Java](<https://devfeed.tech/topics/java.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Python](<https://devfeed.tech/topics/python.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [article](<https://devfeed.tech/tags/article.md>), [attacks](<https://devfeed.tech/tags/attacks.md>), [axios](<https://devfeed.tech/tags/axios.md>), [chainguard-console](<https://devfeed.tech/tags/chainguard-console.md>), [chainguard-libraries](<https://devfeed.tech/tags/chainguard-libraries.md>), [chainguard-repository](<https://devfeed.tech/tags/chainguard-repository.md>), [code](<https://devfeed.tech/tags/code.md>), [dependency](<https://devfeed.tech/tags/dependency.md>), [free](<https://devfeed.tech/tags/free.md>), [install](<https://devfeed.tech/tags/install.md>), [java](<https://devfeed.tech/tags/java.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [library](<https://devfeed.tech/tags/library.md>), [litellm](<https://devfeed.tech/tags/litellm.md>), [malicious-packages](<https://devfeed.tech/tags/malicious-packages.md>), [malware](<https://devfeed.tech/tags/malware.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [open-source-packages](<https://devfeed.tech/tags/open-source-packages.md>), [open-source-security](<https://devfeed.tech/tags/open-source-security.md>), [packages](<https://devfeed.tech/tags/packages.md>), [rebuilds](<https://devfeed.tech/tags/rebuilds.md>), [software-supply-chain-security](<https://devfeed.tech/tags/software-supply-chain-security.md>), [telnyx](<https://devfeed.tech/tags/telnyx.md>), [trivy-attack](<https://devfeed.tech/tags/trivy-attack.md>)

### AI overview

Chainguard Libraries is free for Chainguard console users until June 30, 2026, with no paid commitment required. It rebuilds Python, Java, and JavaScript packages from verified source in isolated environments and excludes libraries that use install-time scripts, helping reduce malware and software supply-chain risk.

### Source excerpt

Open source attacks are rising. Chainguard Libraries rebuilds packages from verified source to block malware--now free until June 30, 2026.

## ESP-IDF v6.0: Default libc Switches from Newlib to PicolibC

DevFeed: [ESP-IDF v6.0: Default libc Switches from Newlib to PicolibC](<https://devfeed.tech/articles/esp-idf-v6-0-default-libc-switches-from-newlib-to-picolibc-13762.md>)

Original publisher: [Read original article](<https://developer.espressif.com/blog/2026/04/esp-idf-6-default-libc-picolibc/>)

Author: John Lee

Published: 2026-04-02T00:00:00Z

Content type: article

Language: en

Sources: [Blog on Developer Portal](<https://devfeed.tech/sources/blog-on-developer-portal.md>)

Topics: [ESP-IDF](<https://devfeed.tech/topics/esp-idf.md>), [C](<https://devfeed.tech/topics/c.md>), [Embedded Systems](<https://devfeed.tech/topics/embedded-systems.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Streams](<https://devfeed.tech/topics/streams.md>), [Library](<https://devfeed.tech/topics/library.md>), [POSIX](<https://devfeed.tech/topics/posix.md>)

Tags: [apis](<https://devfeed.tech/tags/apis.md>), [architectures](<https://devfeed.tech/tags/architectures.md>), [blog](<https://devfeed.tech/tags/blog.md>), [c](<https://devfeed.tech/tags/c.md>), [compatibility](<https://devfeed.tech/tags/compatibility.md>), [embedded](<https://devfeed.tech/tags/embedded.md>), [embedded-systems](<https://devfeed.tech/tags/embedded-systems.md>), [esp-idf](<https://devfeed.tech/tags/esp-idf.md>), [firmware](<https://devfeed.tech/tags/firmware.md>), [libc](<https://devfeed.tech/tags/libc.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [memory](<https://devfeed.tech/tags/memory.md>), [migration](<https://devfeed.tech/tags/migration.md>), [newlib](<https://devfeed.tech/tags/newlib.md>), [performance](<https://devfeed.tech/tags/performance.md>), [picolibc](<https://devfeed.tech/tags/picolibc.md>), [posix](<https://devfeed.tech/tags/posix.md>), [streams](<https://devfeed.tech/tags/streams.md>), [systems](<https://devfeed.tech/tags/systems.md>), [toolchains](<https://devfeed.tech/tags/toolchains.md>)

### AI overview

ESP-IDF v6.0 changes its default C library from Newlib to PicolibC. The article compares the libraries' memory usage, standard I/O behavior, compatibility, and migration considerations, including measurements on ESP32-C3.

### Source excerpt

ESP-IDF v6.0 switches the default C library from Newlib to PicolibC. This article compares both libraries in terms of memory usage, stdio behavior, compatibility, and migration tradeoffs, and explains when keeping Newlib still makes sense.

## Heroku March 2026 Update

DevFeed: [Heroku March 2026 Update](<https://devfeed.tech/articles/heroku-march-2026-update-26465.md>)

Original publisher: [Read original article](<https://www.heroku.com/blog/march-2026-update/>)

Author: Keshav Pokkuluri

Published: 2026-03-19T22:31:10Z

Content type: release

Language: en

Sources: [Heroku](<https://devfeed.tech/sources/heroku.md>)

Topics: [Heroku](<https://devfeed.tech/topics/heroku.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Machine learning](<https://devfeed.tech/topics/machine-learning.md>)

Tags: [ai-ml](<https://devfeed.tech/tags/ai-ml.md>), [apps](<https://devfeed.tech/tags/apps.md>), [changelog](<https://devfeed.tech/tags/changelog.md>), [cli](<https://devfeed.tech/tags/cli.md>), [data](<https://devfeed.tech/tags/data.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [features](<https://devfeed.tech/tags/features.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [maintainability](<https://devfeed.tech/tags/maintainability.md>), [news](<https://devfeed.tech/tags/news.md>), [platform](<https://devfeed.tech/tags/platform.md>), [platform-updates](<https://devfeed.tech/tags/platform-updates.md>), [update](<https://devfeed.tech/tags/update.md>)

### AI overview

Heroku describes a shift to a Sustaining Engineering model and announces three enhancements: a default compressed slug limit increased to 1GB, longer build timeouts, and Heroku CLI v11's move to ESM and oclif v4.

### Source excerpt

We've transitioned to a Sustaining Engineering model to better serve the customers who rely on us every day. Our mission is simple: to provide the most stable, secure, and reliable environment for your apps and data. We will continue releasing features and functionality that align with our Sustaining Engineering goals and provide a more robust and efficient platform to our customers. Today we are excited to share three recent enhancements: The post Heroku March 2026 Update appeared first on Heroku.

## Introducing Chainguard Repository: A unified experience for secure-by-default open source artifacts

DevFeed: [Introducing Chainguard Repository: A unified experience for secure-by-default open source artifacts](<https://devfeed.tech/articles/introducing-chainguard-repository-a-unified-experience-for-secure-by-default-open-source-artifacts-13113.md>)

Original publisher: [Read original article](<https://www.chainguard.dev/unchained/introducing-chainguard-repository>)

Published: 2026-03-17T00:00:00Z

Content type: release

Language: en

Sources: [Chainguard: Unchained](<https://devfeed.tech/sources/chainguard-unchained.md>)

Topics: [chainguard repository](<https://devfeed.tech/topics/chainguard-repository.md>), [chainguard](<https://devfeed.tech/topics/chainguard.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Security](<https://devfeed.tech/topics/security.md>), [Containers](<https://devfeed.tech/topics/containers.md>)

Tags: [agent-skills](<https://devfeed.tech/tags/agent-skills.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [chainguard](<https://devfeed.tech/tags/chainguard.md>), [chainguard-repo](<https://devfeed.tech/tags/chainguard-repo.md>), [chainguard-repository](<https://devfeed.tech/tags/chainguard-repository.md>), [ci-cd-workflows](<https://devfeed.tech/tags/ci-cd-workflows.md>), [container-images](<https://devfeed.tech/tags/container-images.md>), [containers](<https://devfeed.tech/tags/containers.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [open-source-artifacts](<https://devfeed.tech/tags/open-source-artifacts.md>), [packages](<https://devfeed.tech/tags/packages.md>), [policy](<https://devfeed.tech/tags/policy.md>), [secure-by-default](<https://devfeed.tech/tags/secure-by-default.md>), [virtual-machine-images](<https://devfeed.tech/tags/virtual-machine-images.md>)

### AI overview

Chainguard introduces Chainguard Repository, a unified experience for consuming secure-by-default open source artifacts with configurable policy enforcement. It brings together container images, libraries, OS packages, agent skills, CI/CD workflows, and virtual machine images through Chainguard-managed endpoints and provides compliance controls, security improvements through source rebuilds, and visibility dashboards.

### Source excerpt

Chainguard Repository is a single, Chainguard-managed experience for pulling secure-by-default artifacts with built-in, configurable policy enforcement.

## Protect your AI workloads from supply chain attacks

DevFeed: [Protect your AI workloads from supply chain attacks](<https://devfeed.tech/articles/protect-your-ai-workloads-from-supply-chain-attacks-13205.md>)

Original publisher: [Read original article](<https://www.chainguard.dev/unchained/protect-your-ai-workloads-from-supply-chain-attacks>)

Published: 2026-01-30T00:00:00Z

Content type: article

Language: en

Sources: [Chainguard: Unchained](<https://devfeed.tech/sources/chainguard-unchained.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Containers](<https://devfeed.tech/topics/containers.md>), [chainguard](<https://devfeed.tech/topics/chainguard.md>), [Vulnerabilities](<https://devfeed.tech/topics/vulnerabilities.md>), [AI Strategy](<https://devfeed.tech/topics/ai-strategy.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Security](<https://devfeed.tech/topics/security.md>), [PyTorch](<https://devfeed.tech/topics/pytorch.md>), [Tensorflow](<https://devfeed.tech/topics/tensorflow.md>), [MLOps](<https://devfeed.tech/topics/mlops.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-containers](<https://devfeed.tech/tags/ai-containers.md>), [chainguard](<https://devfeed.tech/tags/chainguard.md>), [chainguard-containers](<https://devfeed.tech/tags/chainguard-containers.md>), [chainguard-for-ai](<https://devfeed.tech/tags/chainguard-for-ai.md>), [chainguard-libraries](<https://devfeed.tech/tags/chainguard-libraries.md>), [containers](<https://devfeed.tech/tags/containers.md>), [cudnn](<https://devfeed.tech/tags/cudnn.md>), [cves](<https://devfeed.tech/tags/cves.md>), [data-processing](<https://devfeed.tech/tags/data-processing.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [kserve](<https://devfeed.tech/tags/kserve.md>), [legacy](<https://devfeed.tech/tags/legacy.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [mlops](<https://devfeed.tech/tags/mlops.md>), [nemo](<https://devfeed.tech/tags/nemo.md>), [ollama](<https://devfeed.tech/tags/ollama.md>), [python](<https://devfeed.tech/tags/python.md>), [pytorch](<https://devfeed.tech/tags/pytorch.md>), [security](<https://devfeed.tech/tags/security.md>), [security-vulnerabilities](<https://devfeed.tech/tags/security-vulnerabilities.md>), [supply-chain](<https://devfeed.tech/tags/supply-chain.md>), [supply-chain-attacks](<https://devfeed.tech/tags/supply-chain-attacks.md>), [zero-cve-containers](<https://devfeed.tech/tags/zero-cve-containers.md>)

### AI overview

The article discusses security and operational challenges in AI/ML workloads, including complex dependencies, bloated artifacts, infrastructure sprawl, and unremediated CVEs. It presents Chainguard Containers' minimal images for AI workloads as a way to reduce attack surface, storage needs, and deployment overhead, and cites a 50 MB gpu-operator image compared with a 170 MB upstream equivalent.

### Source excerpt

Chainguard secures AI adoption with minimal, zero-CVE containers and source-built libraries that prevent supply chain malware while keeping developers fast.

## Fun with Algebraic Effects - from Toy Examples to Hardcaml Simulations

DevFeed: [Fun with Algebraic Effects - from Toy Examples to Hardcaml Simulations](<https://devfeed.tech/articles/fun-with-algebraic-effects-from-toy-examples-to-hardcaml-simulations-20168.md>)

Original publisher: [Read original article](<https://blog.janestreet.com/fun-with-algebraic-effects-hardcaml/>)

Author: Fu Yong Quah

Published: 2026-01-06T00:00:00Z

Content type: article

Language: en

Sources: [Jane Street](<https://devfeed.tech/sources/jane-street.md>)

Topics: [OCaml](<https://devfeed.tech/topics/ocaml.md>), [Library](<https://devfeed.tech/topics/library.md>), [Simulation](<https://devfeed.tech/topics/simulation.md>), [Concurrent Programming](<https://devfeed.tech/topics/concurrent-programming.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [blog-post](<https://devfeed.tech/tags/blog-post.md>), [code](<https://devfeed.tech/tags/code.md>), [concurrent-programming](<https://devfeed.tech/tags/concurrent-programming.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [library](<https://devfeed.tech/tags/library.md>), [ocaml](<https://devfeed.tech/tags/ocaml.md>)

### AI overview

The article describes porting Jane Street's Hardcaml_step_testbench library from monads to algebraic effects in OCaml 5. It explains algebraic effects, compares them with monads, and demonstrates how to use them with the Handled_effect library for Hardcaml simulations.

### Source excerpt

I recently ported the Hardcaml_step_testbench library, one of the libraries that we use at Jane Street for Hardcaml simulations, from using monads to using algebraic effects, a new OCaml 5 feature. This blog post walks through what algebraic effects are, why you should consider using them in lieu of monads, and how to actually work with them using the Handled_effect library. One thing I've come to believe is that most of what can be done with monads can be done with algebraic effects in a much more elegant way.

## Generating rich link previews 10x faster

DevFeed: [Generating rich link previews 10x faster](<https://devfeed.tech/articles/generating-rich-link-previews-10x-faster-29027.md>)

Original publisher: [Read original article](<https://saket.me/generating-rich-link-previews-10x-faster/>)

Author: Saket Narayan

Published: 2025-12-23T06:10:00Z

Content type: tutorial

Language: en

Sources: [Saket Narayan](<https://devfeed.tech/sources/saket-narayan.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Library](<https://devfeed.tech/topics/library.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [Streaming](<https://devfeed.tech/topics/streaming.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [http](<https://devfeed.tech/tags/http.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [library](<https://devfeed.tech/tags/library.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [real-time](<https://devfeed.tech/tags/real-time.md>)

### AI overview

This article explains how the Kotlin open-source library unfurl generates rich link previews by extracting social metadata. It describes replacing full-page downloads with jsoup's streaming HTML parser, enabling the downloader to stop once the relevant metadata is found. The change made unfurl 2.3.0 an order of magnitude faster and reduced data downloads, while also enabling trials with multiple HTTP user agents.

### Source excerpt

unfurl is one of my favorite open source libraries. Not because it's clever or complex, but because it's a tiny kotlin library that does one thing well: generate rich link previews by extracting their social metadata. You can try out its demo on your computer: brew install saket/repo/unfurl unfurl https://dog.ceo If you've ever pasted a [...] The post Generating rich link previews 10x faster appeared first on Saket Narayan.

## Creating an Arduino Library for ESP32

DevFeed: [Creating an Arduino Library for ESP32](<https://devfeed.tech/articles/creating-an-arduino-library-for-esp32-13737.md>)

Original publisher: [Read original article](<https://developer.espressif.com/blog/2025/12/arduino-library-creation/>)

Author: John Lee

Published: 2025-12-15T00:00:00Z

Content type: tutorial

Language: en

Sources: [Blog on Developer Portal](<https://devfeed.tech/sources/blog-on-developer-portal.md>)

Topics: [Arduino](<https://devfeed.tech/topics/arduino.md>), [ESP32](<https://devfeed.tech/topics/esp32.md>), [Library](<https://devfeed.tech/topics/library.md>), [Development](<https://devfeed.tech/topics/development.md>), [Code](<https://devfeed.tech/topics/code.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [ide](<https://devfeed.tech/topics/ide.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [arduino](<https://devfeed.tech/tags/arduino.md>), [arduino-ide](<https://devfeed.tech/tags/arduino-ide.md>), [beginner](<https://devfeed.tech/tags/beginner.md>), [blog](<https://devfeed.tech/tags/blog.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [class](<https://devfeed.tech/tags/class.md>), [classes](<https://devfeed.tech/tags/classes.md>), [code](<https://devfeed.tech/tags/code.md>), [development](<https://devfeed.tech/tags/development.md>), [esp32](<https://devfeed.tech/tags/esp32.md>), [getting-started](<https://devfeed.tech/tags/getting-started.md>), [guide](<https://devfeed.tech/tags/guide.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [ide](<https://devfeed.tech/tags/ide.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [library](<https://devfeed.tech/tags/library.md>), [maintainability](<https://devfeed.tech/tags/maintainability.md>), [modular](<https://devfeed.tech/tags/modular.md>), [modularity](<https://devfeed.tech/tags/modularity.md>), [modules](<https://devfeed.tech/tags/modules.md>), [programming](<https://devfeed.tech/tags/programming.md>), [structure](<https://devfeed.tech/tags/structure.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

A step-by-step guide to creating, structuring, and publishing custom Arduino libraries for ESP32. It explains library benefits and structure, prerequisites, and implementation through a minimal "Hello World" example.

### Source excerpt

Learn how to create, structure, and publish Arduino libraries for ESP32. This step-by-step guide covers everything from understanding a library structure to submitting your library to the Arduino Library Manager.

## Introducing iceberg-js: A JavaScript Client for Apache Iceberg

DevFeed: [Introducing iceberg-js: A JavaScript Client for Apache Iceberg](<https://devfeed.tech/articles/introducing-iceberg-js-a-javascript-client-for-apache-iceberg-406.md>)

Original publisher: [Read original article](<https://supabase.com/blog/introducing-iceberg-js>)

Author: Katerina Skroumpelou

Published: 2025-12-08T07:00:00Z

Content type: article

Language: en

Sources: [Supabase Blog](<https://devfeed.tech/sources/supabase-blog.md>)

Topics: [Apache Iceberg](<https://devfeed.tech/topics/apache-iceberg.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [REST API](<https://devfeed.tech/topics/rest-api.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [API](<https://devfeed.tech/topics/api.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [apache-iceberg](<https://devfeed.tech/tags/apache-iceberg.md>), [api](<https://devfeed.tech/tags/api.md>), [fetch](<https://devfeed.tech/tags/fetch.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [parquet](<https://devfeed.tech/tags/parquet.md>), [rest](<https://devfeed.tech/tags/rest.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

Supabase introduces iceberg-js, a minimal, vendor-agnostic JavaScript client for the Apache Iceberg REST Catalog API. It gives JavaScript and TypeScript developers a type-safe way to manage Iceberg namespaces and tables across catalog implementations.

### Source excerpt

A minimal, vendor-agnostic JavaScript client for the Apache Iceberg REST Catalog API, providing type-safe catalog management for JavaScript and TypeScript developers.

## Let's defuse the Compose BOM

DevFeed: [Let's defuse the Compose BOM](<https://devfeed.tech/articles/let-s-defuse-the-compose-bom-20931.md>)

Original publisher: [Read original article](<https://jakewharton.com/defuse-the-compose-bom/>)

Published: 2025-12-03T00:00:00Z

Content type: opinion

Language: en

Sources: [Jake Wharton](<https://devfeed.tech/sources/jake-wharton.md>)

Topics: [Compose](<https://devfeed.tech/topics/compose.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [Maven](<https://devfeed.tech/topics/maven.md>), [Library](<https://devfeed.tech/topics/library.md>)

Tags: [build](<https://devfeed.tech/tags/build.md>), [compose](<https://devfeed.tech/tags/compose.md>), [dependency](<https://devfeed.tech/tags/dependency.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [libraries](<https://devfeed.tech/tags/libraries.md>)

### AI overview

The article argues that Compose BOMs may be unnecessary for Gradle users because AndroidX libraries publish peer dependency constraints in Gradle module metadata, allowing Gradle to align artifacts within a library group automatically. It also discusses Renovate and Dependabot for automated dependency updates and Gradle version catalogs for centralized version management.

### Source excerpt

Many people rely on the Compose bill of materials (BOM) artifact to provide the complete set of Compose dependency versions. If we use Compose's foundation 1.8.0 but a transitive dependency bumps foundation-layout, there's a risk that these two versions are incompatible with each other despite otherwise being stable libraries. The Compose BOM will unify the versions so that all are guaranteed to work with each other. Since Compose comprises about 15 individual libraries, the Compose BOM provides us with only a single version that we have to manually change when upgrading. Nice and simple. But wait... We don't really need those things! Every AndroidX library automatically bundles peer dependency constraints into its Gradle module metadata which ensures that within a library group all artifacts resolve to the same version. Here's a fragment from the Gradle module metadata for foundation-layout v1.10.0: "dependencyConstraints": [ { "group": "androidx.compose.foundation", "module": "foundation", "version": { "requires": "1.10.0" }, "reason": "foundation-layout is in atomic group androidx.compose.foundation" }, { "group": "androidx.compose.foundation", "module": "foundation-lint", "version": { "requires": "1.10.0" }, "reason": "foundation-layout is in atomic group androidx.compose.foundation" } ], This means that in the scenario above, with a mismatched transitive dependency bump, the module metadata instructs Gradle to automatically bump all artifacts in that group. No manual action or BOM usage required. As to the single version, did you know there's actually only five library groups in the Compose BOM? Despite encompassing about 15 libraries, it's only actually defining four distinct versions (Compose UI and Material library groups share a version). Tools like Renovate or Dependabot can track the libraries in use and query upstream Maven repositories for new versions. When one is available, a PR is automatically created bumping the affected libraries. No manual version

[Next page](<https://devfeed.tech/tags/libraries.md?cursor=WyIyMDI1LTEyLTAzVDAwOjAwOjAwKzAwOjAwIiwgImYyZGQ3MmVlLTZhMDctNDZlNi04OTFlLTRhNGY4NzhhNTNjYyJd>)