# plugin

Published articles for plugin.

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

## Reimagining advertising with AI

DevFeed: [Reimagining advertising with AI](<https://devfeed.tech/articles/reimagining-advertising-with-ai-30934.md>)

Original publisher: [Read original article](<https://openai.com/index/reimagining-advertising-with-ai>)

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

Content type: release

Language: en

Sources: [OpenAI News](<https://devfeed.tech/sources/openai-news.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [OpenAI](<https://devfeed.tech/topics/openai.md>), [ChatGPT](<https://devfeed.tech/topics/chatgpt.md>), [hubspot](<https://devfeed.tech/topics/hubspot.md>), [Shopify](<https://devfeed.tech/topics/shopify.md>)

Tags: [advertising](<https://devfeed.tech/tags/advertising.md>), [agents](<https://devfeed.tech/tags/agents.md>), [ai](<https://devfeed.tech/tags/ai.md>), [chatgpt](<https://devfeed.tech/tags/chatgpt.md>), [hubspot](<https://devfeed.tech/tags/hubspot.md>), [integrations](<https://devfeed.tech/tags/integrations.md>), [openai](<https://devfeed.tech/tags/openai.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [product](<https://devfeed.tech/tags/product.md>), [shopify](<https://devfeed.tech/tags/shopify.md>), [sponsored](<https://devfeed.tech/tags/sponsored.md>)

### AI overview

OpenAI introduces AI-powered advertising features in ChatGPT, including Sponsored Agents that let users converse with select business-sponsored agents after viewing an ad. It also adds prompt-based campaign tools and AI creative tools, plus integrations with HubSpot and Shopify.

### Source excerpt

Explore new AI-powered advertising experiences from OpenAI, including Sponsored Agents, tools for marketers, and integrations with HubSpot and Shopify.

## Babel in Khan Academy's i18n Toolchain

DevFeed: [Babel in Khan Academy's i18n Toolchain](<https://devfeed.tech/articles/babel-in-khan-academy-s-i18n-toolchain-27381.md>)

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

Author: Khan Academy

Published: 2015-06-22T22:00:00Z

Content type: tutorial

Language: en

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

Topics: [Babel](<https://devfeed.tech/topics/babel.md>), [Internationalization (i18n)](<https://devfeed.tech/topics/i18n.md>), [toolchain](<https://devfeed.tech/topics/toolchain.md>), [es6](<https://devfeed.tech/topics/es6.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Parser](<https://devfeed.tech/topics/parser.md>), [Universal Syntax Tree.](<https://devfeed.tech/topics/unist.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [babel](<https://devfeed.tech/tags/babel.md>), [build](<https://devfeed.tech/tags/build.md>), [build-system](<https://devfeed.tech/tags/build-system.md>), [code](<https://devfeed.tech/tags/code.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [es6](<https://devfeed.tech/tags/es6.md>), [eslint](<https://devfeed.tech/tags/eslint.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [news](<https://devfeed.tech/tags/news.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [source](<https://devfeed.tech/tags/source.md>), [structure](<https://devfeed.tech/tags/structure.md>), [syntax](<https://devfeed.tech/tags/syntax.md>), [tests](<https://devfeed.tech/tags/tests.md>), [toolchain](<https://devfeed.tech/tags/toolchain.md>), [types](<https://devfeed.tech/tags/types.md>), [web-frontend](<https://devfeed.tech/tags/web-frontend.md>), [workflow](<https://devfeed.tech/tags/workflow.md>)

### AI overview

Khan Academy describes switching its ES6 and JSX frontend compilation from jstransform to Babel. The article explains a custom Babel plugin for preserving the project's internationalization behavior and discusses matching generated output, line numbers, whitespace, and the existing build chain.

### Source excerpt

By Kevin Barabash We've been using ES6 (along with JSX) for sometime at Khan Academy. Right now, we're ... Read more

## Laravel Vet: Review Composer Code Before It Installs

DevFeed: [Laravel Vet: Review Composer Code Before It Installs](<https://devfeed.tech/articles/laravel-vet-review-composer-code-before-it-installs-26976.md>)

Original publisher: [Read original article](<https://laravel-news.com/laravel-vet>)

Author: Eric L. Barnes

Published: 2026-09-15T13:33:11Z

Content type: release

Language: en

Sources: [Laravel](<https://devfeed.tech/sources/laravel.md>)

Topics: [Composer](<https://devfeed.tech/topics/composer.md>), [Laravel](<https://devfeed.tech/topics/laravel.md>), [PHP](<https://devfeed.tech/topics/php.md>), [Security](<https://devfeed.tech/topics/security.md>)

Tags: [dependency](<https://devfeed.tech/tags/dependency.md>), [laravel](<https://devfeed.tech/tags/laravel.md>), [news](<https://devfeed.tech/tags/news.md>), [php](<https://devfeed.tech/tags/php.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [security](<https://devfeed.tech/tags/security.md>), [supply-chain](<https://devfeed.tech/tags/supply-chain.md>), [trust](<https://devfeed.tech/tags/trust.md>)

### AI overview

Laravel Vet is a first-party Composer plugin that displays dependency code changes before installation, records trusted package files in vet.json, and blocks updates containing untrusted changes. It can also send changes to local coding agents for review.

### Source excerpt

Laravel Vet is a new first-party Composer plugin that shows you the code in every dependency update and records the packages you trust in vet.json. The post Laravel Vet: Review Composer Code Before It Installs appeared first on Laravel News. Join the Laravel Newsletter to get Laravel articles like this directly in your inbox.

## Design in KiCad, Quote with AIVON: A Faster Path to PCB Prototyping (Sponsored)

DevFeed: [Design in KiCad, Quote with AIVON: A Faster Path to PCB Prototyping (Sponsored)](<https://devfeed.tech/articles/design-in-kicad-quote-with-aivon-a-faster-path-to-pcb-prototyping-sponsored-26239.md>)

Original publisher: [Read original article](<https://www.cnx-software.com/2026/09/15/design-in-kicad-quote-with-aivon-a-faster-path-to-pcb-prototyping/>)

Author: Sponsored Post

Published: 2026-09-15T02:00:57Z

Content type: article

Language: en

Sources: [CNX Software - Embedded Systems News](<https://devfeed.tech/sources/cnx-software-embedded-systems-news.md>)

Topics: [Hardware](<https://devfeed.tech/topics/hardware.md>), [systems](<https://devfeed.tech/topics/systems.md>)

Tags: [aivon](<https://devfeed.tech/tags/aivon.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [kicad](<https://devfeed.tech/tags/kicad.md>), [manufacturing](<https://devfeed.tech/tags/manufacturing.md>), [pcb](<https://devfeed.tech/tags/pcb.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [prototyping](<https://devfeed.tech/tags/prototyping.md>), [sponsored](<https://devfeed.tech/tags/sponsored.md>), [verification](<https://devfeed.tech/tags/verification.md>), [workflow](<https://devfeed.tech/tags/workflow.md>)

### AI overview

AIVON's official KiCad Plugin connects a completed PCB layout to an online quotation form. After design-rule checking, it prepares manufacturing data and reduces manual exporting, zipping, uploading, and form entry during PCB prototyping.

### Source excerpt

Finished your PCB layout in KiCad? You don't necessarily need to leave the PCB Editor, export a separate set of manufacturing files, and manually upload them to a PCB manufacturer. AIVON's KiCad Plugin creates a direct path from your PCB design to an online PCB quote. AIVON has integrated an official KiCad plugin that connects a finished PCB layout to the company's online quotation page. After DRC, users can click the plugin in the PCB Editor, automatically prepare manufacturing data, and land on a pre-filled quote form instead of exporting, zipping, and uploading files by hand. Rather than introducing a new plugin framework, AIVON's integration leverages KiCad's existing Plugin and Content Manager ecosystem. For developers who already use KiCad for schematic capture and PCB layout, the integration provides another way to connect the design stage with PCB fabrication without manually repeating every manufacturing-file preparation step. Connecting KiCad PCB Design with [...] The post Design in KiCad, Quote with AIVON: A Faster Path to PCB Prototyping (Sponsored) appeared first on CNX Software - Embedded Systems News.

## Agent Plugins package your skills, tools, and more

DevFeed: [Agent Plugins package your skills, tools, and more](<https://devfeed.tech/articles/agent-plugins-package-your-skills-tools-and-more-4203.md>)

Original publisher: [Read original article](<https://developers.googleblog.com/agent-plugins-package-your-skills-tools-and-more/>)

Author: Kevin Hou; Haoyu Wang; Alan Blount

Published: 2026-09-12T11:04:33.891311Z

Content type: article

Language: en

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

Topics: [Agent Skills](<https://devfeed.tech/topics/agent-skills.md>), [Model Context Protocol (MCP)](<https://devfeed.tech/topics/model-context-protocol-mcp.md>), [MCP Server](<https://devfeed.tech/topics/mcp-server.md>), [Google](<https://devfeed.tech/topics/google.md>), [amazon](<https://devfeed.tech/topics/amazon.md>), [Microsoft](<https://devfeed.tech/topics/microsoft.md>), [OpenAI](<https://devfeed.tech/topics/openai.md>), [Vercel](<https://devfeed.tech/topics/vercel.md>)

Tags: [agent-skills](<https://devfeed.tech/tags/agent-skills.md>), [amazon](<https://devfeed.tech/tags/amazon.md>), [google](<https://devfeed.tech/tags/google.md>), [maintainers](<https://devfeed.tech/tags/maintainers.md>), [manifest](<https://devfeed.tech/tags/manifest.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [mcp-server](<https://devfeed.tech/tags/mcp-server.md>), [microsoft](<https://devfeed.tech/tags/microsoft.md>), [openai](<https://devfeed.tech/tags/openai.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [portable](<https://devfeed.tech/tags/portable.md>), [skills](<https://devfeed.tech/tags/skills.md>), [vercel](<https://devfeed.tech/tags/vercel.md>)

### AI overview

The article introduces Agent Plugins 1.0.0, a vendor-neutral specification for packaging Agent Skills and MCP servers into portable plugins. It standardizes the manifest and directory layout so developers can distribute one package across clients while preserving client-specific flexibility. Google is joining the Core Maintainers and beginning support in its products.

### Source excerpt

Agent Plugins 1.0.0 is a new, vendor-neutral directory specification--backed by Google, Amazon, Microsoft, and others--for packaging Agent Skills and MCP servers into a single portable unit. By standardizing the manifest (plugin.json) and utilizing a fixed directory layout, it eliminates the need for developers to maintain separate wrappers or configurations to support different AI coding agents and IDEs. Google has officially joined as a Core Maintainer and already rolled out support in the Agents CLI and Data Agent Kit, allowing developers to start building and distributing interoperable plugins today.

## Why the AWS PACE Team Built Its Full-Stack Scaffolding as an Nx Plugin

DevFeed: [Why the AWS PACE Team Built Its Full-Stack Scaffolding as an Nx Plugin](<https://devfeed.tech/articles/why-the-aws-pace-team-built-its-full-stack-scaffolding-as-an-nx-plugin-21437.md>)

Original publisher: [Read original article](<https://nx.dev/blog/nx-plugin-for-aws-devkit>)

Author: Juri Strumpflohner

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

Content type: article

Language: en

Sources: [Juri Strumpflohner](<https://devfeed.tech/sources/juri-strumpflohner.md>)

Topics: [Amazon Web Services](<https://devfeed.tech/topics/aws.md>), [coding](<https://devfeed.tech/topics/coding.md>), [AI-assisted coding](<https://devfeed.tech/topics/ai-assisted-coding.md>), [Infrastructure as code](<https://devfeed.tech/topics/infrastructure-as-code.md>), [Template](<https://devfeed.tech/topics/template.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [aws](<https://devfeed.tech/tags/aws.md>), [blog](<https://devfeed.tech/tags/blog.md>), [coding](<https://devfeed.tech/tags/coding.md>), [coding-agents](<https://devfeed.tech/tags/coding-agents.md>), [devkit](<https://devfeed.tech/tags/devkit.md>), [generators](<https://devfeed.tech/tags/generators.md>), [infrastructure-as-code](<https://devfeed.tech/tags/infrastructure-as-code.md>), [nx](<https://devfeed.tech/tags/nx.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [video](<https://devfeed.tech/tags/video.md>)

### AI overview

The article explains why the AWS PACE team built full-stack scaffolding as an Nx plugin using Nx Devkit generators. It discusses predictable prototyping, generated code ownership, infrastructure and application components, and how coding agents affect plugin development.

### Source excerpt

How the AWS PACE team built the Nx Plugin for AWS on the Nx Devkit, and why coding agents make building your own Nx plugin cheaper than ever.

## Standardizing Exception Message Style in Ruby

DevFeed: [Standardizing Exception Message Style in Ruby](<https://devfeed.tech/articles/standardizing-exception-message-style-in-ruby-20535.md>)

Original publisher: [Read original article](<https://code.dblock.org/2026/09/05/standardizing-exception-message-style-in-ruby.html>)

Author: Daniel Doubrovkine (dblock@dblock.org)

Published: 2026-09-05T00: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>), [Exception](<https://devfeed.tech/topics/exception.md>), [ci](<https://devfeed.tech/topics/ci.md>)

Tags: [ci](<https://devfeed.tech/tags/ci.md>), [exception](<https://devfeed.tech/tags/exception.md>), [exceptions](<https://devfeed.tech/tags/exceptions.md>), [grape](<https://devfeed.tech/tags/grape.md>), [lint](<https://devfeed.tech/tags/lint.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [ruby](<https://devfeed.tech/tags/ruby.md>), [standard](<https://devfeed.tech/tags/standard.md>)

### AI overview

The article explains a convention for Ruby exception messages: they should generally begin with lowercase and omit trailing punctuation because they follow the exception class name and a colon. It describes fixing seven inconsistent sites in Grape, documenting the convention, and releasing the rubocop-exception_messages RuboCop plugin to enforce casing and punctuation, with additional checks for redundant class names and interpolation markers.

### Source excerpt

While reviewing dozens of PRs from ericproulx optimizing Grape's internals recently, I noticed that the bare raise ArgumentError, "..." calls scattered across the codebase were inconsistent: some messages were capitalized, some ended in a period, most were not. Longtime readers know where this is going. Ruby's own core and standard library exceptions don't do this - TypeError: no implicit conversion from nil to integer, ArgumentError: wrong number of arguments, and so on all read lowercase and unpunctuated, because the message is meant to be read after the exception class name and a colon, not as a standalone sentence. Grape's own Grape::Exceptions::* classes already follow this convention. The bare raise ArgumentError, "..." calls in dsl/entity.rb, dsl/inside_route.rb, dsl/validations.rb, and validations/types/dry_type_coercer.rb didn't, so I fixed those seven sites and documented the convention in CONTRIBUTING.md, in #2909. To avoid regressions, I wrote rubocop-exception_messages, a RuboCop plugin gem with two cops: ExceptionMessages/Casing flags (and autocorrects) messages that don't start with a lowercase letter. ExceptionMessages/Punctuation flags (and autocorrects) messages with a trailing period, with an exception for a literal ellipsis ("still processing.."), which is stylistic rather than a sentence ending. Both cops recognize raise Class, "message" and raise Class.new("message") forms, and handle interpolated (dstr) messages by only checking the literal string segments (the first segment for casing, the last for punctuation), since interpolated values in the middle are out of the cop's control. # bad raise ArgumentError, 'Missing required option.' # good raise ArgumentError, 'missing required option' The gem ships as a modern RuboCop plugin (via lint_roller), so it's a one-line addition to a consuming project's .rubocop.yml: plugins: - rubocop-exception_messages rubocop-exception_messages 0.2.0 is out now, and I've added it back to Grape's own Gemfile and

## AMD FSR plugin updated for Unreal Engine 5.8

DevFeed: [AMD FSR plugin updated for Unreal Engine 5.8](<https://devfeed.tech/articles/amd-fsr-plugin-updated-for-unreal-engine-5-8-15039.md>)

Original publisher: [Read original article](<https://gpuopen.com/learn/amd-fsr-plugin-updated-for-unreal-engine-58/>)

Author: Joe Rozek; Alexander Blake-Davies

Published: 2026-08-27T12:00:00Z

Content type: release

Language: en

Sources: [AMD GPUOpen](<https://devfeed.tech/sources/amd-gpuopen.md>)

Topics: [Unreal Engine](<https://devfeed.tech/topics/unreal-engine.md>), [releases](<https://devfeed.tech/topics/releases.md>), [GPU](<https://devfeed.tech/topics/gpu.md>), [Machine learning](<https://devfeed.tech/topics/machine-learning.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>)

Tags: [amd-fsr-3](<https://devfeed.tech/tags/amd-fsr-3.md>), [amd-fsr-4](<https://devfeed.tech/tags/amd-fsr-4.md>), [amd-fsr-frame-generation](<https://devfeed.tech/tags/amd-fsr-frame-generation.md>), [amd-fsr-framegeneration](<https://devfeed.tech/tags/amd-fsr-framegeneration.md>), [amd-fsr-upscaling](<https://devfeed.tech/tags/amd-fsr-upscaling.md>), [announcement](<https://devfeed.tech/tags/announcement.md>), [antilag](<https://devfeed.tech/tags/antilag.md>), [fsr-3](<https://devfeed.tech/tags/fsr-3.md>), [fsr-4](<https://devfeed.tech/tags/fsr-4.md>), [game-development](<https://devfeed.tech/tags/game-development.md>), [generation](<https://devfeed.tech/tags/generation.md>), [gpu](<https://devfeed.tech/tags/gpu.md>), [ml](<https://devfeed.tech/tags/ml.md>), [news](<https://devfeed.tech/tags/news.md>), [performance](<https://devfeed.tech/tags/performance.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [product-blogs](<https://devfeed.tech/tags/product-blogs.md>), [product-release](<https://devfeed.tech/tags/product-release.md>), [redstone](<https://devfeed.tech/tags/redstone.md>), [release](<https://devfeed.tech/tags/release.md>), [super-resolution](<https://devfeed.tech/tags/super-resolution.md>), [technical-articles](<https://devfeed.tech/tags/technical-articles.md>), [unreal](<https://devfeed.tech/tags/unreal.md>), [unreal-engine](<https://devfeed.tech/tags/unreal-engine.md>)

### AI overview

The AMD FSR Unreal Engine plugin has been updated for Unreal Engine 5.8. It adds FSR Redstone SDK 2.3 updates, FSR Upscaling 4.1.1 support for AMD Radeon RX 7000 Series GPUs, and FSR Frame Generation 4.0.1 improvements.

### Source excerpt

The updated AMD FSR™ Unreal® Engine plugin brings ML-powered upscaling and frame generation to Unreal Engine 5.8, now extending FSR Upscaling support to AMD Radeon RX 7000 Series GPUs.

## Your alt text passes automated checks. That doesn't mean it's any good.

DevFeed: [Your alt text passes automated checks. That doesn't mean it's any good.](<https://devfeed.tech/articles/your-alt-text-passes-automated-checks-that-doesn-t-mean-it-s-any-good-19853.md>)

Original publisher: [Read original article](<https://github.blog/engineering/user-experience/your-alt-text-passes-automated-checks-that-doesnt-mean-its-any-good/>)

Author: Taarik Ashenafi

Published: 2026-08-24T20:56:32Z

Content type: article

Language: en

Sources: [GitHub](<https://devfeed.tech/sources/github.md>)

Topics: [Accessibility](<https://devfeed.tech/topics/accessibility.md>), [alt text](<https://devfeed.tech/topics/alt-text.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>)

Tags: [accessibility](<https://devfeed.tech/tags/accessibility.md>), [alt-text](<https://devfeed.tech/tags/alt-text.md>), [automation](<https://devfeed.tech/tags/automation.md>), [blog](<https://devfeed.tech/tags/blog.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [false-positives](<https://devfeed.tech/tags/false-positives.md>), [github](<https://devfeed.tech/tags/github.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [scanner](<https://devfeed.tech/tags/scanner.md>), [user-experience](<https://devfeed.tech/tags/user-experience.md>)

### AI overview

This article explains a GitHub Accessibility Scanner plugin for evaluating alt text. It distinguishes deterministic checks that automated tools can prove from contextual quality judgments that may require a model and image context.

### Source excerpt

We built a plugin for the GitHub Accessibility Scanner to make sure your alt text is actually accessible. Here's how it works. The post Your alt text passes automated checks. That doesn't mean it's any good. appeared first on The GitHub Blog.

## Online index migration and shard scaling in OpenSearch with the AOSC plugin

DevFeed: [Online index migration and shard scaling in OpenSearch with the AOSC plugin](<https://devfeed.tech/articles/online-index-migration-and-shard-scaling-in-opensearch-with-the-aosc-plugin-12789.md>)

Original publisher: [Read original article](<https://opensearch.org/blog/online-index-migration-and-shard-scaling-in-opensearch-with-the-aosc-plugin/>)

Author: Arpit Singla

Published: 2026-08-18T21:56:28Z

Content type: article

Language: en

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

Topics: [Amazon OpenSearch Service](<https://devfeed.tech/topics/amazon-opensearch-service.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Routing (disambiguation)](<https://devfeed.tech/topics/routing.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [mapping](<https://devfeed.tech/tags/mapping.md>), [migration](<https://devfeed.tech/tags/migration.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [opensearch](<https://devfeed.tech/tags/opensearch.md>), [pipeline](<https://devfeed.tech/tags/pipeline.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [production](<https://devfeed.tech/tags/production.md>), [reconciliation](<https://devfeed.tech/tags/reconciliation.md>), [routing](<https://devfeed.tech/tags/routing.md>), [schema](<https://devfeed.tech/tags/schema.md>), [technical](<https://devfeed.tech/tags/technical.md>), [workflow](<https://devfeed.tech/tags/workflow.md>)

### AI overview

This article introduces Automatic Online Schema Change (AOSC), an open-source OpenSearch plugin for migrating live indexes to pre-created targets with different mappings, settings, shard counts, or document shapes. It backfills existing documents, replays operations made during migration, and switches an alias after a short write block, while documenting its scaling behavior and limitations.

### Source excerpt

Learn how the open-source AOSC plugin migrates live OpenSearch indexes--changing mappings, settings, or shard counts--without losing writes or requiring downtime. The post Online index migration and shard scaling in OpenSearch with the AOSC plugin appeared first on OpenSearch.

## WordPress AI Connectors: A Developer's Guide to the 7.0 AI Client

DevFeed: [WordPress AI Connectors: A Developer's Guide to the 7.0 AI Client](<https://devfeed.tech/articles/wordpress-ai-connectors-a-developer-s-guide-to-the-7-0-ai-client-17729.md>)

Original publisher: [Read original article](<https://wpshout.com/wordpress-ai-connectors-api/>)

Author: Team WPShout

Published: 2026-08-13T10:53:25Z

Content type: tutorial

Language: en

Sources: [Back-End Development - WPShout](<https://devfeed.tech/sources/back-end-development-wpshout.md>)

Topics: [WordPress](<https://devfeed.tech/topics/wordpress.md>), [WordPress AI](<https://devfeed.tech/topics/wordpress-ai.md>), [API](<https://devfeed.tech/topics/api.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [PHP](<https://devfeed.tech/topics/php.md>)

Tags: [anthropic](<https://devfeed.tech/tags/anthropic.md>), [api](<https://devfeed.tech/tags/api.md>), [back-end-development](<https://devfeed.tech/tags/back-end-development.md>), [guide](<https://devfeed.tech/tags/guide.md>), [llms](<https://devfeed.tech/tags/llms.md>), [php](<https://devfeed.tech/tags/php.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [wordpress](<https://devfeed.tech/tags/wordpress.md>), [wordpress-ai](<https://devfeed.tech/tags/wordpress-ai.md>), [wordpress-news](<https://devfeed.tech/tags/wordpress-news.md>)

### AI overview

A developer guide to WordPress 7.0's AI connectors and AI Client. It explains provider-agnostic LLM requests, API-key configuration, credential handling, provider plugins, and building a runnable example plugin.

### Source excerpt

WordPress 7.0's AI connectors and wp_ai_client_prompt() give any plugin a provider-agnostic way to talk to LLMs. Learn the API and build a working plugin.

## Visual Studio Code 1.133

DevFeed: [Visual Studio Code 1.133](<https://devfeed.tech/articles/visual-studio-code-1-133-4087.md>)

Original publisher: [Read original article](<https://code.visualstudio.com/updates/v1_133>)

Author: Visual Studio Code Team

Published: 2026-08-12T17:00:00Z

Content type: release

Language: en

Sources: [Visual Studio Code - Code Editing. Redefined.](<https://devfeed.tech/sources/visual-studio-code-code-editing-redefined.md>)

Topics: [Visual Studio Code](<https://devfeed.tech/topics/visual-studio-code.md>), [GitHub Copilot CLI](<https://devfeed.tech/topics/github-copilot-cli.md>), [GitHub Copilot app](<https://devfeed.tech/topics/github-copilot-app.md>), [MCP Server](<https://devfeed.tech/topics/mcp-server.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [API keys](<https://devfeed.tech/topics/api-keys.md>), [EJS](<https://devfeed.tech/topics/ejs.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [claude](<https://devfeed.tech/tags/claude.md>), [copilot](<https://devfeed.tech/tags/copilot.md>), [github-copilot](<https://devfeed.tech/tags/github-copilot.md>), [html](<https://devfeed.tech/tags/html.md>), [manifest](<https://devfeed.tech/tags/manifest.md>), [mcp-server](<https://devfeed.tech/tags/mcp-server.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [plugins](<https://devfeed.tech/tags/plugins.md>), [release](<https://devfeed.tech/tags/release.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [visual-studio](<https://devfeed.tech/tags/visual-studio.md>), [vs-code](<https://devfeed.tech/tags/vs-code.md>)

### AI overview

Visual Studio Code 1.133 introduces more flexible Claude sessions, including provider switching between turns and API-key access when GitHub sign-in is unavailable. It also adds an agent host for sharing sessions across VS Code windows, support for the Agent Plugins standard, and automatic reloading for HTML previews.

### Source excerpt

Learn what's new in Visual Studio Code 1.133 Read the full article

## Introducing Agent Plugins

DevFeed: [Introducing Agent Plugins](<https://devfeed.tech/articles/introducing-agent-plugins-759.md>)

Original publisher: [Read original article](<https://vercel.com/blog/introducing-agent-plugins>)

Author: Jonathan Hefner

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

Content type: article

Language: en

Sources: [Vercel News](<https://devfeed.tech/sources/vercel-news.md>)

Topics: [Agent Skills](<https://devfeed.tech/topics/agent-skills.md>), [Model Context Protocol (MCP)](<https://devfeed.tech/topics/model-context-protocol-mcp.md>), [MCP Server](<https://devfeed.tech/topics/mcp-server.md>), [JSON](<https://devfeed.tech/topics/json.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Extension](<https://devfeed.tech/topics/extension.md>)

Tags: [agent-skills](<https://devfeed.tech/tags/agent-skills.md>), [json](<https://devfeed.tech/tags/json.md>), [manifest](<https://devfeed.tech/tags/manifest.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [mcp-server](<https://devfeed.tech/tags/mcp-server.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [plugins](<https://devfeed.tech/tags/plugins.md>), [validation](<https://devfeed.tech/tags/validation.md>)

### AI overview

Agent Plugins 1.0.0 is an open, vendor-neutral standard for packaging Agent Skills and MCP servers into distributable plugins. It defines a directory structure with a plugin.json manifest and fixed component locations, while leaving installation, distribution, policy, user experience, and client-specific capabilities to individual clients.

### Source excerpt

Today, Agent Plugins 1.0.0 is publicly available. Agent Plugins is an open, vendor-neutral standard for plugins that extend AI agents. Agent Skills provide reusable instructions and resources for AI agents. MCP servers connect agents to tools and services. Both can be reused across clients, but clients often package and discover them differently. Agent Plugins gives compatible clients a common format: a directory with a plugin.json manifest and fixed locations for its components. The format is intentionally small and easy to implement, and it leaves installation, distribution, policy, user experience, and client-specific capabilities to each client. One package for the portable parts Extension authors often adapt the same component to several client formats. Even though the underlying Skill or MCP server is identical, clients often expect different top-level metadata, discovery paths, or MCP configuration. Agent Plugins gives those shared components one predictable, structured home: A minimal JSON manifest (plugin.json) identifies the specification version and names the plugin: Those two fields are the minimum requirement for the manifest, and the rest of the contract is represented in the file structure of the directory itself. A reusable component should not need to be repackaged for every client, so the format specifies only what a client needs to discover and load what is inside. Every compatible client checks for plugin.json at the plugin root. Clients that support Skills discover them under skills/. Clients that support MCP servers read their configuration from mcp.json. A client can support either component type or both. After the client validates the manifest, components are validated independently, so one invalid component does not disable unrelated ones. For plugin authors, that means fewer client-specific conventions for the same component. For client implementers, the specification defines a small, deterministic contract for discovery, validation, and lo

## Product release notes - May 2026

DevFeed: [Product release notes - May 2026](<https://devfeed.tech/articles/product-release-notes-may-2026-12295.md>)

Original publisher: [Read original article](<https://www.port.io/blog/product-release-notes-may-2026>)

Author: Etay Alony

Published: 2026-07-30T10:06:41Z

Content type: release

Language: en

Sources: [Developer Experience & Platform Engineering Blog | Port](<https://devfeed.tech/sources/developer-experience-platform-engineering-blog-port.md>)

Topics: [Release notes](<https://devfeed.tech/topics/release-notes.md>), [event driven](<https://devfeed.tech/topics/event-driven.md>), [Claude Code](<https://devfeed.tech/topics/claude-code.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [agentic](<https://devfeed.tech/tags/agentic.md>), [claude-code](<https://devfeed.tech/tags/claude-code.md>), [code](<https://devfeed.tech/tags/code.md>), [community](<https://devfeed.tech/tags/community.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [copilot](<https://devfeed.tech/tags/copilot.md>), [event-driven](<https://devfeed.tech/tags/event-driven.md>), [model](<https://devfeed.tech/tags/model.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [product](<https://devfeed.tech/tags/product.md>), [product-release](<https://devfeed.tech/tags/product-release.md>), [release](<https://devfeed.tech/tags/release.md>), [ui](<https://devfeed.tech/tags/ui.md>), [workflows](<https://devfeed.tech/tags/workflows.md>)

### AI overview

Port's May 2026 release adds a public plugins repository, multiple workflow triggers and placement controls, Claude Code and Copilot integrations, organization-aware browser sessions, and an opt-in sidebar layout.

### Source excerpt

May extends what teams can build on Port: a public plugins repo opens the ecosystem to community use and contribution, Workflows gain multiple triggers and richer placement controls, and two new integrations bring Claude Code and Copilot activity directly into Port.

## KotlinLLM is Going Open Source

DevFeed: [KotlinLLM is Going Open Source](<https://devfeed.tech/articles/kotlinllm-is-going-open-source-8796.md>)

Original publisher: [Read original article](<https://blog.jetbrains.com/research/2026/07/kotlinllm-open-source/>)

Author: Anastasia Birillo

Published: 2026-07-28T07:50:41Z

Content type: article

Language: en

Sources: [Kotlin : A concise multiplatform language developed by JetBrains | The JetBrains Blog](<https://devfeed.tech/sources/kotlin-a-concise-multiplatform-language-developed-by-jetbrains-the-jetbrains-blog.md>)

Topics: [kotlinllm](<https://devfeed.tech/topics/kotlinllm.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [IntelliJ IDEA](<https://devfeed.tech/topics/intellij-idea.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [Code generation](<https://devfeed.tech/topics/code-generation.md>), [AI-assisted coding](<https://devfeed.tech/topics/ai-assisted-coding.md>), [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>)

Tags: [code-completion](<https://devfeed.tech/tags/code-completion.md>), [code-generation](<https://devfeed.tech/tags/code-generation.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [intellij](<https://devfeed.tech/tags/intellij.md>), [intellij-idea](<https://devfeed.tech/tags/intellij-idea.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlinllm](<https://devfeed.tech/tags/kotlinllm.md>), [llm](<https://devfeed.tech/tags/llm.md>), [llms](<https://devfeed.tech/tags/llms.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [research](<https://devfeed.tech/tags/research.md>), [research-prototype](<https://devfeed.tech/tags/research-prototype.md>), [software](<https://devfeed.tech/tags/software.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>)

### AI overview

KotlinLLM is an open-source research prototype and IntelliJ IDEA plugin for Kotlin/JVM projects. It introduces Smart macros whose generated Kotlin source evolves from runtime scenarios, allowing applications to delegate selected logic to an LLM without calling the model on every request or relying on a separate runtime agent.

### Source excerpt

TL;DR KotlinLLM is now public. It's a research prototype for delegating runtime logic to an LLM from Kotlin code. Instead of calling an LLM on every request or running a separate agent, you can write an explicit Kotlin call. Its body is generated Kotlin source code, and that code is updated as your application hits [...]

## Handling Application States and Retries in Cypress End-to-End Tests

DevFeed: [Handling Application States and Retries in Cypress End-to-End Tests](<https://devfeed.tech/articles/what-needs-to-retry-28904.md>)

Original publisher: [Read original article](<https://glebbahmutov.com/blog/what-needs-to-retry/>)

Author: Gleb Bahmutov

Published: 2026-07-28T04:00:00Z

Content type: tutorial

Language: en

Sources: [Gleb Bahmutov](<https://devfeed.tech/sources/gleb-bahmutov.md>)

Topics: [Cypress](<https://devfeed.tech/topics/cypress.md>), [test](<https://devfeed.tech/topics/test.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [can](<https://devfeed.tech/tags/can.md>), [cypress](<https://devfeed.tech/tags/cypress.md>), [errors](<https://devfeed.tech/tags/errors.md>), [flaky](<https://devfeed.tech/tags/flaky.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [products](<https://devfeed.tech/tags/products.md>), [retry](<https://devfeed.tech/tags/retry.md>), [test](<https://devfeed.tech/tags/test.md>), [testing](<https://devfeed.tech/tags/testing.md>), [tests](<https://devfeed.tech/tags/tests.md>)

### AI overview

This tutorial explains how to design Cypress end-to-end tests for loading, empty, and error states. It recommends detecting known error states immediately and using in-place retries with cypress-recurse when appropriate, instead of relying only on whole-test retries.

### Source excerpt

Imagine a typical application that loads some data. The app starts in the initial state, starts loading, then one of 3 possible states ar

## Harness Cursor Plugin Comes to Cursor for iOS

DevFeed: [Harness Cursor Plugin Comes to Cursor for iOS](<https://devfeed.tech/articles/harness-cursor-plugin-comes-to-cursor-for-ios-13383.md>)

Original publisher: [Read original article](<https://www.harness.io/blog/cursor-for-ios-suppport>)

Author: Aurora Chun

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

Content type: release

Language: en

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

Topics: [cursor](<https://devfeed.tech/topics/cursor.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [Security](<https://devfeed.tech/topics/security.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>)

Tags: [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [cursor](<https://devfeed.tech/tags/cursor.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [ios](<https://devfeed.tech/tags/ios.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

The Harness Cursor Plugin now works in Cursor for iOS, allowing developers to check pipeline status, deployment health, and security posture from a phone. Read access is available by default, while write actions require confirmation and the appropriate RBAC role.

### Source excerpt

The Harness Cursor Plugin now works on Cursor for iOS. Check pipeline status, security posture, and deployment health from your phone, governed by RBAC. | Blog

## The forbidden index: Building privacy-preserving search with OpenSearch

DevFeed: [The forbidden index: Building privacy-preserving search with OpenSearch](<https://devfeed.tech/articles/the-forbidden-index-building-privacy-preserving-search-with-opensearch-12790.md>)

Original publisher: [Read original article](<https://opensearch.org/blog/the-forbidden-index-building-privacy-preserving-search-with-opensearch/>)

Author: Kylie Wagar-Dirks

Published: 2026-07-24T15:00:22Z

Content type: article

Language: en

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

Topics: [Open Source](<https://devfeed.tech/topics/open-source.md>), [Access Control](<https://devfeed.tech/topics/access-control.md>), [pii](<https://devfeed.tech/topics/pii.md>), [dashboards](<https://devfeed.tech/topics/dashboards.md>), [tokenization](<https://devfeed.tech/topics/tokenization.md>), [data](<https://devfeed.tech/topics/data.md>), [elasticsearch](<https://devfeed.tech/topics/elasticsearch.md>), [Framework](<https://devfeed.tech/topics/framework.md>)

Tags: [analytics](<https://devfeed.tech/tags/analytics.md>), [analytics-stack](<https://devfeed.tech/tags/analytics-stack.md>), [blog](<https://devfeed.tech/tags/blog.md>), [compliance](<https://devfeed.tech/tags/compliance.md>), [dashboards](<https://devfeed.tech/tags/dashboards.md>), [data](<https://devfeed.tech/tags/data.md>), [dynamic-data](<https://devfeed.tech/tags/dynamic-data.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [opensearch](<https://devfeed.tech/tags/opensearch.md>), [pii](<https://devfeed.tech/tags/pii.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [privacy](<https://devfeed.tech/tags/privacy.md>), [search](<https://devfeed.tech/tags/search.md>), [tokenization](<https://devfeed.tech/tags/tokenization.md>)

### AI overview

The article describes a talk by Unnati Mishra and Akshat Khanna on building privacy-preserving search and analytics with OpenSearch. Their approach moves privacy controls into the ingest layer, using a custom plugin to redact PII at index time through tokenization and dynamic data masking. It also applies differential privacy to OpenSearch Dashboards by adding calibrated noise to aggregate query results.

### Source excerpt

At OpenSearchCon Europe 2026, Unnati Mishra and Akshat Khanna (Angel One) argued that privacy in search must be handled during the ingest phase rather than retroactively through access controls. The post The forbidden index: Building privacy-preserving search with OpenSearch appeared first on OpenSearch.

## NetBox: How to Prevent Direct Changes to the Main Branch

DevFeed: [NetBox: How to Prevent Direct Changes to the Main Branch](<https://devfeed.tech/articles/netbox-how-to-prevent-direct-changes-to-the-main-branch-30859.md>)

Original publisher: [Read original article](<https://www.packetcoders.io/netbox-how-to-prevent-direct-changes-to-main/>)

Author: Rick Donato

Published: 2026-07-17T12:51:04Z

Content type: tutorial

Language: en

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

Topics: [NetBox](<https://devfeed.tech/topics/netbox.md>), [configuration](<https://devfeed.tech/topics/configuration.md>)

Tags: [configuration](<https://devfeed.tech/tags/configuration.md>), [example](<https://devfeed.tech/tags/example.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [netbox](<https://devfeed.tech/tags/netbox.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [tips](<https://devfeed.tech/tags/tips.md>)

### AI overview

This tutorial explains how to use the NetBox Changes plugin to prevent direct changes to the main branch. It describes enabling protect_main so changes use branches and an approval workflow, and provides a configuration example.

### Source excerpt

NetBox Tip! Prevent direct changes to the main branch when using the NetBox Changes plugin. Enable protect_main to ensure all changes are made through branches and follow an approval workflow. Here's an example configuration: # ./configuration.py PLUGINS_CONFIG = { "netbox_changes": { "protect_main": True,

## Vercel Plugin now available in Kimi Code CLI

DevFeed: [Vercel Plugin now available in Kimi Code CLI](<https://devfeed.tech/articles/vercel-plugin-now-available-in-kimi-code-cli-1164.md>)

Original publisher: [Read original article](<https://vercel.com/changelog/vercel-plugin-now-available-in-kimi-code-cli>)

Author: Melkey Moksyakov

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

Content type: release

Language: en

Sources: [Vercel News](<https://devfeed.tech/sources/vercel-news.md>)

Topics: [Vercel](<https://devfeed.tech/topics/vercel.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [Next.js](<https://devfeed.tech/topics/next-js.md>), [vercel ai sdk](<https://devfeed.tech/topics/vercel-ai-sdk.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [apis](<https://devfeed.tech/tags/apis.md>), [cli](<https://devfeed.tech/tags/cli.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [next-js](<https://devfeed.tech/tags/next-js.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>), [vercel](<https://devfeed.tech/tags/vercel.md>)

### AI overview

The Vercel Plugin is now available in the Kimi Code CLI, providing on-demand Vercel platform knowledge and skills for Next.js, AI SDK, Vercel Functions, and other technologies. It also helps keep Kimi Code current with Vercel APIs and recommended patterns.

### Source excerpt

The Vercel Plugin is now available in the Kimi Code CLI. Kimi Code can now draw on Vercel platform knowledge on demand, with skills for Next.js, AI SDK, Vercel Functions, and more. The Vercel Plugin also helps Kimi Code stay up to date with the latest Vercel APIs and recommended patterns. To install it, upgrade to the latest Kimi Code CLI and select the Vercel Plugin from the Third-party section of the /plugin menu. Learn more in the Vercel Plugin documentation. Read more

## Live coding with dir stepper

DevFeed: [Live coding with dir stepper](<https://devfeed.tech/articles/live-coding-with-dir-stepper-20947.md>)

Original publisher: [Read original article](<https://jakewharton.com/live-coding-with-dir-stepper/>)

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

Content type: article

Language: en

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

Topics: [intellij-platform](<https://devfeed.tech/topics/intellij-platform.md>), [IntelliJ IDEA](<https://devfeed.tech/topics/intellij-idea.md>), [Git](<https://devfeed.tech/topics/git.md>), [ide](<https://devfeed.tech/topics/ide.md>), [Code](<https://devfeed.tech/topics/code.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [coding](<https://devfeed.tech/tags/coding.md>), [git](<https://devfeed.tech/tags/git.md>), [ide](<https://devfeed.tech/tags/ide.md>), [intellij-idea](<https://devfeed.tech/tags/intellij-idea.md>), [intellij-platform](<https://devfeed.tech/tags/intellij-platform.md>), [kotlinconf](<https://devfeed.tech/tags/kotlinconf.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [presentation](<https://devfeed.tech/tags/presentation.md>), [procedural](<https://devfeed.tech/tags/procedural.md>), [refactoring](<https://devfeed.tech/tags/refactoring.md>)

### AI overview

The article describes creating a workflow for live-coding presentations after finding that Git commits and interactive rebases were cumbersome for managing sequential coding steps. It explores using IntelliJ IDEA as an extensible platform for a tool that can move through steps, jump to completed states, refactor steps, and keep the process unobtrusive for the presenter and audience.

### Source excerpt

Two months ago I gave my first ever live programming talk at KotlinConf. It was called "Talking to terminals (and how they talk back)", and you can watch it here. I've previously done slide-heavy talks which contained small demos or navigating through an existing codebase. Since this talk was starting from nothing, I decided to just write all the code from nothing. This meant spending the majority of the time in the IDE, but also figuring out how to remember what I was supposed to be writing at each step. Making the wrong choice The exceedingly obvious solution to having a series of steps in a live coding presentation is a git repo and a commit for each step. Unfortunately, this is a huge pain in the ass and really doesn't work at all (at least not for me). I started with commits, but by the 7th or 8th commit I was spending more than half my time doing interactive rebases over the entire history. Need a function in step 8 that should've been extracted between step 3 and 4? That's another 10 minutes rewriting history. Because it's a small set of files that are changing, every commit conflicts with any changes to history. It's also not clear how you actually move through the history. We want to start from nothing and move forward through history. Generally, git helps you jump backwards from the latest, not stepping forward from the oldest. It's not impossible, it's just clearly going against the grain. The problem, defined Now thoroughly enjoying this distraction from writing the actual talk, I distilled what I was trying to solve. Ability to manually write the changes required or to simply jump to the finished step. Some steps are important to watch unfold while others are procedural. This also can help with time management when I (inevitably) run low on time. Easily refactor steps as I go. Later steps often requiring refactoring previous ones to minimize the diff. As the talk evolves I want to add or merge steps. Nearly invisible to me and the viewer. I don't want t

## Making ServiceLoader usable: a provider factory

DevFeed: [Making ServiceLoader usable: a provider factory](<https://devfeed.tech/articles/making-serviceloader-usable-a-provider-factory-18932.md>)

Original publisher: [Read original article](<https://blog.frankel.ch/serviceloader-provider-factory/>)

Author: Stefano Fago

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

Content type: tutorial

Language: en

Sources: [Nicolas Fränkel](<https://devfeed.tech/sources/nicolas-frankel.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [Code](<https://devfeed.tech/topics/code.md>), [JSON Web Tokens](<https://devfeed.tech/topics/jwt.md>), [JSON](<https://devfeed.tech/topics/json.md>)

Tags: [decoupling](<https://devfeed.tech/tags/decoupling.md>), [design-patterns](<https://devfeed.tech/tags/design-patterns.md>), [java](<https://devfeed.tech/tags/java.md>), [json](<https://devfeed.tech/tags/json.md>), [jwt](<https://devfeed.tech/tags/jwt.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [plugins](<https://devfeed.tech/tags/plugins.md>), [serviceloader](<https://devfeed.tech/tags/serviceloader.md>), [spi](<https://devfeed.tech/tags/spi.md>)

### AI overview

This article presents a provider-factory pattern for Java ServiceLoader. Instead of loading a service implementation directly, ServiceLoader loads a small factory with a no-argument constructor; the factory then constructs the service and can support implementation selection and custom constructors. The pattern is illustrated with a mock payments system and is related to decoupling JSON and JWT capabilities from concrete libraries.

### Source excerpt

I keep coming back to java.util.ServiceLoader. I have used it to put a JSON layer behind a contract, so the core code carries no direct dependency on any particular JSON library, and I can swap the implementation without touching callers. The same shape works for JWT handling, where the concrete library might be jose4j or another JOSE implementation, and you can easily find other decoupling use-cases.

## A Real IntelliJ IDEA Inside Docker: Integration Tests with X Server, Window Manager, and Live Video

DevFeed: [A Real IntelliJ IDEA Inside Docker: Integration Tests with X Server, Window Manager, and Live Video](<https://devfeed.tech/articles/a-real-intellij-idea-inside-docker-integration-tests-with-x-server-window-manager-and-live-video-25425.md>)

Original publisher: [Read original article](<https://jonnyzzz.com/blog/2026/07/05/intellij-in-docker-integration-tests/>)

Author: Eugene Petrenko

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

Content type: tutorial

Language: en

Sources: [Eugene Petrenko](<https://devfeed.tech/sources/eugene-petrenko.md>)

Topics: [IntelliJ IDEA](<https://devfeed.tech/topics/intellij-idea.md>), [Docker](<https://devfeed.tech/topics/docker.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Docker Container](<https://devfeed.tech/topics/docker-container.md>), [FFmpeg (Fast Forward Moving Picture Experts Group)](<https://devfeed.tech/topics/ffmpeg.md>), [GUI](<https://devfeed.tech/topics/gui.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [MCP](<https://devfeed.tech/topics/mcp.md>)

Tags: [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [ai-coding](<https://devfeed.tech/tags/ai-coding.md>), [browser](<https://devfeed.tech/tags/browser.md>), [devrig](<https://devfeed.tech/tags/devrig.md>), [docker](<https://devfeed.tech/tags/docker.md>), [docker-container](<https://devfeed.tech/tags/docker-container.md>), [eugene-petrenko](<https://devfeed.tech/tags/eugene-petrenko.md>), [ffmpeg](<https://devfeed.tech/tags/ffmpeg.md>), [gui](<https://devfeed.tech/tags/gui.md>), [intellij](<https://devfeed.tech/tags/intellij.md>), [intellij-idea](<https://devfeed.tech/tags/intellij-idea.md>), [jonnyzzz](<https://devfeed.tech/tags/jonnyzzz.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [mcp-steroid](<https://devfeed.tech/tags/mcp-steroid.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [tag-41199d53f463](<https://devfeed.tech/tags/tag-41199d53f463.md>), [testing](<https://devfeed.tech/tags/testing.md>), [tests](<https://devfeed.tech/tags/tests.md>)

### AI overview

This tutorial presents a reusable approach for running full IntelliJ IDEA integration tests inside Docker with a GUI. It covers the container image, X server, window management, IDE control, and streaming live video to a browser, with open-source code in the test-integration module.

### Source excerpt

Evals that boot a full IntelliJ IDEA -- pixels, dialogs, indexing and all -- inside a Docker container. Xvfb provides the display, fluxbox keeps the windows in place, ffmpeg records everything, and a tiny Node.js server streams the live video straight into a browser tab on your machine. Here is the whole recipe, so you can build your own.

## Опенсорсим YaGS Plugin: открытый плагин для работы с 3DGS внутри Unreal Engine

DevFeed: [Опенсорсим YaGS Plugin: открытый плагин для работы с 3DGS внутри Unreal Engine](<https://devfeed.tech/articles/yags-plugin-3dgs-unreal-engine-24862.md>)

Original publisher: [Read original article](<https://habr.com/ru/companies/yandex/articles/1052328/>)

Author: s\_eliseev (Яндекс)

Published: 2026-07-02T07:02:10Z

Content type: article

Language: ru

Sources: [Яндекс - Как мы делаем Яндекс / Статьи](<https://devfeed.tech/sources/source.md>)

Topics: [3D](<https://devfeed.tech/topics/3d.md>), [Unreal Engine](<https://devfeed.tech/topics/unreal-engine.md>)

Tags: [3d](<https://devfeed.tech/tags/3d.md>), [3dgs](<https://devfeed.tech/tags/3dgs.md>), [gaussian](<https://devfeed.tech/tags/gaussian.md>), [gaussian-splatting](<https://devfeed.tech/tags/gaussian-splatting.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [tag-831b63de9433](<https://devfeed.tech/tags/tag-831b63de9433.md>), [tag-9e9e5e80d07a](<https://devfeed.tech/tags/tag-9e9e5e80d07a.md>), [tag-e6d9cc1f0757](<https://devfeed.tech/tags/tag-e6d9cc1f0757.md>), [unreal-engine](<https://devfeed.tech/tags/unreal-engine.md>)

### AI overview

The article explains how Gaussian Splatting can create photorealistic 3D representations from photographs for film production, city digital twins, and autonomous-transport simulation. It introduces YaGS Plugin, an open-source plugin that integrates Gaussian Splatting scenes into Unreal Engine, and describes the underlying 3DGS representation and reconstruction process.

### Source excerpt

Представьте, что вам нужна фотореалистичная 3D-копия реального объекта или сцены: например, лица актёра для крупного плана или целой городской улицы. Сегодня для этого есть два инструмента: классическое 3D-моделирование и фотограмметрия. Однако они съедают недели работы и ломаются там, где очень важны детали, -- волосы, хром, стекло, отражения превращаются в артефакты. А на то, чтобы снять реалистичную сцену или объект так, чтобы это масштабировалось на тысячи единиц, обычно уходит слишком много времени и денег. Выход из этого тупика для целого ряда задач мы нашли в Gaussian Splatting и прогнали технологию через несколько очень разных проектов: сканирование людей и локаций для кино (например, для "Кибердеревни"), создание цифровых двойников городских кварталов и симуляцию для автономного транспорта. Инструмент один -- задачи разные. И именно на этом контрасте и родилось самое интересное. Сегодня я расскажу, как риг из 15 камер заменяет установку за сотни тысяч долларов и зачем мы используем движущегося человека как калибровочную доску. Объясню, почему для беспилотного автомобиля фотореализм обязан рождаться из данных, а не из 3D-редактора. Ну и, конечно же, расскажу про YaGS Plugin -- наш опенсорс-плагин, который делает Gaussian Splatting полноценной частью сцены в Unreal Engine. Читать далее

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