# Library

A software library is a code component that provides a solution to a specific problem and can be integrated into an application.

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

## Introducing the AndroidX Security State Libraries: A Unified View of Device Security

DevFeed: [Introducing the AndroidX Security State Libraries: A Unified View of Device Security](<https://devfeed.tech/articles/introducing-the-androidx-security-state-libraries-a-unified-view-of-device-security-41384.md>)

Original publisher: [Read original article](<https://android-developers.googleblog.com/2026/09/introducing-androidx-security-state-libraries.html>)

Author: Android Developers (noreply@blogger.com)

Published: 2026-09-17T19:00:00Z

Content type: release

Language: en

Sources: [Android Developers Blog](<https://devfeed.tech/sources/android-developers-blog-2.md>)

Topics: [Android Security](<https://devfeed.tech/topics/android-security.md>), [Library](<https://devfeed.tech/topics/library.md>), [Android](<https://devfeed.tech/topics/android.md>), [version](<https://devfeed.tech/topics/version.md>), [Google](<https://devfeed.tech/topics/google.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-security](<https://devfeed.tech/tags/android-security.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [release](<https://devfeed.tech/tags/release.md>), [security](<https://devfeed.tech/tags/security.md>), [version](<https://devfeed.tech/tags/version.md>)

### AI overview

Android announces the stable release of AndroidX Security State 1.1.0 and Security State Provider 1.0.0. The libraries let developers and enterprises inspect component-level device security, compare installed, published, and available patch levels, expose update availability, and check whether selected vulnerabilities have been patched.

### Source excerpt

Posted by Maunik Shah, Staff Software Engineer, Alec Garcia, Software Engineer, and Joseph Yong, Technical Program Manager At Android, we are constantly working to provide developers and enterprise partners with the data they need to keep devices protected. Today, we're thrilled to announce the stable release of the AndroidX Security State version 1.1.0 and Security State Provider version 1.0.0 libraries which provides a centralized mechanism designed to bring further transparency to the comprehensive security posture and pending updates across the Android ecosystem. Whether you develop security-critical, consumer-facing apps (such as banking, fintech, or healthcare) or Mobile Device Management (MDM) solutions, these libraries enable you to programmatically verify the security state of the device per component. Rather than relying on a coarse, monolithic Security Patch Level (SPL), you can evaluate true component-level protection and whether remediations are actively pending via the androidx.security.state library. For OEMs and Over-The-Air (OTA) client developers, the companion androidx.security.state.provider library allows you to expose update availability via standardized mechanisms. Understanding Security Patch Levels (SPL) As Android has evolved to deliver rapid, independent component updates through modular systems like Google Play system updates, relying on a single SPL build property is no longer the best way to determine a device's true security posture. To provide component level visibility, the Security State libraries provide APIs for three distinct patch levels: Device SPL (DSPL): The security patch level currently installed and running on the device for specific system components, queried from device properties and configs without network calls. Published SPL (PSPL): The latest patch level officially published in the Android Security Bulletin for those components. Available SPL (ASPL): The patch level ready to be downloaded and installed on the specif

## TanStack Charts Introduced with a Framework Agnostic Grammar of Graphics for TypeScript

DevFeed: [TanStack Charts Introduced with a Framework Agnostic Grammar of Graphics for TypeScript](<https://devfeed.tech/articles/tanstack-charts-introduced-with-a-framework-agnostic-grammar-of-graphics-for-typescript-41299.md>)

Original publisher: [Read original article](<https://www.infoq.com/news/2026/09/tanstack-charts-alpha-introduced/>)

Author: Daniel Curtis

Published: 2026-09-17T05:53:00Z

Content type: news

Language: en

Sources: [InfoQ](<https://devfeed.tech/sources/infoq.md>)

Topics: [Library](<https://devfeed.tech/topics/library.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [Graphics](<https://devfeed.tech/topics/graphics.md>), [Frameworks](<https://devfeed.tech/topics/frameworks.md>), [React](<https://devfeed.tech/topics/react.md>)

Tags: [angular](<https://devfeed.tech/tags/angular.md>), [data-visualization](<https://devfeed.tech/tags/data-visualization.md>), [development](<https://devfeed.tech/tags/development.md>), [framework](<https://devfeed.tech/tags/framework.md>), [graphics](<https://devfeed.tech/tags/graphics.md>), [introduced](<https://devfeed.tech/tags/introduced.md>), [library](<https://devfeed.tech/tags/library.md>), [news](<https://devfeed.tech/tags/news.md>), [react](<https://devfeed.tech/tags/react.md>), [react-native](<https://devfeed.tech/tags/react-native.md>), [tanstack-charts-alpha-introduced](<https://devfeed.tech/tags/tanstack-charts-alpha-introduced.md>), [typescript](<https://devfeed.tech/tags/typescript.md>), [visualization](<https://devfeed.tech/tags/visualization.md>), [vue-js](<https://devfeed.tech/tags/vue-js.md>), [web-development](<https://devfeed.tech/tags/web-development.md>)

### AI overview

TanStack Charts is a new framework-agnostic TypeScript visualization library that uses a grammar-of-graphics approach instead of fixed chart types. It is in Alpha, has about 160,000 weekly downloads, and supports multiple frameworks and environments, though it is not yet stable for production use.

### Source excerpt

TanStack Charts is a new, framework-agnostic visualization library for TypeScript. It allows developers to create visualizations by composing various elements instead of using fixed chart types. Currently in Alpha, it has about 160,000 weekly downloads. The library supports multiple frameworks and is designed for a variety of environments, though it is not yet stable for production use. By Daniel Curtis

## Mir/Wayland-Powered Miracle-WM 0.11 Released With New Overview Mode, Window Urgency

DevFeed: [Mir/Wayland-Powered Miracle-WM 0.11 Released With New Overview Mode, Window Urgency](<https://devfeed.tech/articles/mir-wayland-powered-miracle-wm-0-11-released-with-new-overview-mode-window-urgency-34947.md>)

Original publisher: [Read original article](<https://www.phoronix.com/news/Miracle-WM-0.11>)

Author: Michael Larabel

Published: 2026-09-17T00:58:42Z

Content type: release

Language: en

Sources: [Phoronix](<https://devfeed.tech/sources/phoronix.md>)

Topics: [Wayland](<https://devfeed.tech/topics/wayland.md>), [Library](<https://devfeed.tech/topics/library.md>), [canonical](<https://devfeed.tech/topics/canonical.md>)

Tags: [commands](<https://devfeed.tech/tags/commands.md>), [data](<https://devfeed.tech/tags/data.md>), [desktop-linux](<https://devfeed.tech/tags/desktop-linux.md>), [events](<https://devfeed.tech/tags/events.md>), [github](<https://devfeed.tech/tags/github.md>), [image](<https://devfeed.tech/tags/image.md>), [input](<https://devfeed.tech/tags/input.md>), [ipc](<https://devfeed.tech/tags/ipc.md>), [library](<https://devfeed.tech/tags/library.md>), [linux-benchmarking](<https://devfeed.tech/tags/linux-benchmarking.md>), [linux-hardware-benchmarks](<https://devfeed.tech/tags/linux-hardware-benchmarks.md>), [linux-hardware-reviews](<https://devfeed.tech/tags/linux-hardware-reviews.md>), [linux-how-to](<https://devfeed.tech/tags/linux-how-to.md>), [linux-performance](<https://devfeed.tech/tags/linux-performance.md>), [linux-server-benchmarks](<https://devfeed.tech/tags/linux-server-benchmarks.md>), [open-source-graphics](<https://devfeed.tech/tags/open-source-graphics.md>), [overview](<https://devfeed.tech/tags/overview.md>), [phoronix](<https://devfeed.tech/tags/phoronix.md>), [phoronix-test-suite](<https://devfeed.tech/tags/phoronix-test-suite.md>), [plugins](<https://devfeed.tech/tags/plugins.md>), [release](<https://devfeed.tech/tags/release.md>), [ubuntu-benchmarks](<https://devfeed.tech/tags/ubuntu-benchmarks.md>), [ubuntu-hardware](<https://devfeed.tech/tags/ubuntu-hardware.md>), [update](<https://devfeed.tech/tags/update.md>), [wayland](<https://devfeed.tech/tags/wayland.md>), [window](<https://devfeed.tech/tags/window.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

Miracle-WM 0.11, a Wayland compositor built on the Mir library, adds an overview mode, window urgency support, plugin IPC events and commands, and support for newer Mir protocols. The release is built on Mir 2.29.

### Source excerpt

Canonical engineer Matthew Kosarek rolled out Miracle-WM 0.11 today as an end-of-summer update to this Wayland compositor built atop the Mir library...

## How fast is C++23's std::flat\_map?

DevFeed: [How fast is C++23's std::flat\_map?](<https://devfeed.tech/articles/how-fast-is-c-23-s-std-flat-map-31465.md>)

Original publisher: [Read original article](<https://lemire.me/blog/2026/09/16/how-fast-is-c23s-stdflat_map/>)

Author: Daniel Lemire

Published: 2026-09-16T20:26:36Z

Content type: article

Language: en

Sources: [Daniel Lemire](<https://devfeed.tech/sources/daniel-lemire.md>)

Topics: [Data structures](<https://devfeed.tech/topics/data-structures.md>), [Library](<https://devfeed.tech/topics/library.md>), [gcc](<https://devfeed.tech/topics/gcc.md>), [LLVM](<https://devfeed.tech/topics/llvm.md>), [clang](<https://devfeed.tech/topics/clang.md>)

Tags: [array](<https://devfeed.tech/tags/array.md>), [arrays](<https://devfeed.tech/tags/arrays.md>), [clang](<https://devfeed.tech/tags/clang.md>), [gcc](<https://devfeed.tech/tags/gcc.md>), [llvm](<https://devfeed.tech/tags/llvm.md>), [overhead](<https://devfeed.tech/tags/overhead.md>), [speed](<https://devfeed.tech/tags/speed.md>), [standard-library](<https://devfeed.tech/tags/standard-library.md>)

### AI overview

This article benchmarks C++23's std::flat_map, a sorted container backed by parallel arrays of keys and values. It explains serialization and loading considerations, then compares insertion and lookup performance with std::map. Random-order insertion becomes quadratic as the container grows, while increasing-order or bulk insertion is much faster; random lookups can also be faster for large maps because std::flat_map uses less memory.

### Source excerpt

C++23 added a new type to the standard library: std::flat_map. There is also a std::flat_set and other variants, but let me focus on std::flat_map. A flat map is a sorted vector of keys next to a vector of values. A query is a binary search over the sorted keys. You need a recent standard library: ... Continue reading How fast is C++23's std::flat_map?

## i18nize-templates: Internationalization After the Fact

DevFeed: [i18nize-templates: Internationalization After the Fact](<https://devfeed.tech/articles/i18nize-templates-internationalization-after-the-fact-27382.md>)

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

Author: Khan Academy

Published: 2015-09-28T22:00:00Z

Content type: release

Language: en

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

Topics: [Internationalization (i18n)](<https://devfeed.tech/topics/i18n.md>), [Localization (l10n)](<https://devfeed.tech/topics/localization.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Python](<https://devfeed.tech/topics/python.md>), [Handlebars](<https://devfeed.tech/topics/handlebars.md>), [HTML](<https://devfeed.tech/topics/html.md>), [Library](<https://devfeed.tech/topics/library.md>), [Code](<https://devfeed.tech/topics/code.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Babel](<https://devfeed.tech/topics/babel.md>)

Tags: [babel](<https://devfeed.tech/tags/babel.md>), [code](<https://devfeed.tech/tags/code.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [html](<https://devfeed.tech/tags/html.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [language](<https://devfeed.tech/tags/language.md>), [languages](<https://devfeed.tech/tags/languages.md>), [library](<https://devfeed.tech/tags/library.md>), [news](<https://devfeed.tech/tags/news.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [programming](<https://devfeed.tech/tags/programming.md>), [python](<https://devfeed.tech/tags/python.md>)

### AI overview

Khan Academy describes retrofitting its English-only codebase for internationalization and localization across several HTML-rendering technologies. It introduces i18nize-templates, an open-source Python module that finds natural-language text in HTML and templates and marks it as i18n-aware. The tool supports raw HTML, jinja2, and Handlebars templates and reportedly reduces template annotation time by over 90%.

### Source excerpt

By Craig Silverstein Khan Academy started as a collection of videos, but now has over 100,000 pieces of ... Read more

## 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

## Kermit 2.2.0 adds WasmWasi support and a new Coil3 extension - Kevin Schildhorn

DevFeed: [Kermit 2.2.0 adds WasmWasi support and a new Coil3 extension - Kevin Schildhorn](<https://devfeed.tech/articles/kermit-2-2-0-adds-wasmwasi-support-and-a-new-coil3-extension-kevin-schildhorn-38233.md>)

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

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

Content type: release

Language: en

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

Topics: [Library](<https://devfeed.tech/topics/library.md>), [WebAssembly](<https://devfeed.tech/topics/web-assembly.md>), [Extension](<https://devfeed.tech/topics/extension.md>)

Tags: [2-2](<https://devfeed.tech/tags/2-2.md>), [coil](<https://devfeed.tech/tags/coil.md>), [extension](<https://devfeed.tech/tags/extension.md>), [ios](<https://devfeed.tech/tags/ios.md>), [kermit](<https://devfeed.tech/tags/kermit.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [library](<https://devfeed.tech/tags/library.md>), [swift](<https://devfeed.tech/tags/swift.md>), [update](<https://devfeed.tech/tags/update.md>), [version](<https://devfeed.tech/tags/version.md>), [webassembly](<https://devfeed.tech/tags/webassembly.md>)

### AI overview

Kermit 2.2.0 adds WasmWasi support for selected targets, updates supported targets, and introduces a Kermit module for receiving logs from Coil 3 image loaders.

### Source excerpt

The 2.2.0 update for Kermit is out now featuring a new Coil3 extension, plus support for more targets including WasmWasi.

## SDL3 Ported To HarmonyOS / OpenHarmony

DevFeed: [SDL3 Ported To HarmonyOS / OpenHarmony](<https://devfeed.tech/articles/sdl3-ported-to-harmonyos-openharmony-26767.md>)

Original publisher: [Read original article](<https://www.phoronix.com/news/SDL3-Ported--To-HarmonyOS>)

Author: Michael Larabel

Published: 2026-09-15T16:54:08Z

Content type: news

Language: en

Sources: [Phoronix](<https://devfeed.tech/sources/phoronix.md>)

Topics: [Simple DirectMedia Layer](<https://devfeed.tech/topics/sdl.md>), [huawei](<https://devfeed.tech/topics/huawei.md>), [Library](<https://devfeed.tech/topics/library.md>), [Operating system](<https://devfeed.tech/topics/operating-system.md>), [cross-platform](<https://devfeed.tech/topics/cross-platform.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Software](<https://devfeed.tech/topics/software.md>)

Tags: [applications](<https://devfeed.tech/tags/applications.md>), [cross-platform](<https://devfeed.tech/tags/cross-platform.md>), [desktop-linux](<https://devfeed.tech/tags/desktop-linux.md>), [games](<https://devfeed.tech/tags/games.md>), [huawei](<https://devfeed.tech/tags/huawei.md>), [library](<https://devfeed.tech/tags/library.md>), [linux-benchmarking](<https://devfeed.tech/tags/linux-benchmarking.md>), [linux-hardware-benchmarks](<https://devfeed.tech/tags/linux-hardware-benchmarks.md>), [linux-hardware-reviews](<https://devfeed.tech/tags/linux-hardware-reviews.md>), [linux-how-to](<https://devfeed.tech/tags/linux-how-to.md>), [linux-performance](<https://devfeed.tech/tags/linux-performance.md>), [linux-server-benchmarks](<https://devfeed.tech/tags/linux-server-benchmarks.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [open-source-graphics](<https://devfeed.tech/tags/open-source-graphics.md>), [phoronix](<https://devfeed.tech/tags/phoronix.md>), [phoronix-test-suite](<https://devfeed.tech/tags/phoronix-test-suite.md>), [platform](<https://devfeed.tech/tags/platform.md>), [software](<https://devfeed.tech/tags/software.md>), [ubuntu-benchmarks](<https://devfeed.tech/tags/ubuntu-benchmarks.md>), [ubuntu-hardware](<https://devfeed.tech/tags/ubuntu-hardware.md>)

### AI overview

SDL3 has gained upstream support for Huawei's HarmonyOS and OpenHarmony. The port was sponsored by Outfit7, tested on real hardware, and is already used by some commercial games, according to Icculus.

### Source excerpt

The SDL3 library commonly used for games and applications for cross-platform hardware and software abstractions now has upstream support for Huawei's HarmonyOS and OpenHarmony...

## 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

## CodeSOD: Asynchronous Directories

DevFeed: [CodeSOD: Asynchronous Directories](<https://devfeed.tech/articles/codesod-asynchronous-directories-28505.md>)

Original publisher: [Read original article](<https://thedailywtf.com/articles/asynchronous-directories>)

Author: Remy Porter

Published: 2026-09-09T06:30:00Z

Content type: article

Language: en

Sources: [The Daily WTF](<https://devfeed.tech/sources/the-daily-wtf.md>)

Topics: [Vala](<https://devfeed.tech/topics/vala.md>), [async/await](<https://devfeed.tech/topics/async-await.md>), [Library](<https://devfeed.tech/topics/library.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [async](<https://devfeed.tech/tags/async.md>), [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [await](<https://devfeed.tech/tags/await.md>), [codesod](<https://devfeed.tech/tags/codesod.md>), [exceptions](<https://devfeed.tech/tags/exceptions.md>), [filesystem](<https://devfeed.tech/tags/filesystem.md>), [writing-code](<https://devfeed.tech/tags/writing-code.md>)

### AI overview

This article examines implementing an asynchronous version of Vala's directory-creation method when the core library provides only a synchronous version. The proposed function walks up the directory tree, then creates missing directories in reverse order, using exceptions for control flow.

### Source excerpt

Eri has a mix of a "true confession" and a "wait, really?" today. The programming language Vala bills itself as a C# like language that compiles into something pretty close to C performance, designed specifically for writing code against Gnome and its associated libraries. One of the C#-isms in brings in is async/await type semantics. You can yield someAsyncFunction(), which returns control to the caller, allowing it to proceed until the yielded function returns an actual value. Because it has asynchronous functions, many library functions for handling I/O are already async. So you can make_directory_async, which yields control so you can keep executing while waiting for the filesystem to make your directory. There are also synchronous versions of those methods. And then there's create_directory_with_parents, which will create a chain of directories for you. That's the synchronous version, and Vala's core library has decided not to provide an asynchronous version of it, which is my "wait, really?" I suspect it's really about the race conditions involved and the risks of things going wrong while doing it asynchronously; all solvable problems, but tricky ones to solve. But it's the problem Eri had, and this is their solution: /// Note: does not throw if target already exists async void create_directory_with_parents_async(File file, Cancellable? cancellable = null) throws Error { var to_create = new File[0]; var? current_target = file; while(current_target != null) { try { yield current_target.make_directory_async(Priority.DEFAULT, cancellable); } catch(IOError.NOT_FOUND e) { to_create += current_target; current_target = current_target.get_parent(); continue; } catch(IOError.EXISTS e) { break; } break; } for (int i = to_create.length - 1; i >= 0; --i) { try { yield to_create[i].make_directory_async(Priority.DEFAULT, cancellable); } catch(IOError.EXISTS e) { // Created by another process } } } If I'm reading this correctly, we start by trying to create the full path to

## Track LLM API Costs with genai-prices

DevFeed: [Track LLM API Costs with genai-prices](<https://devfeed.tech/articles/track-llm-api-costs-with-genai-prices-30863.md>)

Original publisher: [Read original article](<https://www.packetcoders.io/track-llm-api-costs-with-genai-prices/>)

Author: Rick Donato

Published: 2026-09-01T11:16:32Z

Content type: tutorial

Language: en

Sources: [Packet Coders - Learn Network Automation](<https://devfeed.tech/sources/packet-coders-learn-network-automation.md>)

Topics: [Large Language Model](<https://devfeed.tech/topics/llm.md>), [API](<https://devfeed.tech/topics/api.md>), [Inference](<https://devfeed.tech/topics/inference.md>), [Library](<https://devfeed.tech/topics/library.md>), [Python](<https://devfeed.tech/topics/python.md>), [Binance](<https://devfeed.tech/topics/binance.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [cost](<https://devfeed.tech/tags/cost.md>), [example](<https://devfeed.tech/tags/example.md>), [genai](<https://devfeed.tech/tags/genai.md>), [inference](<https://devfeed.tech/tags/inference.md>), [install](<https://devfeed.tech/tags/install.md>), [library](<https://devfeed.tech/tags/library.md>), [llm](<https://devfeed.tech/tags/llm.md>), [openai](<https://devfeed.tech/tags/openai.md>), [pricing](<https://devfeed.tech/tags/pricing.md>), [python](<https://devfeed.tech/tags/python.md>), [report](<https://devfeed.tech/tags/report.md>), [request](<https://devfeed.tech/tags/request.md>), [tips](<https://devfeed.tech/tags/tips.md>), [token](<https://devfeed.tech/tags/token.md>), [uv](<https://devfeed.tech/tags/uv.md>)

### AI overview

A tutorial introducing the genai-prices Python library for estimating the cost of calling LLM inference APIs. It explains that the library can avoid maintaining a custom pricing table and can report token counts and cost for each request, with an OpenAI installation and usage example.

### Source excerpt

Tip: Use the genai-prices Python library to calculate the estimated cost of calling LLM inference APIs. This avoids maintaining your own pricing table and lets you report token counts and cost for each request. Below is an example: # Install: uv add openai genai-prices from openai import OpenAI from

## Parquet File Write Support, Bloom Filters, Improved Performance: Hardwood 1.1.0.Beta1 Is Out

DevFeed: [Parquet File Write Support, Bloom Filters, Improved Performance: Hardwood 1.1.0.Beta1 Is Out](<https://devfeed.tech/articles/parquet-file-write-support-bloom-filters-improved-performance-hardwood-1-1-0-beta1-is-out-18856.md>)

Original publisher: [Read original article](<https://www.morling.dev/blog/parquet-file-write-support-bloom-filters-improved-performance-hardwood-1-1-0-beta1/>)

Published: 2026-08-31T19:36:00Z

Content type: release

Language: en

Sources: [Gunnar Morling](<https://devfeed.tech/sources/gunnar-morling.md>)

Topics: [parquet](<https://devfeed.tech/topics/parquet.md>), [Library](<https://devfeed.tech/topics/library.md>), [Parser](<https://devfeed.tech/topics/parser.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Compression](<https://devfeed.tech/topics/compression.md>)

Tags: [apache-parquet](<https://devfeed.tech/tags/apache-parquet.md>), [api](<https://devfeed.tech/tags/api.md>), [cli](<https://devfeed.tech/tags/cli.md>), [compression](<https://devfeed.tech/tags/compression.md>), [library](<https://devfeed.tech/tags/library.md>), [parquet](<https://devfeed.tech/tags/parquet.md>), [performance](<https://devfeed.tech/tags/performance.md>), [release](<https://devfeed.tech/tags/release.md>)

### AI overview

The first beta of Hardwood 1.1 introduces initial Parquet file-writing support through record-based and batch-oriented APIs. The release also adds Bloom filters, dictionary-based row-group pruning, performance improvements, and CLI enhancements.

### Source excerpt

Table of Contents Write Support Query Evaluation: Bloom Filters and Dictionary-Based Row-Group Pruning Performance Improvements Hardwood CLI Closing Thoughts "When is write support gonna land in Hardwood?" That's probably the most common question I got over the last few months. As of today, I am very happy to share that the answer has changed from "It's coming soon" to "A first cut is there, give it a try" -- the first Beta of Hardwood 1.1 is out! This is a major milestone for the project, marking the first step in evolving Hardwood from being solely a Parquet parser to a complete library for this widely used columnar file format. But there's more. This release also comes with significant enhancements to the query layer (Bloom filters, dictionary-based row-group pruning), many performance improvements such as a fast path for effectively fixed-length list columns, an even snappier CLI, and much more. Let's dig into some of the new features and changes!

## Designing Android's missing WorkManager test rule

DevFeed: [Designing Android's missing WorkManager test rule](<https://devfeed.tech/articles/designing-android-s-missing-workmanager-test-rule-25830.md>)

Original publisher: [Read original article](<https://segunfamisa.com/posts/androids-missing-work-manager-test-rule>)

Author: Segun Famisa

Published: 2026-08-30T06:00:00Z

Content type: tutorial

Language: en

Sources: [Segun Famisa](<https://devfeed.tech/sources/segun-famisa.md>)

Topics: [Testing](<https://devfeed.tech/topics/testing.md>), [Library](<https://devfeed.tech/topics/library.md>), [Android](<https://devfeed.tech/topics/android.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [guide](<https://devfeed.tech/tags/guide.md>), [integration-testing](<https://devfeed.tech/tags/integration-testing.md>), [library](<https://devfeed.tech/tags/library.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

The article presents a WorkManager test rule intended to reduce repeated setup, cleanup, state retrieval, and API calls when testing Android work. It discusses the androidx.work:work-testing library, integration-style testing with TestDriver, and a proposed WorkManagerTestRule.

### Source excerpt

TL;DR - create a work manager rule to make your tests easier to write. It's not hard to do, and it pays off. I have been working quite a bit with WorkManager stuff these days, and while attempting to write tests for them, I realised there were things I was doing repeatedly. Work Manager provides a helpful testing library - androidx.work:work-testing and they have a very nice guide on how to write tests for work manager - both integration tests, and testing worker implementation details1, and despite this, I found myself writing a couple of things over and over again. This post is somewhere between bringing awareness to testing APIs available for WorkManager, and showcasing a test rule that I think can help lower the barrier to testing. Before Say I have a SyncDispatcher class that does sync, and sometimes, I want to keep existing work, and other times, I want to replace the existing work. class SyncDispatcher(val workManager: WorkManager) { fun sync(params: SyncParams) { val existingWorkPolicy = if (params.syncAll) { ExistingWorkPolicy.REPLACE } else { ExistingWorkPolicy.APPEND_OR_REPLACE } val workRequest = OneTimeWorkRequestBuilder<SyncWorker>() .setConstraints(Constraints.Builder().setRequiredNetworkType(NetworkType.CONNECTED).build()) .build() workManager.beginUniqueWork("sync-work", existingWorkPolicy, workRequest) .enqueue() } } If I wanted to test this behaviour in an "integration-testing" style, I could use the TestDriver API2 of work manager to instrument the constraints that my work depends on, be it initial delay, network condition, period delay (for perioidic work), stopping the work with a reason, and so on. // SyncDispatcherTest.kt @Before { val config = Configuration.Builder().setExecutor(SynchronousExecutor()).build() WorkManagerTestInitHelper.initializeTestWorkManager(testContext, config) } @Test fun `sync all drops all prior sync requests`() = runTest() { // given that we have previous sync work enqueued dispatch.sync(syncPartialParams) // when we

## Why regex isn't email validation

DevFeed: [Why regex isn't email validation](<https://devfeed.tech/articles/why-regex-isn-t-email-validation-16072.md>)

Original publisher: [Read original article](<https://workos.com/blog/why-regex-isnt-email-validation>)

Author: WorkOS

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

Content type: article

Language: en

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

Topics: [Parsing](<https://devfeed.tech/topics/parsing.md>), [Forms](<https://devfeed.tech/topics/forms.md>), [HTML5 and CSS3 tricks](<https://devfeed.tech/topics/html5-and-css3-tricks.md>), [Library](<https://devfeed.tech/topics/library.md>), [Internet](<https://devfeed.tech/topics/internet.md>)

Tags: [advice](<https://devfeed.tech/tags/advice.md>), [deliverability](<https://devfeed.tech/tags/deliverability.md>), [domain](<https://devfeed.tech/tags/domain.md>), [email](<https://devfeed.tech/tags/email.md>), [forms](<https://devfeed.tech/tags/forms.md>), [framework](<https://devfeed.tech/tags/framework.md>), [html5](<https://devfeed.tech/tags/html5.md>), [internet](<https://devfeed.tech/tags/internet.md>), [library](<https://devfeed.tech/tags/library.md>), [regex](<https://devfeed.tech/tags/regex.md>), [validation](<https://devfeed.tech/tags/validation.md>)

### AI overview

The article explains that email syntax validation with regexes, HTML5 checks, or framework libraries does not establish deliverability or confirm that a mailbox exists. It recommends a loose syntax check and stopping there, while recognizing that stronger checks address separate, less reliable questions.

### Source excerpt

Checking that an address looks right and checking that it can receive mail are different problems. Most signup forms only solve the first one.

## Raising machine-checked security benchmarks to advance hash-based SNARKs through agentic collaboration

DevFeed: [Raising machine-checked security benchmarks to advance hash-based SNARKs through agentic collaboration](<https://devfeed.tech/articles/raising-machine-checked-security-benchmarks-to-advance-hash-based-snarks-through-agentic-collaboration-17233.md>)

Original publisher: [Read original article](<https://blog.ethereum.org/en/2026/08/20/better-codes-challenge>)

Author: Ethereum Foundation Formal Verification team

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

Content type: article

Language: en

Sources: [Ethereum Foundation Blog](<https://devfeed.tech/sources/ethereum-foundation-blog.md>)

Topics: [Formal verification](<https://devfeed.tech/topics/formal-verification.md>), [Lean](<https://devfeed.tech/topics/lean.md>), [Ethereum](<https://devfeed.tech/topics/ethereum.md>), [AI research agents](<https://devfeed.tech/topics/ai-research-agents.md>), [AI Models](<https://devfeed.tech/topics/ai-models.md>), [Library](<https://devfeed.tech/topics/library.md>), [Security](<https://devfeed.tech/topics/security.md>)

Tags: [agentic](<https://devfeed.tech/tags/agentic.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [collaboration](<https://devfeed.tech/tags/collaboration.md>), [ethereum](<https://devfeed.tech/tags/ethereum.md>), [formal-verification](<https://devfeed.tech/tags/formal-verification.md>), [leaderboard](<https://devfeed.tech/tags/leaderboard.md>), [paper](<https://devfeed.tech/tags/paper.md>), [research](<https://devfeed.tech/tags/research.md>), [research-development](<https://devfeed.tech/tags/research-development.md>), [security](<https://devfeed.tech/tags/security.md>), [verification](<https://devfeed.tech/tags/verification.md>)

### AI overview

The Ethereum Foundation's Formal Verification team launched better.codes, an open autoresearch challenge focused on raising the machine-checked soundness bound of the Lean-formalized koalaIRS12 Reed-Solomon proximity problem toward a fixed 128-bit target. Submissions are checked by the Lean kernel and promoted proofs are shared publicly.

### Source excerpt

better.codes, an open autoresearch challenge built by the Ethereum Foundation Formal Verification team in collaboration with Yukon and zkSecurity, is now live. better.codes takes a self-contained problem from the Proximity Prize research, formalized in Lean, and puts its soundness bound on a public leaderboard that anyone can push forward....

## There's a libcurl.dll in my system32

DevFeed: [There's a libcurl.dll in my system32](<https://devfeed.tech/articles/there-s-a-libcurl-dll-in-my-system32-18903.md>)

Original publisher: [Read original article](<https://daniel.haxx.se/blog/2026/08/17/theres-a-libcurl-dll-in-my-system32/>)

Author: Daniel Stenberg

Published: 2026-08-17T21:27:36Z

Content type: opinion

Language: en

Sources: [Daniel Stenberg](<https://devfeed.tech/sources/daniel-stenberg.md>)

Topics: [cURL](<https://devfeed.tech/topics/curl.md>), [Windows](<https://devfeed.tech/topics/windows.md>), [Vulnerabilities](<https://devfeed.tech/topics/vulnerabilities.md>), [Library](<https://devfeed.tech/topics/library.md>)

Tags: [curl](<https://devfeed.tech/tags/curl.md>), [curl-and-libcurl](<https://devfeed.tech/tags/curl-and-libcurl.md>), [vulnerabilities](<https://devfeed.tech/tags/vulnerabilities.md>), [vulnerability-scanner](<https://devfeed.tech/tags/vulnerability-scanner.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

The article explains why a vulnerable libcurl.dll found in Windows System32 cannot safely be upgraded generically. Different Windows applications may install or build libcurl separately, so the application owner must identify and update the specific DLL.

### Source excerpt

This afternoon I had a meeting with IT people at a huge US power infrastructure company. They had found a libcurl.dll file in their C:\Windows\System32 directory and asked us for help to upgrade it. Their vulnerability scanner identified it as vulnerable to several publicly known vulnerabilities. Can we bump it to the latest version please? ... Continue reading There's a libcurl.dll in my system32 ->

## From Search to Search & Apache Lucene: Growing the heart of OpenSearchCon

DevFeed: [From Search to Search & Apache Lucene: Growing the heart of OpenSearchCon](<https://devfeed.tech/articles/from-search-to-search-apache-lucene-growing-the-heart-of-opensearchcon-12787.md>)

Original publisher: [Read original article](<https://opensearch.org/blog/from-search-to-search-apache-lucene-growing-the-heart-of-opensearchcon/>)

Author: Kris Freedain

Published: 2026-08-14T21:57:12Z

Content type: article

Language: en

Sources: [OpenSearch](<https://devfeed.tech/sources/opensearch.md>)

Topics: [Library](<https://devfeed.tech/topics/library.md>), [Maintainers](<https://devfeed.tech/topics/maintainers.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [apache](<https://devfeed.tech/tags/apache.md>), [blog](<https://devfeed.tech/tags/blog.md>), [community](<https://devfeed.tech/tags/community.md>), [event](<https://devfeed.tech/tags/event.md>), [opensearch](<https://devfeed.tech/tags/opensearch.md>), [search](<https://devfeed.tech/tags/search.md>)

### AI overview

Community feedback led OpenSearchCon to expand its Search track into Search & Apache Lucene, creating a dedicated forum for Lucene practitioners, maintainers, and search relevance experts. The article describes the revised track and the strong response to its call for presentations for OpenSearchCon North America 2026.

### Source excerpt

Learn how community feedback transformed OpenSearchCon's Search track into a dedicated home for Apache Lucene practitioners. Discover the new Search & Apache Lucene track at OpenSearchCon North America 2026, September 22-24 in San Jose. The post From Search to Search & Apache Lucene: Growing the heart of OpenSearchCon appeared first on OpenSearch.

## Ruby Instance Variables Are Not Inherited (and Why That Breaks Your DSL)

DevFeed: [Ruby Instance Variables Are Not Inherited (and Why That Breaks Your DSL)](<https://devfeed.tech/articles/ruby-instance-variables-are-not-inherited-and-why-that-breaks-your-dsl-20532.md>)

Original publisher: [Read original article](<https://code.dblock.org/2026/08/14/instance-variables-are-not-inherited-and-why-that-breaks-your-dsl.html>)

Author: Daniel Doubrovkine (dblock@dblock.org)

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

Content type: article

Language: en

Sources: [Daniel Doubrovkine](<https://devfeed.tech/sources/daniel-doubrovkine.md>)

Topics: [Ruby](<https://devfeed.tech/topics/ruby.md>), [bug](<https://devfeed.tech/topics/bug.md>), [Library](<https://devfeed.tech/topics/library.md>), [Development](<https://devfeed.tech/topics/development.md>), [Rails](<https://devfeed.tech/topics/rails.md>)

Tags: [bug](<https://devfeed.tech/tags/bug.md>), [development](<https://devfeed.tech/tags/development.md>), [library](<https://devfeed.tech/tags/library.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [pull-requests](<https://devfeed.tech/tags/pull-requests.md>), [rails](<https://devfeed.tech/tags/rails.md>), [ruby](<https://devfeed.tech/tags/ruby.md>)

### AI overview

This article explains how Ruby instance variables used by the ruby-enum gem are not inherited by subclasses, causing failures involving subclassing, class reloading, and redundant module inclusion. It describes fixes shipped in ruby-enum 1.2.0, including lazy defaults and explicit merging of inherited enums.

### Source excerpt

The ruby-enum gem is a small library I maintain that adds enum-like behavior to a class via include Ruby::Enum and define :KEY, value. Four pull requests landed against it recently, each fixing a different symptom, and all four turned out to be the same underlying bug: class-level instance variables set in a module's included hook are not inherited by subclasses the way you might expect. All of these fixes shipped in ruby-enum 1.2.0. Ruby::Enum stores its keys and values in instance variables on the class itself, set up when the module is included. def self.included(base) base.extend ClassMethods base.instance_variable_set(:@_enum_hash, {}) base.instance_variable_set(:@_enums_by_value, {}) end This works fine for a single class. It gets interesting the moment subclasses or class reloading show up. A user opened #56, reporting DuplicateKeyError from a Rails console after a class that had already defined its enums got reloaded. It reproduces without Rails. class_body = proc do include Ruby::Enum define :RED, 'red' end Colors = Class.new(&class_body) Colors.class_eval(&class_body) # raises DuplicateKeyError Rails' development-mode autoloader re-evaluates a class body, and the second define :RED sees @_enum_hash still holding RED from the first load, so the duplicate-key check fires. The fix clears the hash whenever Ruby::Enum is included, rather than assuming it's always a fresh class. The contributor that reported the problem and submitted the fix also caught a sneakier variant: a subclass that redundantly re-includes Ruby::Enum (include is supposed to be idempotent, right?) was wiping out enums inherited from its parent, because included unconditionally reset the instance variables: class OtherSecondSubclass < FirstSubclass include Ruby::Enum # redundant, but shouldn't lose FirstSubclass's enums define :MAGENTA, 'magenta' end Thanks, Nazar, for tracking both of these down with tests. Months later, #49 surfaced a related crash: a subclass that never calls define itsel

## 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.

## 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.

## Useful Python Libraries Every Network Engineer Should Know

DevFeed: [Useful Python Libraries Every Network Engineer Should Know](<https://devfeed.tech/articles/useful-python-libraries-every-network-engineer-should-know-40168.md>)

Original publisher: [Read original article](<https://blog.j2sw.com/netops/useful-python-libraries-network-engineers/>)

Author: j2sw

Published: 2026-07-21T12:35:00Z

Content type: tutorial

Language: en

Sources: [Justin Wilson (j2sw)](<https://devfeed.tech/sources/justin-wilson-j2sw.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [Library](<https://devfeed.tech/topics/library.md>), [networking](<https://devfeed.tech/topics/networking.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [apis](<https://devfeed.tech/tags/apis.md>), [automation](<https://devfeed.tech/tags/automation.md>), [bgp](<https://devfeed.tech/tags/bgp.md>), [cisco](<https://devfeed.tech/tags/cisco.md>), [code](<https://devfeed.tech/tags/code.md>), [devops](<https://devfeed.tech/tags/devops.md>), [firewalls](<https://devfeed.tech/tags/firewalls.md>), [library](<https://devfeed.tech/tags/library.md>), [netops](<https://devfeed.tech/tags/netops.md>), [network](<https://devfeed.tech/tags/network.md>), [network-engineering](<https://devfeed.tech/tags/network-engineering.md>), [network-operations](<https://devfeed.tech/tags/network-operations.md>), [python](<https://devfeed.tech/tags/python.md>), [python-libraries](<https://devfeed.tech/tags/python-libraries.md>)

### AI overview

This article introduces Python libraries for network engineering, explaining how they support device connections, API interactions, automation, configuration backups, audits, and reports. It discusses Netmiko, NAPALM, Nornir, Paramiko, and Requests.

### Source excerpt

A Python script usually spends very little time doing actual Python work. Most of the actual work comes from libraries that know how to connect to network devices and do the work. They interact with APIs. Once you understand what each library does, you can spend less time writing code and more time solving network ... Read more The post Useful Python Libraries Every Network Engineer Should Know appeared first on Justin Wilson (j2sw).

## Bring your KMP library to NuGet

DevFeed: [Bring your KMP library to NuGet](<https://devfeed.tech/articles/bring-your-kmp-library-to-nuget-25915.md>)

Original publisher: [Read original article](<https://proandroiddev.com/bring-your-kmp-library-to-nuget-02e1131a4707?source=rss-43bae76e8f81------2>)

Author: Isuru Rajapakse

Published: 2026-07-19T13:17:14Z

Content type: tutorial

Language: en

Sources: [Stories by Isuru Rajapakse on Medium](<https://devfeed.tech/sources/stories-by-isuru-rajapakse-on-medium.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [NuGet](<https://devfeed.tech/topics/nuget.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [C#](<https://devfeed.tech/topics/csharp.md>), [.NET](<https://devfeed.tech/topics/net.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [Library](<https://devfeed.tech/topics/library.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-app-development](<https://devfeed.tech/tags/android-app-development.md>), [androiddev](<https://devfeed.tech/tags/androiddev.md>), [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [interfaces](<https://devfeed.tech/tags/interfaces.md>), [kmp](<https://devfeed.tech/tags/kmp.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [library](<https://devfeed.tech/tags/library.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [net](<https://devfeed.tech/tags/net.md>), [nuget](<https://devfeed.tech/tags/nuget.md>), [nuget-package](<https://devfeed.tech/tags/nuget-package.md>)

### AI overview

The article introduces kotlin-native-nuget, a Gradle plugin that packages Kotlin/Native libraries as NuGet packages with generated idiomatic C# bindings. It explains the motivation, configuration, publishing workflow, and supported mappings for Kotlin features such as classes, enums, data classes, coroutines, generics, interfaces, and exceptions.

### Source excerpt

with kotlin-native-nuget plugin, you can bring your Kotlin to C# idiomaticallyhttps://medium.com/media/0f185efc67390bbf440bfc33f5675f42/href A little while ago, I gave a talk where I tried to take a library written in Kotlin and hand it to a .NET developer as a NuGet package. By hand. It is 30 minutes of me walking into every brick wall you can imagine - the C ABI, marshalling strings, keeping objects alive across the boundary, making any of it look like C# a human would actually want to use. Introducing kotlin-native-nuget 🪟kotlin-native-nuget plugin auto-binds your kotlin api into C# I turned all of that into a plugin, so you don't have to hit a single one of those walls. You write Kotlin, and out the other side comes a NuGet package with a proper, idiomatic C# API: classes, enums, data classes, coroutines, Flow, generics, interfaces, the works. No FFI boilerplate, no hand-written [DllImport], no "here's a C header, good luck". Your friends over in .NET just `dotnet add package` it and use it like it was C# all along. It's called kotlin-native-nuget, and it's a Gradle plugin. Here's the pitch: GitHub - xxfast/kotlin-native-nuget: A plugin that packages a Kotlin/Native library as a NuGet package with generated C# bindings, and consumes C# NuGet packages from Kotlin The pitch 🛗plugins { kotlin("multiplatform") id("io.github.xxfast.kotlin.native.nuget") version "<version>" } kotlin { mingwX64 { binaries { sharedLib { baseName = "mycatlib" } } } macosArm64 { binaries { sharedLib { baseName = "mycatlib" } } } } nuget { publish { packageId = "MyCatLib" version = "1.0.0" authors = "yourname" description = "My Kotlin/Native library" rootPackage = "com.example.cats" } } That's it. Add the plugin, point it at your native targets, and run the publish task. Out pops a .nupkg. Why though? 🤔 It's a fair question. I got it a lot (even on that talk) Kotlin Multiplatform already reaches an absurd number of places: the JVM, Android, iOS, JS, Wasm, and native desktop. But there's th

## Creating an environmental logger - Part 1

DevFeed: [Creating an environmental logger - Part 1](<https://devfeed.tech/articles/creating-an-environmental-logger-part-1-13780.md>)

Original publisher: [Read original article](<https://developer.espressif.com/blog/2026/07/basic-logger/>)

Author: John Lee

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

Content type: tutorial

Language: en

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

Topics: [ESP32](<https://devfeed.tech/topics/esp32.md>), [ESP-IDF](<https://devfeed.tech/topics/esp-idf.md>), [Logging](<https://devfeed.tech/topics/logging.md>), [Terminal](<https://devfeed.tech/topics/terminal.md>), [Internet of things](<https://devfeed.tech/topics/iot.md>), [data](<https://devfeed.tech/topics/data.md>), [Library](<https://devfeed.tech/topics/library.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [blog](<https://devfeed.tech/tags/blog.md>), [esp-idf](<https://devfeed.tech/tags/esp-idf.md>), [esp32](<https://devfeed.tech/tags/esp32.md>), [filesystem](<https://devfeed.tech/tags/filesystem.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [i2c](<https://devfeed.tech/tags/i2c.md>), [iot](<https://devfeed.tech/tags/iot.md>), [logging](<https://devfeed.tech/tags/logging.md>), [sensor](<https://devfeed.tech/tags/sensor.md>), [vs-code](<https://devfeed.tech/tags/vs-code.md>)

### AI overview

This tutorial explains how to build an environmental logger with an ESP32-C61-Devkit-C, a DHT20 temperature and humidity sensor, and ESP-IDF. Part 1 covers reading the sensor over I2C and storing measurements in a little_fs filesystem on the module's flash memory.

### Source excerpt

This article shows how to create a simple environmental logger using the DHT20 sensor and store the data on a little_fs filesystem on the module's flash memory.

[Next page](<https://devfeed.tech/topics/library.md?cursor=WyIyMDI2LTA3LTE1VDAwOjAwOjAwKzAwOjAwIiwgImFiOGMzMTc2LWQ3ZDItNDk2OC04MDUzLWU4ODQxNmMxNDRjZiJd>)