# modules

A software module is a file or independently developed part of a program containing definitions and statements that can be imported or integrated into other software.

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

## How to Write a Linux Kernel Module That Actually Builds

DevFeed: [How to Write a Linux Kernel Module That Actually Builds](<https://devfeed.tech/articles/how-to-write-a-linux-kernel-module-that-actually-builds-26900.md>)

Original publisher: [Read original article](<https://www.freecodecamp.org/news/how-to-write-a-linux-kernel-module-that-actually-builds/>)

Author: Chris Roy

Published: 2026-09-15T21:10:57Z

Content type: tutorial

Language: en

Sources: [freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More](<https://devfeed.tech/sources/freecodecamp-programming-tutorials-python-javascript-git-more.md>)

Topics: [Kernel](<https://devfeed.tech/topics/kernel.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [modules](<https://devfeed.tech/topics/modules.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [Secure Boot](<https://devfeed.tech/topics/secure-boot.md>)

Tags: [compiler](<https://devfeed.tech/tags/compiler.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [linux](<https://devfeed.tech/tags/linux.md>), [linux-kernel](<https://devfeed.tech/tags/linux-kernel.md>), [module](<https://devfeed.tech/tags/module.md>), [secure-boot](<https://devfeed.tech/tags/secure-boot.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

This tutorial explains how to build and load a Linux kernel module, including the generated object files, metadata, symbols, debug information, required kernel headers and compiler setup, and common Secure Boot and kernel lockdown restrictions.

### Source excerpt

A Linux kernel module is a small piece of code that can be loaded into the running kernel without rebuilding the entire kernel. That sounds simple enough, but even a minimal module produces a surprisi

## The Android Startup Pattern: A Lifecycle-Aware, Multi-Module Approach

DevFeed: [The Android Startup Pattern: A Lifecycle-Aware, Multi-Module Approach](<https://devfeed.tech/articles/the-android-startup-pattern-a-lifecycle-aware-multi-module-approach-22950.md>)

Original publisher: [Read original article](<https://proandroiddev.com/the-android-startup-pattern-a-lifecycle-aware-multi-module-approach-d0f73e367a62?source=rss----c72404660798---4>)

Author: Ehab Elwan

Published: 2026-09-13T05:31:09Z

Content type: tutorial

Language: en

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

Topics: [Android](<https://devfeed.tech/topics/android.md>), [modules](<https://devfeed.tech/topics/modules.md>), [Jetpack](<https://devfeed.tech/topics/jetpack.md>), [Framework](<https://devfeed.tech/topics/framework.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [app-startup](<https://devfeed.tech/tags/app-startup.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [framework](<https://devfeed.tech/tags/framework.md>), [jetpack](<https://devfeed.tech/tags/jetpack.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [mobile-architecture](<https://devfeed.tech/tags/mobile-architecture.md>), [module](<https://devfeed.tech/tags/module.md>), [privacy](<https://devfeed.tech/tags/privacy.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>)

### AI overview

This tutorial presents a lifecycle-aware, dependency-injection-driven startup pattern for modular Android applications. It contrasts a centralized startup anti-pattern with Jetpack App Startup and discusses process lifecycles, testability, and delaying tracking SDK initialization until privacy consent is evaluated.

### Source excerpt

A Clean, DI-Driven Architecture for Managing Cold Starts, Background Wakeups, and Privacy Compliance in Modern Android Apps Image generated by AIDisclosure: This article was drafted by me and refined with the help of AI tools. Every growing Android project eventually spawns a two-headed "God Class." On one side, your Application class becomes a dumping ground for global infrastructure--third-party SDKs, crash reporters, and tracking tools. On the other side, your main entry point (typically the MainViewModel) gets choked with UI-blocking startup logic. It usually looks something like this: The Anti-Pattern: The Two-Headed God Class class MyApplication : Application() { override fun onCreate() { super.onCreate() // The framework dumping ground CrashReportingSDK.getInstance().setCollectionEnabled(true) HeavyUiSDK.initialize(context = this, ...) AnalyticsSDK.initialize(this, "API_KEY") // ... 50 more lines of spaghetti } }class MainViewModel : ViewModel() { init { // The UI-blocking dumping ground updateRemoteConfigs() checkUserSessionToken() processPendingDeepLinks() prefetchHomeFeedData() // ... UI cannot render until this finishes } } Splitting initialization across these two files creates major problems: It breaks the Single Responsibility Principle: The app's entry points are forced to orchestrate the inner workings of every single feature, tightly coupling your modules. It ignores process lifecycles: Application tasks run indiscriminately on every silent background wakeup, while MainViewModel tasks fail to re-trigger when the app returns to the foreground. It destroys testability: Hardcoding SDK initializations directly into your entry points makes it incredibly difficult to write isolated unit tests without complicated mocking setups. It complicates privacy compliance: A centralized dumping ground makes it extremely difficult to dynamically suspend tracking SDKs until user consent under global privacy regulations (such as GDPR, CCPA, and CPRA) is explicitly grant

## jetc.dev Newsletter Issue #328

DevFeed: [jetc.dev Newsletter Issue #328](<https://devfeed.tech/articles/jetc-dev-newsletter-issue-328-22960.md>)

Original publisher: [Read original article](<https://jetc.dev/issues/328.html>)

Author: CommonsWare

Published: 2026-08-25T14:00:00Z

Content type: article

Language: en

Sources: [jetc.dev | Issues](<https://devfeed.tech/sources/jetc-dev-issues.md>)

Topics: [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [modules](<https://devfeed.tech/topics/modules.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [batching](<https://devfeed.tech/tags/batching.md>), [exceptions](<https://devfeed.tech/tags/exceptions.md>), [images](<https://devfeed.tech/tags/images.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [modules](<https://devfeed.tech/tags/modules.md>), [newsletter](<https://devfeed.tech/tags/newsletter.md>), [published](<https://devfeed.tech/tags/published.md>), [videos](<https://devfeed.tech/tags/videos.md>)

### AI overview

Newsletter Issue #328 covers Jetpack Compose development topics, including API modules and composables, lazy-container lifecycle exceptions, recomposition and state-change batching, and selecting and copying text from images and videos.

### Source excerpt

API modules and composables! LazyColumn() exceptions! 'Select and copy text' for images and videos!

## Keep Kotlin Multiplatform bindings at the platform boundary

DevFeed: [Keep Kotlin Multiplatform bindings at the platform boundary](<https://devfeed.tech/articles/keep-kotlin-multiplatform-bindings-at-the-platform-boundary-23964.md>)

Original publisher: [Read original article](<https://cloud-inject.io/notes/kotlin-multiplatform-module-boundaries/>)

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

Content type: tutorial

Language: en

Sources: [Koin - Cloud-Inject.io -Kotzilla](<https://devfeed.tech/sources/koin-cloud-inject-io-kotzilla.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [implementation](<https://devfeed.tech/topics/implementation.md>), [modules](<https://devfeed.tech/topics/modules.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [test](<https://devfeed.tech/topics/test.md>)

Tags: [configuration](<https://devfeed.tech/tags/configuration.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [module](<https://devfeed.tech/tags/module.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [test](<https://devfeed.tech/tags/test.md>), [verification](<https://devfeed.tech/tags/verification.md>)

### AI overview

A guide to keeping Kotlin Multiplatform dependency bindings at platform boundaries. It recommends defining small capability interfaces in common code, implementing them in platform source sets, organizing modules around capabilities and product features, and testing both shared contracts and real platform bindings.

### Source excerpt

Kotlin Multiplatform makes source-set boundaries visible, but a dependency container can blur them again. A shared module should state a capability such as secure storage, HTTP transport, or local time. The platform source set should supply the implementation. Put contracts where consumers can see them Define the smallest useful interface in common code. Avoid copying a platform API into that interface. A storage contract might expose read, write, and remove; it does not need to expose Android preferences or an Apple keychain type.

## Review a Koin upgrade as a graph change, not a version bump

DevFeed: [Review a Koin upgrade as a graph change, not a version bump](<https://devfeed.tech/articles/review-a-koin-upgrade-as-a-graph-change-not-a-version-bump-23963.md>)

Original publisher: [Read original article](<https://cloud-inject.io/notes/koin-version-upgrade-review/>)

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

Content type: tutorial

Language: en

Sources: [Koin - Cloud-Inject.io -Kotzilla](<https://devfeed.tech/sources/koin-cloud-inject-io-kotzilla.md>)

Topics: [Dependency injection](<https://devfeed.tech/topics/dependency-injection.md>), [upgrade](<https://devfeed.tech/topics/upgrade.md>), [modules](<https://devfeed.tech/topics/modules.md>), [test](<https://devfeed.tech/topics/test.md>), [Compose](<https://devfeed.tech/topics/compose.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [compose](<https://devfeed.tech/tags/compose.md>), [dependency-injection](<https://devfeed.tech/tags/dependency-injection.md>), [modules](<https://devfeed.tech/tags/modules.md>), [test](<https://devfeed.tech/tags/test.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>)

### AI overview

This tutorial explains how to review a Koin dependency-injection upgrade as an architecture change rather than a simple version bump. It recommends recording the existing dependency graph, modules, warnings, startup results, and verification output; upgrading mechanisms separately; checking all startup variants; and maintaining tested rollback procedures.

### Source excerpt

Dependency-injection upgrades can change more than API names. Verification behavior, annotation processing, Compose packages, compiler integration, and deprecations can all alter how the graph is built. Treat the upgrade as an architecture change with a defined before-and-after record. Freeze the current graph Before changing versions, save the dependency lock or resolved graph, the list of DI modules, startup smoke-test results, and verification-test output. Record warnings that already exist so a new warning is not confused with old noise.

## Nix-grove: Configuration framework for flake-parts

DevFeed: [Nix-grove: Configuration framework for flake-parts](<https://devfeed.tech/articles/nix-grove-configuration-framework-for-flake-parts-31357.md>)

Original publisher: [Read original article](<https://discourse.nixos.org/t/nix-grove-configuration-framework-for-flake-parts/79444>)

Author: bitbloxhub

Published: 2026-08-08T18:32:05Z

Content type: comparison

Language: en

Sources: [Announcements - NixOS Discourse](<https://devfeed.tech/sources/announcements-nixos-discourse.md>)

Topics: [Nix](<https://devfeed.tech/topics/nix.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [modules](<https://devfeed.tech/topics/modules.md>), [Framework](<https://devfeed.tech/topics/framework.md>)

Tags: [announcements](<https://devfeed.tech/tags/announcements.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [framework](<https://devfeed.tech/tags/framework.md>), [modules](<https://devfeed.tech/tags/modules.md>)

### AI overview

A forum discussion introduces Nix-grove, a configuration framework for flake-parts. It describes using the Nix module system to define typed classes and instances, project them into module systems, and override individual results instead of relying primarily on an import=enable pattern.

### Source excerpt

AI USAGE: I used ChatGPT (GPT-5.6-Sol) to assist with design and planning, and Pi with GPT-5.6-Luna via openai-codex to help with implementation github.com GitHub - bitbloxhub/nix-grove: Configuration framework for flake-parts: define... Configuration framework for flake-parts: define typed classes and instances, project them into Nix module systems, and override individual results. Sort of an "alternative" to the Dendritic pattern. Still is about importing a bunch of flake-parts modules, but uses the module system for more, instead of import=enable. 6 posts - 3 participants Read full topic

## Make scalable routing system for your Flutter Apps

DevFeed: [Make scalable routing system for your Flutter Apps](<https://devfeed.tech/articles/make-scalable-routing-system-for-your-flutter-apps-23053.md>)

Original publisher: [Read original article](<https://medium.com/flutter-community/make-scalable-routing-system-for-your-flutter-apps-73510bf3d602?source=rss----86fb29d7cc6a---4>)

Author: Kanan Yusubov

Published: 2026-07-29T15:25:43Z

Content type: tutorial

Language: en

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

Topics: [Flutter](<https://devfeed.tech/topics/flutter.md>), [Routing (disambiguation)](<https://devfeed.tech/topics/routing.md>), [navigation](<https://devfeed.tech/topics/navigation.md>), [modules](<https://devfeed.tech/topics/modules.md>), [Dependency injection](<https://devfeed.tech/topics/dependency-injection.md>), [Usability](<https://devfeed.tech/topics/usability.md>)

Tags: [clean-architecture](<https://devfeed.tech/tags/clean-architecture.md>), [dependency-injection](<https://devfeed.tech/tags/dependency-injection.md>), [flutter](<https://devfeed.tech/tags/flutter.md>), [go-router](<https://devfeed.tech/tags/go-router.md>), [modular-router](<https://devfeed.tech/tags/modular-router.md>), [modules](<https://devfeed.tech/tags/modules.md>), [navigation](<https://devfeed.tech/tags/navigation.md>), [router](<https://devfeed.tech/tags/router.md>), [routing](<https://devfeed.tech/tags/routing.md>), [routing-system](<https://devfeed.tech/tags/routing-system.md>), [usability](<https://devfeed.tech/tags/usability.md>)

### AI overview

This tutorial describes a scalable, decoupled routing system for Flutter apps. It explains a wrapper built on go_router that adds typed route arguments, native and path parameters, cross-module modularization, nested routes, presentation modes, and type-safe route guards.

### Source excerpt

Recently, I've been working on migrating our app's routing system. We previously used auto_route, but eventually realized its tightly coupled nature made it incredibly difficult to scale across independent modules. Furthermore, its heavy reliance on code generation became a bottleneck for our workflow. To resolve this, we decided to architect a clean, scalable, and highly decoupled routing system. Our new solution is a powerful wrapper built on top of go_router. It abstracts away the raw string navigation and supercharges the router with custom features to maximize usability and type safety. In this blog post, I will walk you through the core benefits of this new routing system, covering the following key topics: Unified Routing Protocol (AppRouteInfo) Strictly Typed Route Arguments Native & Path Parameters Support Cross-Module Modularization (AppModuleRouter) Hierarchical Back stack & Sub-Routes (Nested Route Definitions, Decoupled Cross-Module Navigation) Dynamic Presentation Modes (e.g., Native, ModalSheet, NoTransition) Guard Interceptor Mechanism (Type-Safe Redirects, Global Interceptors) Note: This blog will show the general usage and problems it solved. For more detailed code, you can check the following link: https://github.com/thisisyusub/scalable-routing-system-demoArchitectural Structure of Routing System Here is how the demo application is structured to achieve a fully decoupled, scalable routing system: scalable_routing_system_demo (main app): The entry point of the application responsible for wiring up all services, dependency injection, and global route configurations. app_routes: Houses all route definitions, parameters, routing protocols, and models to ensure fully type-safe navigation. This is decoupled from the core routing package to separate app-specific business needs from generic routing mechanics. routing_system (core router): A generic, domain-agnostic router package that has zero knowledge of the app's specific routes. It exclusively provid

## Profunctor Optics

DevFeed: [Profunctor Optics](<https://devfeed.tech/articles/profunctor-optics-28864.md>)

Original publisher: [Read original article](<https://bartoszmilewski.com/2026/07/19/profunctor-optics/>)

Author: Bartosz Milewski

Published: 2026-07-19T11:39:02Z

Content type: article

Language: en

Sources: [Bartosz Milewski's Programming Cafe](<https://devfeed.tech/sources/bartosz-milewski-s-programming-cafe.md>)

Topics: [Haskell](<https://devfeed.tech/topics/haskell.md>), [Programming language](<https://devfeed.tech/topics/programming-language.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [modules](<https://devfeed.tech/topics/modules.md>)

Tags: [category-theory](<https://devfeed.tech/tags/category-theory.md>), [haskell](<https://devfeed.tech/tags/haskell.md>), [language](<https://devfeed.tech/tags/language.md>), [lens](<https://devfeed.tech/tags/lens.md>), [mapping](<https://devfeed.tech/tags/mapping.md>), [modules](<https://devfeed.tech/tags/modules.md>), [optics](<https://devfeed.tech/tags/optics.md>), [profunctors](<https://devfeed.tech/tags/profunctors.md>), [programming-language](<https://devfeed.tech/tags/programming-language.md>), [tambara-modules](<https://devfeed.tech/tags/tambara-modules.md>)

### AI overview

This article explains profunctor optics through Tannakian reconstruction. It presents optics as a category, describes lenses and their composition in Haskell, and introduces Tambara modules as a representation that simplifies optic composition.

### Source excerpt

You may think of Tannakian Reconstruction as an example of redundant encoding. It lets you replace a simple hom-set with a much more complex end that is taken over an entire functor category. Why would anyone want to do it? The answer is simple: composition! Morphisms on the left compose according to the rules of [...]

## A Gradle Module Structure for Clear Boundaries, Faster Builds, and Test Coverage

DevFeed: [A Gradle Module Structure for Clear Boundaries, Faster Builds, and Test Coverage](<https://devfeed.tech/articles/a-great-gradle-module-structure-30613.md>)

Original publisher: [Read original article](<https://ryanharter.com/blog/2026/07/a-great-gradle-module-structure/>)

Author: Jesse Wilson

Published: 2026-07-15T13:38:11Z

Content type: article

Language: en

Sources: [Blogs on Ryan Harter](<https://devfeed.tech/sources/blogs-on-ryan-harter.md>)

Topics: [Gradle](<https://devfeed.tech/topics/gradle.md>), [build times](<https://devfeed.tech/topics/build-times.md>), [modules](<https://devfeed.tech/topics/modules.md>), [test-coverage](<https://devfeed.tech/topics/test-coverage.md>), [Android Gradle Plugin](<https://devfeed.tech/topics/android-gradle-plugin.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>)

Tags: [android-gradle-plugin](<https://devfeed.tech/tags/android-gradle-plugin.md>), [build](<https://devfeed.tech/tags/build.md>), [build-times](<https://devfeed.tech/tags/build-times.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [modules](<https://devfeed.tech/tags/modules.md>), [test-coverage](<https://devfeed.tech/tags/test-coverage.md>)

### AI overview

The article describes a Gradle module convention that separates each feature's public API from its implementation. The author says this structure reduced build times and coupling between features while helping enforce test coverage, with Android Gradle Plugin support making a separate test-fixtures module unnecessary.

### Source excerpt

Flattening my Dependency Graph Jesse Wilson Jesse explores a Gradle module structure that he likes. Read now ➡ I liked this not-so-recent post from Jesse Wilson, which outlines a Gradle module convention that prioritizes clear public/private boundaries to support encapsulation and build speed. The approach, adapted from one presented by Ralf Wondratschek, also happens to closely resemble one that I helped institute at Dropbox shortly after I joined four and a half years ago.

## Tambara Equipment

DevFeed: [Tambara Equipment](<https://devfeed.tech/articles/tambara-equipment-28862.md>)

Original publisher: [Read original article](<https://bartoszmilewski.com/2026/07/11/tambara-equipment/>)

Author: Bartosz Milewski

Published: 2026-07-11T08:13:34Z

Content type: article

Language: en

Sources: [Bartosz Milewski's Programming Cafe](<https://devfeed.tech/sources/bartosz-milewski-s-programming-cafe.md>)

Topics: [modules](<https://devfeed.tech/topics/modules.md>), [Haskell](<https://devfeed.tech/topics/haskell.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [category-theory](<https://devfeed.tech/tags/category-theory.md>), [code](<https://devfeed.tech/tags/code.md>), [double-categories](<https://devfeed.tech/tags/double-categories.md>), [double-category](<https://devfeed.tech/tags/double-category.md>), [haskell](<https://devfeed.tech/tags/haskell.md>), [modules](<https://devfeed.tech/tags/modules.md>), [optics](<https://devfeed.tech/tags/optics.md>), [proarrow-equipment](<https://devfeed.tech/tags/proarrow-equipment.md>), [profunctors](<https://devfeed.tech/tags/profunctors.md>), [structure](<https://devfeed.tech/tags/structure.md>), [tambara-modules](<https://devfeed.tech/tags/tambara-modules.md>), [tannakian-reconstruction](<https://devfeed.tech/tags/tannakian-reconstruction.md>), [theory](<https://devfeed.tech/tags/theory.md>), [transformation](<https://devfeed.tech/tags/transformation.md>)

### AI overview

This article explains Tambara modules through category theory and illustrates the concepts with Haskell code. It discusses their relationship to profunctors, monoidal actions, double categories, proarrow equipment, and Tannakian reconstruction.

### Source excerpt

I was originally attracted to category theory when trying to understand Haskell optics. I was puzzled by the van Laarhoven's functor representations and Kmett's use of Tambara modules. By playing Tetris with the Yoneda lemma I was able to make some progress, attacking more and more esoteric topics. With a group of researcher and students [...]

## NixOS 26.05 released

DevFeed: [NixOS 26.05 released](<https://devfeed.tech/articles/nixos-26-05-released-38878.md>)

Original publisher: [Read original article](<https://nixos.org/blog/announcements/2026/nixos-2605/>)

Author: NixOS

Published: 2026-05-30T07:00:00Z

Content type: release

Language: en

Sources: [NixOS Announcements](<https://devfeed.tech/sources/nixos-announcements.md>)

Topics: [Nix](<https://devfeed.tech/topics/nix.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [releases](<https://devfeed.tech/topics/releases.md>), [Release notes](<https://devfeed.tech/topics/release-notes.md>), [systemd](<https://devfeed.tech/topics/systemd.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [modules](<https://devfeed.tech/topics/modules.md>), [deprecated](<https://devfeed.tech/topics/deprecated.md>), [Package manager](<https://devfeed.tech/topics/package-manager.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [accessibility](<https://devfeed.tech/tags/accessibility.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [deprecated](<https://devfeed.tech/tags/deprecated.md>), [end-of-life](<https://devfeed.tech/tags/end-of-life.md>), [gcc](<https://devfeed.tech/tags/gcc.md>), [linux](<https://devfeed.tech/tags/linux.md>), [llvm](<https://devfeed.tech/tags/llvm.md>), [macos](<https://devfeed.tech/tags/macos.md>), [modules](<https://devfeed.tech/tags/modules.md>), [nix](<https://devfeed.tech/tags/nix.md>), [nixos](<https://devfeed.tech/tags/nixos.md>), [release](<https://devfeed.tech/tags/release.md>), [release-notes](<https://devfeed.tech/tags/release-notes.md>), [systemd](<https://devfeed.tech/tags/systemd.md>), [x86-64](<https://devfeed.tech/tags/x86-64.md>)

### AI overview

NixOS 26.05, named "Yarara," is publicly available as a new Linux distribution release. The announcement covers package, module, configuration, systemd initrd, platform-support, GNOME, and compiler changes, along with support timelines for NixOS 26.05 and the previous 25.11 release.

### Source excerpt

Hey everyone, we are yayayayaka and jopejoe1, the release managers of the newest release of NixOS. We are very proud to announce the public availability of NixOS 26.05 "Yarara". NixOS is a Linux distribution. Its underlying package repository Nixpkgs can also be used on other Linux systems and macOS with the Nix package manager. This release will receive bugfixes and security updates for seven months (up until 2026-12-31). The old release 25.11 "Xantusia" is now officially deprecated and will reach its end-of-life and stop receiving security updates after 2026-06-30. NixOS Release Notes Highlights New Modules Backward Incompatibilities Other Notable Changes Nixpkgs Release Notes Highlights Backward Incompatibilities Other Notable Changes Nixpkgs Library Upgrade Instructions ISO Image Downloads The 26.05 release was made possible due to the efforts of 2842 contributors, who authored 59703 commits since the previous release. Highlights Our vast and routinely maintained set of packages has also been updated. This release of Nixpkgs Added 20442 new packages Updated 20641 existing packages Removed 17532 outdated packages, in an effort to keep the package set maintainable and secure. In addition to packages from Nixpkgs, the NixOS Linux distribution also features composable configuration modules and integration tests for distributed systems. This release of NixOS Added 85 new modules and 1547 configuration options Removed 25 outdated modules and 355 configuration options. systemd stage 1 Stage 1 (a.k.a. initrd) is now based on systemd by default, and the old scripted implementation is deprecated and scheduled for removal in 26.11. Deprecation of x86_64-darwin This will be the last release of Nixpkgs to support x86_64-darwin. Platform support will be maintained and binaries built until Nixpkgs 26.05 goes out of support at the end of 2026. For 26.11, due to Apple's deprecation of the platform and limited build infrastructure and developer time, we will no longer build packa

## Metro DI for Ktor Backend: From a God Object through manual DI to Constructor Injection

DevFeed: [Metro DI for Ktor Backend: From a God Object through manual DI to Constructor Injection](<https://devfeed.tech/articles/metro-di-for-ktor-backend-from-a-god-object-through-manual-di-to-constructor-injection-22966.md>)

Original publisher: [Read original article](<https://funkymuse.github.io/posts/metro-di-ktor-server/>)

Author: FunkyMuse

Published: 2026-05-15T15:35:00Z

Content type: tutorial

Language: en

Sources: [FunkyMuse](<https://devfeed.tech/sources/funkymuse.md>)

Topics: [Ktor](<https://devfeed.tech/topics/ktor.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [modules](<https://devfeed.tech/topics/modules.md>)

Tags: [backend](<https://devfeed.tech/tags/backend.md>), [constructor](<https://devfeed.tech/tags/constructor.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [di](<https://devfeed.tech/tags/di.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [ktor](<https://devfeed.tech/tags/ktor.md>), [redis](<https://devfeed.tech/tags/redis.md>), [server](<https://devfeed.tech/tags/server.md>), [unit-test](<https://devfeed.tech/tags/unit-test.md>)

### AI overview

This article describes replacing manual dependency injection in a Ktor backend with Metro. It explains how default constructor parameters and a central BackendComponent can accidentally couple tests to real dependencies such as Redis, while Metro wires constructor parameters at compile time and removes those defaults.

### Source excerpt

The Starting Point: a God Object When Rudio was a created a few months ago it used the simplest possible DI: one big object BackendComponent with everything wired manually via by lazy and lateinit var. No framework, no annotations, no ceremony, then i started adding things and manual DI became a tedious and tiring task because everywhere i used default parameters to achieve default constructor...

## Compose Unstyled 2.0 introduces a foundation for building Compose component libraries

DevFeed: [Compose Unstyled 2.0 introduces a foundation for building Compose component libraries](<https://devfeed.tech/articles/compose-unstyled-2-0-let-there-be-component-libraries-28449.md>)

Original publisher: [Read original article](<https://composables.com/blog/compose-unstyled-2.0>)

Author: Alex Styl

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

Content type: release

Language: en

Sources: [Composables - Concise, no-fluff video tutorials for Android developers](<https://devfeed.tech/sources/composables-concise-no-fluff-video-tutorials-for-android-developers.md>)

Topics: [Compose](<https://devfeed.tech/topics/compose.md>), [Design system](<https://devfeed.tech/topics/design-system.md>), [modules](<https://devfeed.tech/topics/modules.md>), [Accessibility](<https://devfeed.tech/topics/accessibility.md>)

Tags: [accessibility](<https://devfeed.tech/tags/accessibility.md>), [component](<https://devfeed.tech/tags/component.md>), [compose](<https://devfeed.tech/tags/compose.md>), [design-system](<https://devfeed.tech/tags/design-system.md>), [modules](<https://devfeed.tech/tags/modules.md>), [release](<https://devfeed.tech/tags/release.md>)

### AI overview

Compose Unstyled 2.0 is presented as a foundation for building custom Compose component libraries. The release introduces composable component APIs, redesigned Dropdown and Tooltip APIs, separate modules, and a fully unstyled core with deprecated APIs removed.

### Source excerpt

Compose Unstyled 2.0 is a new foundation for building your own Compose component library.

## How AI agents could shift software work from code changes to specifications and module rebuilds

DevFeed: [How AI agents could shift software work from code changes to specifications and module rebuilds](<https://devfeed.tech/articles/agents-are-the-new-compilers-specs-are-the-new-code-25207.md>)

Original publisher: [Read original article](<https://kau.sh/blog/agent-compilers/>)

Author: Kaushik Gopal

Published: 2026-05-04T16:00:00Z

Content type: opinion

Language: en

Sources: [Kaushik Gopal's Site](<https://devfeed.tech/sources/kaushik-gopal-s-site.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>), [Agent Skills](<https://devfeed.tech/topics/agent-skills.md>), [Software](<https://devfeed.tech/topics/software.md>), [Refactoring](<https://devfeed.tech/topics/refactoring.md>), [modules](<https://devfeed.tech/topics/modules.md>), [patches](<https://devfeed.tech/topics/patches.md>)

Tags: [agents](<https://devfeed.tech/tags/agents.md>), [ai](<https://devfeed.tech/tags/ai.md>), [code](<https://devfeed.tech/tags/code.md>), [module](<https://devfeed.tech/tags/module.md>), [patches](<https://devfeed.tech/tags/patches.md>), [refactoring](<https://devfeed.tech/tags/refactoring.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>)

### AI overview

This opinion article argues that AI agents may act like compilers, turning detailed specifications into software and reducing the need to write implementation code directly. Drawing on examples where the author changed implementations while preserving behavior, it suggests that agents could make rebuilding entire modules more practical than incremental patching and refactoring.

### Source excerpt

Linus Torvalds recently said1 AI will be to code what compilers were to assembly -- freeing us from writing it by hand. Around the same time, I talked with Jesse Vincent (creator of one of the most popular agent skills out there -- superpowers). Something he said stuck with me: Specs are going to be the new code. I realize those two ideas snap together a little too neatly. Agents are compilers2 and specs will become code. Software engineering is moving up another level of abstraction and we've seen this play out before. Specs as source ## I saw this first-hand with my tiny USB-C cable checker -- usbi. It started as a shell command over macOS's system_profiler, then became Go when I wanted a proper binary, then Rust because I wanted to practice Rust, and later a .kts version. The code kept changing. The thing I cared about did not: parse the USB tree, identify the attached devices, report the speed, and make bad cables obvious. Podsync, my voice track sync program, followed the same pattern. It started in Python because the audio libraries were there. Then I moved it to Rust because I didn't want to ship a Python runtime or care which Python version happened to be on a machine. Again, the implementation changed. The behavior stayed boringly stable: take a master track and local tracks, find the offset, pad or trim each file, and drop aligned audio into the DAW. Compilers freed us from writing assembly. Agents may free us from writing code because it becomes an artifact the spec produces. The somewhat recent push around detailed exec plans could be an early signal of the looming shift at bigger scale. Rebuilds instead of patches ## Push that thought further. We might get comfortable rebuilding whole modules instead of patching and refactoring them. We preserved the old shape of a system because throwing it away cost too much. Even when you know the module is wrong, you sand it down: extract an interface, migrate one caller at a time, add tests around behavior nobody full

## Modernizing the Command Line: Heroku CLI v11

DevFeed: [Modernizing the Command Line: Heroku CLI v11](<https://devfeed.tech/articles/modernizing-the-command-line-heroku-cli-v11-26469.md>)

Original publisher: [Read original article](<https://www.heroku.com/blog/modernizing-the-command-line-heroku-cli-v11/>)

Author: Eric Black

Published: 2026-03-19T22:29:49Z

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>), [ECMAScript](<https://devfeed.tech/topics/ecmascript.md>), [modules](<https://devfeed.tech/topics/modules.md>), [migration](<https://devfeed.tech/topics/migration.md>), [maintenance](<https://devfeed.tech/topics/maintenance.md>), [Usability](<https://devfeed.tech/topics/usability.md>)

Tags: [cli](<https://devfeed.tech/tags/cli.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [heroku](<https://devfeed.tech/tags/heroku.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [legacy](<https://devfeed.tech/tags/legacy.md>), [maintainability](<https://devfeed.tech/tags/maintainability.md>), [migration](<https://devfeed.tech/tags/migration.md>), [modules](<https://devfeed.tech/tags/modules.md>), [monorepo](<https://devfeed.tech/tags/monorepo.md>), [news](<https://devfeed.tech/tags/news.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [npm](<https://devfeed.tech/tags/npm.md>), [performance](<https://devfeed.tech/tags/performance.md>), [release](<https://devfeed.tech/tags/release.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>), [usability](<https://devfeed.tech/tags/usability.md>)

### AI overview

Heroku CLI v11 is available with a migration to ECMAScript Modules and oclif v4. The release also changes the build system from Yarn to npm, removes the monorepo structure, improves command execution and manifest caching, and adds semantic colors and theme support.

### Source excerpt

Heroku CLI v11 is now available. This release represents the most significant architectural overhaul in years, completing our migration to ECMAScript Modules (ESM) and oclif v4. This modernization brings faster performance, a new semantic color system, and aligns the CLI with modern JavaScript standards. While v11 introduces breaking changes to legacy namespaces, the benefits are [...] The post Modernizing the Command Line: Heroku CLI v11 appeared first on Heroku.

## pg\_plan\_advice: Plan Stability and User Planner Control for PostgreSQL?

DevFeed: [pg\_plan\_advice: Plan Stability and User Planner Control for PostgreSQL?](<https://devfeed.tech/articles/pg-plan-advice-plan-stability-and-user-planner-control-for-postgresql-33636.md>)

Original publisher: [Read original article](<https://rhaas.blogspot.com/2026/03/pgplanadvice-plan-stability-and-user.html>)

Author: Robert Haas (noreply@blogger.com)

Published: 2026-03-04T17:55:00Z

Content type: opinion

Language: en

Sources: [Robert Haas](<https://devfeed.tech/sources/robert-haas.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [JOIN](<https://devfeed.tech/topics/join.md>), [modules](<https://devfeed.tech/topics/modules.md>), [Query (disambiguation)](<https://devfeed.tech/topics/query.md>)

Tags: [join](<https://devfeed.tech/tags/join.md>), [modules](<https://devfeed.tech/tags/modules.md>), [plan](<https://devfeed.tech/tags/plan.md>), [planner](<https://devfeed.tech/tags/planner.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [query](<https://devfeed.tech/tags/query.md>), [test](<https://devfeed.tech/tags/test.md>)

### AI overview

The article presents a proposed PostgreSQL 19 patch set introducing the pg_plan_advice, pg_collect_advice, and pg_stash_advice contrib modules. It demonstrates how pg_plan_advice can generate plan advice strings, preserve selected planner decisions, or vary advice to produce a different join plan.

### Source excerpt

I'm proposing a very ambitious patch set for PostgreSQL 19. Only time will tell whether it ends up in the release, but I can't resist using this space to give you a short demonstration of what it can do. The patch set introduces three new contrib modules, currently called pg_plan_advice, pg_collect_advice, and pg_stash_advice. Read more "

## 7 steps in a Legacy Modernization Project

DevFeed: [7 steps in a Legacy Modernization Project](<https://devfeed.tech/articles/7-steps-in-a-legacy-modernization-project-20742.md>)

Original publisher: [Read original article](<https://tomassetti.me/7-steps-in-a-legacy-modernization-project/>)

Author: Federico Tomassetti

Published: 2026-02-25T06:55:00Z

Content type: tutorial

Language: en

Sources: [Federico Tomassetti](<https://devfeed.tech/sources/federico-tomassetti.md>)

Topics: [Agile](<https://devfeed.tech/topics/agile.md>), [Code quality](<https://devfeed.tech/topics/code-quality.md>), [Code](<https://devfeed.tech/topics/code.md>), [modules](<https://devfeed.tech/topics/modules.md>)

Tags: [automated](<https://devfeed.tech/tags/automated.md>), [business-value](<https://devfeed.tech/tags/business-value.md>), [code-quality](<https://devfeed.tech/tags/code-quality.md>), [legacy-modernization](<https://devfeed.tech/tags/legacy-modernization.md>), [modernization](<https://devfeed.tech/tags/modernization.md>), [modules](<https://devfeed.tech/tags/modules.md>), [project](<https://devfeed.tech/tags/project.md>), [rpg](<https://devfeed.tech/tags/rpg.md>), [technical](<https://devfeed.tech/tags/technical.md>)

### AI overview

This tutorial outlines seven steps for modernizing an RPG-based ERP/MRP system: assess the legacy landscape, define a roadmap, secure buy-in and budget, build the right team and partnerships, execute iterative value-driven increments, manage change, and measure and adapt the modernization effort.

### Source excerpt

Embarking on an RPG-based ERP/MRP system modernization is undeniably complex. But it's also highly rewarding when aligned with your business's long-term success. By addressing both the technical and strategic facets, you turn an aging system from a liability into a competitive asset. Let's outline the 7 steps in a legacy modernization project: Step 1: Assess [...] The post 7 steps in a Legacy Modernization Project appeared first on Federico Tomassetti.

## Inspecting the Source of Go Modules

DevFeed: [Inspecting the Source of Go Modules](<https://devfeed.tech/articles/inspecting-the-source-of-go-modules-20695.md>)

Original publisher: [Read original article](<https://words.filippo.io/go-source/>)

Author: Filippo Valsorda

Published: 2026-02-12T13:48:03Z

Content type: article

Language: en

Sources: [Filippo Valsorda](<https://devfeed.tech/sources/filippo-valsorda.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [modules](<https://devfeed.tech/topics/modules.md>), [integrity](<https://devfeed.tech/topics/integrity.md>), [Security](<https://devfeed.tech/topics/security.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [cryptographic](<https://devfeed.tech/tags/cryptographic.md>), [github](<https://devfeed.tech/tags/github.md>), [go](<https://devfeed.tech/tags/go.md>), [integrity](<https://devfeed.tech/tags/integrity.md>), [modules](<https://devfeed.tech/tags/modules.md>), [security](<https://devfeed.tech/tags/security.md>), [tooling](<https://devfeed.tech/tags/tooling.md>), [transparency-log](<https://devfeed.tech/tags/transparency-log.md>), [verification](<https://devfeed.tech/tags/verification.md>), [verify](<https://devfeed.tech/tags/verify.md>)

### AI overview

The article explains how the Go Checksum Database verifies module source and helps protect against altered tags and targeted versions. It argues that viewing code directly on GitHub can bypass this verification, using a malicious BoltDB module incident as an example, and recommends fetching source with Go tooling for review.

### Source excerpt

Code hosts like GitHub don't necessarily show the correct source of Go modules. pkg.geomys.dev is a new convenient viewer for module source.

## From Dagger to Metro

DevFeed: [From Dagger to Metro](<https://devfeed.tech/articles/from-dagger-to-metro-20445.md>)

Original publisher: [Read original article](<https://vinted.engineering//2026/02/12/from-dagger-to-metro/>)

Author: Andrius Semionovas

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

Content type: article

Language: en

Sources: [Vinted](<https://devfeed.tech/sources/vinted.md>)

Topics: [Dependency injection](<https://devfeed.tech/topics/dependency-injection.md>), [Android](<https://devfeed.tech/topics/android.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Dagger](<https://devfeed.tech/topics/dagger.md>), [interoperability](<https://devfeed.tech/topics/interoperability.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [modules](<https://devfeed.tech/topics/modules.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [compatibility](<https://devfeed.tech/tags/compatibility.md>), [compilation](<https://devfeed.tech/tags/compilation.md>), [dagger](<https://devfeed.tech/tags/dagger.md>), [dependency-injection](<https://devfeed.tech/tags/dependency-injection.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [interoperability](<https://devfeed.tech/tags/interoperability.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [migration](<https://devfeed.tech/tags/migration.md>), [modules](<https://devfeed.tech/tags/modules.md>)

### AI overview

Vinted's Android developers describe their migration from Dagger and related dependency-injection tools to Metro. The article covers their large, modular codebase, Anvil's maintenance status and K2 migration pressure, and Metro's interoperability with Dagger, Anvil, and kotlin-inject.

### Source excerpt

Metro - modern and kotlin injection framework created by Zac Sweers. And we, Android developers at Vinted, officially and fully migrated to it! It was quite a bumpy ride for our huge codebase. Our story begins...

## IPLD 2025 Review: From Monoliths to Modules

DevFeed: [IPLD 2025 Review: From Monoliths to Modules](<https://devfeed.tech/articles/ipld-2025-review-from-monoliths-to-modules-35627.md>)

Original publisher: [Read original article](<https://blog.ipfs.tech/2026-01-ipld-2025-review/>)

Author: Volker Mische

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

Content type: article

Language: en

Sources: [IPFS](<https://devfeed.tech/sources/ipfs.md>)

Topics: [Rust](<https://devfeed.tech/topics/rust.md>), [modules](<https://devfeed.tech/topics/modules.md>), [migration](<https://devfeed.tech/topics/migration.md>), [IPFS](<https://devfeed.tech/topics/ipfs.md>), [AT Protocol](<https://devfeed.tech/topics/atproto.md>), [deprecated](<https://devfeed.tech/topics/deprecated.md>)

Tags: [deprecated](<https://devfeed.tech/tags/deprecated.md>), [ipfs](<https://devfeed.tech/tags/ipfs.md>), [migration](<https://devfeed.tech/tags/migration.md>), [modules](<https://devfeed.tech/tags/modules.md>), [object-object](<https://devfeed.tech/tags/object-object.md>), [protocol](<https://devfeed.tech/tags/protocol.md>), [rust](<https://devfeed.tech/tags/rust.md>)

### AI overview

The article reviews progress in the IPLD ecosystem during 2025 and previews work for 2026. It describes the Rust IPLD implementation's migration to separate crates, its deprecation, improved performance for Python DAG-CBOR and Bluesky custom feeds, and a migration path to Serde-based crates.

### Source excerpt

The year that brought us modular Rust libraries, faster DAG-CBOR, stable multiformats, and a simpler on-ramp with DASL.

## go.sum Is Not a Lockfile

DevFeed: [go.sum Is Not a Lockfile](<https://devfeed.tech/articles/go-sum-is-not-a-lockfile-20696.md>)

Original publisher: [Read original article](<https://words.filippo.io/gosum/>)

Author: Filippo Valsorda

Published: 2026-01-05T20:06:30Z

Content type: article

Language: en

Sources: [Filippo Valsorda](<https://devfeed.tech/sources/filippo-valsorda.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [modules](<https://devfeed.tech/topics/modules.md>), [Security](<https://devfeed.tech/topics/security.md>), [supply chain attacks](<https://devfeed.tech/topics/supply-chain-attacks.md>)

Tags: [dependencies](<https://devfeed.tech/tags/dependencies.md>), [go](<https://devfeed.tech/tags/go.md>), [golang](<https://devfeed.tech/tags/golang.md>), [modules](<https://devfeed.tech/tags/modules.md>), [security](<https://devfeed.tech/tags/security.md>), [supply-chain-attacks](<https://devfeed.tech/tags/supply-chain-attacks.md>)

### AI overview

The article explains that Go's go.sum is a local cache of cryptographic hashes for the Go Checksum Database, not a lockfile and not part of version resolution. It contrasts go.sum with go.mod, which lists the precise dependency versions used to build the main module and its tests.

### Source excerpt

In Go, go.mod acts as both manifest and lockfile. There is never a reason to look at go.sum.

## NixOS 25.11 released

DevFeed: [NixOS 25.11 released](<https://devfeed.tech/articles/nixos-25-11-released-38874.md>)

Original publisher: [Read original article](<https://nixos.org/blog/announcements/2025/nixos-2511/>)

Author: NixOS

Published: 2025-11-30T16:00:00Z

Content type: release

Language: en

Sources: [NixOS Announcements](<https://devfeed.tech/sources/nixos-announcements.md>)

Topics: [Nix](<https://devfeed.tech/topics/nix.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Release notes](<https://devfeed.tech/topics/release-notes.md>), [version](<https://devfeed.tech/topics/version.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [modules](<https://devfeed.tech/topics/modules.md>), [CMake](<https://devfeed.tech/topics/cmake.md>), [gcc](<https://devfeed.tech/topics/gcc.md>), [LLVM](<https://devfeed.tech/topics/llvm.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [bugfixes](<https://devfeed.tech/tags/bugfixes.md>), [cmake](<https://devfeed.tech/tags/cmake.md>), [compilers](<https://devfeed.tech/tags/compilers.md>), [deprecated](<https://devfeed.tech/tags/deprecated.md>), [end-of-life](<https://devfeed.tech/tags/end-of-life.md>), [gcc](<https://devfeed.tech/tags/gcc.md>), [linux](<https://devfeed.tech/tags/linux.md>), [llvm](<https://devfeed.tech/tags/llvm.md>), [nix](<https://devfeed.tech/tags/nix.md>), [nixos](<https://devfeed.tech/tags/nixos.md>), [nixpkgs](<https://devfeed.tech/tags/nixpkgs.md>), [release](<https://devfeed.tech/tags/release.md>), [release-notes](<https://devfeed.tech/tags/release-notes.md>), [version](<https://devfeed.tech/tags/version.md>)

### AI overview

NixOS 25.11 "Xantusia" is publicly available. The release updates Nixpkgs with new, updated, and removed packages; adds configuration modules and options; updates GNOME to version 49, LLVM to version 21, and CMake to version 4; and provides bugfix and security updates through June 30, 2026.

### Source excerpt

Hey everyone, we are jopejoe1 and Leona Maroni, the release managers of the newest release of NixOS. We are very proud to announce the public availability of NixOS 25.11 "Xantusia". NixOS is a Linux distribution. Its underlying package repository Nixpkgs can also be used on other Linux systems and macOS with the Nix package manager. This release will receive bugfixes and security updates for seven months (up until 2026-06-30). The old release 25.05 "Warbler" is now officially deprecated and will reach its end-of-life and stop receiving security updates after 2025-12-31. NixOS Release Notes Highlights New Modules Backward Incompatibilities Other Notable Changes Nixpkgs Release Notes Highlights Backward Incompatibilities Other Notable Changes Nixpkgs Library Upgrade Instructions ISO Image Downloads The 25.11 release was made possible due to the efforts of 2742 contributors, who authored 59430 commits since the previous release. Highlights Our vast and routinely maintained set of packages has also been updated. This release of Nixpkgs Added 7002 new packages Updated 25252 existing packages Removed 6338 outdated packages, in an effort to keep the package set maintainable and secure. In addition to packages from Nixpkgs, the NixOS Linux distribution also features composable configuration modules and integration tests for distributed systems. This release of NixOS Added 107 new modules and 1778 configuration options Removed 41 outdated modules and 807 configuration options. GNOME 49 GNOME has been updated to version 49 "Brescia", which removes X11 session support, introduces a new video player, a new document viewer, a redesigned calendar and more changes. Refer to the release notes for more details. C compilers LLVM has been updated to version 21. GCC remains at version 14. CMake was updated to version 4. Special Thanks We want to personally thank Seth and dish for editorializing the release notes Yohann Boniface for the release logo The NixOS infrastructure team for the

## Python in Visual Studio Code - November 2025 Release

DevFeed: [Python in Visual Studio Code - November 2025 Release](<https://devfeed.tech/articles/python-in-visual-studio-code-november-2025-release-20352.md>)

Original publisher: [Read original article](<https://devblogs.microsoft.com/python/python-in-visual-studio-code-november-2025-release/>)

Author: Luciana Abud

Published: 2025-11-13T18:41:50Z

Content type: release

Language: en

Sources: [Microsoft Python Engineering](<https://devfeed.tech/sources/microsoft-python-engineering.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [Visual Studio Code](<https://devfeed.tech/topics/visual-studio-code.md>), [GitHub Copilot](<https://devfeed.tech/topics/github-copilot.md>), [debug](<https://devfeed.tech/topics/debug.md>), [modules](<https://devfeed.tech/topics/modules.md>)

Tags: [copilot](<https://devfeed.tech/tags/copilot.md>), [debugger](<https://devfeed.tech/tags/debugger.md>), [developers](<https://devfeed.tech/tags/developers.md>), [features](<https://devfeed.tech/tags/features.md>), [github-copilot](<https://devfeed.tech/tags/github-copilot.md>), [improvements](<https://devfeed.tech/tags/improvements.md>), [modules](<https://devfeed.tech/tags/modules.md>), [python](<https://devfeed.tech/tags/python.md>), [release](<https://devfeed.tech/tags/release.md>), [visual-studio-code](<https://devfeed.tech/tags/visual-studio-code.md>)

### AI overview

The November 2025 release of the Python extension for Visual Studio Code adds Copilot Hover Summaries support for inserting AI-generated documentation as docstrings, localized hover summaries, a Pylance Code Action for converting wildcard imports to explicit imports, and debugger support for multiple project interpreters through the Python Environments Extension.

### Source excerpt

The November 2025 release brings new Pylance features including improvements to Copilot Hover Summaries and a Code Action to convert wildcard imports to explicit imports. Keep on reading to learn more! The post Python in Visual Studio Code - November 2025 Release appeared first on Microsoft for Python Developers Blog.

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