{"id":23844,"date":"2025-02-27T01:29:33","date_gmt":"2025-02-27T09:29:33","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/?p=23844"},"modified":"2025-02-27T01:29:33","modified_gmt":"2025-02-27T09:29:33","slug":"dev-proxy-v0-25-now-available-with-automatic-shut-down-and-simplified-configuration-management","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/dev-proxy-v0-25-now-available-with-automatic-shut-down-and-simplified-configuration-management\/","title":{"rendered":"Dev Proxy v0.25, now available, with automatic shut down and simplified configuration management"},"content":{"rendered":"<p>We\u2019re excited to announce the release of Dev Proxy v0.25. This update brings significant improvements to configuration management, plugin support, and usability, making it easier than ever to simulate APIs and test applications under real-world conditions.<\/p>\n<p>In this version:<\/p>\n<ul>\n<li>Automatically closing Dev Proxy when inactive<\/li>\n<li>A new command to create a config file<\/li>\n<li>Improved discoverability of plugin options<\/li>\n<li>Smarter handling of &#8211;urls-to-watch<\/li>\n<li>JSON schema support for plugin configurations<\/li>\n<li>&#8230;and more!<\/li>\n<\/ul>\n<h2>Automatically closing Dev Proxy when inactive<\/h2>\n<p>Ever left Dev Proxy running longer than intended? In this release, we\u2019re introducing the `timeout` option that allows you to specify how long Dev Proxy should run when inactive before automatically stopping.<\/p>\n<p>For example, to have Dev Proxy automatically shut down after it\u2019s been inactive for 30 seconds, run:<\/p>\n<p><code>devproxy --timeout 30 <\/code><\/p>\n<p>Each time Dev Proxy intercepts a request, it resets the inactivity timer.<\/p>\n<p>Thanks to <a href=\"https:\/\/github.com\/joshua-siw\">Joshua<\/a> for contributing this feature!<\/p>\n<h2>A new config new command<\/h2>\n<p>Storing Dev Proxy settings in dedicated configuration files allows you to easily switch in using it for different scenarios. In this version, we introduce a new command that allows you to quickly create a new configuration file in the current folder.<\/p>\n<p>To create a new configuration file, run:<\/p>\n<p><code>devproxy config new<\/code><\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" width=\"2322\" height=\"1606\" class=\"wp-image-23845\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-1.png\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-1.png 2322w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-1-300x207.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-1-1024x708.png 1024w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-1-768x531.png 768w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-1-1536x1062.png 1536w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-1-2048x1416.png 2048w\" sizes=\"(max-width: 2322px) 100vw, 2322px\" \/><em>Easily create a new Dev Proxy configuration file using the new `config new` command<\/em><\/p>\n<p>If you don\u2019t specify a name, this command creates a file with the default devproxyrc.json name. If a file with the same name exists, Dev Proxy will append a number (e.g., devproxyrc_2.json) to ensure uniqueness.<\/p>\n<p>By default, new configuration files include the current schema reference, a section for adding plugins, URLs to watch, and default settings, in short, everything to help you get started configuring Dev Proxy to your needs.<\/p>\n<h2>Improved discoverability of plugin options<\/h2>\n<p>When running devproxy -h, options provided by plugins were not displayed due to optimizations that prevented plugin loading for global options. This made it harder for you to discover available plugin-specific configurations.<\/p>\n<p>With this update, Dev Proxy loads plugins when displaying help (-h), making it easier to see the available commands and options.<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" width=\"2262\" height=\"1572\" class=\"wp-image-23846\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-2.png\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-2.png 2262w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-2-300x208.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-2-1024x712.png 1024w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-2-768x534.png 768w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-2-1536x1067.png 1536w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-2-2048x1423.png 2048w\" sizes=\"(max-width: 2262px) 100vw, 2262px\" \/><em>Dev Proxy showing plugins\u2019 options in its help information<\/em><\/p>\n<h2>Smarter handling of &#8211;urls-to-watch<\/h2>\n<p>Previously, the &#8211;urls-to-watch argument allowed you to override URLs specified in the configuration file when using the MockResponsePlugin. However, with the recent update to the mock file format\u2014where request URLs are explicitly defined\u2014this behavior became inconsistent.<\/p>\n<p>By updating the URL of the requests in random errors file to `https:\/\/*\/*` you retain the ability to override URLs to watch from command line.<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" width=\"1552\" height=\"928\" class=\"wp-image-23847\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-3.png\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-3.png 1552w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-3-300x179.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-3-1024x612.png 1024w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-3-768x459.png 768w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-3-1536x918.png 1536w\" sizes=\"(max-width: 1552px) 100vw, 1552px\" \/><em>Make request URLs in random errors file generic to allow overriding them from command line<\/em><\/p>\n<p>We&#8217;ve updated the default errors file that we include with Dev Proxy to reflect this change and show you how it works in action.<\/p>\n<h2>Breaking changes<\/h2>\n<p>This version includes several breaking changes.<\/p>\n<h3>Better rate configuration for error simulation<\/h3>\n<p>Previously, the `rate` option, that defines the request failure rate, was exposed as a global configuration property, but in practice, it only applied to the Graph- and GenericRandomError plugins. In this release, we\u2019ve moved the `rate` setting to these plugins specifically, preventing confusion and keeping configurations cleaner.<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" width=\"1198\" height=\"1070\" class=\"wp-image-23848\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-4.png\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-4.png 1198w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-4-300x268.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-4-1024x915.png 1024w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-4-768x686.png 768w\" sizes=\"(max-width: 1198px) 100vw, 1198px\" \/><em>`rate` option moved to be a plugin setting.<\/em><\/p>\n<p>The `rate` option defined as a global property is ignored.<\/p>\n<h3>Renamed `preset get` to `config get` and moved `config` to `config open`<\/h3>\n<p>To unify all commands related to managing configuration, we renamed the `preset get` command to `config get`. We also moved the functionality of the `config` command, which opens the currently used configuration file in a code editor, to `config open`.<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" width=\"1704\" height=\"928\" class=\"wp-image-23849\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-5.png\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-5.png 1704w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-5-300x163.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-5-1024x558.png 1024w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-5-768x418.png 768w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-5-1536x837.png 1536w\" sizes=\"(max-width: 1704px) 100vw, 1704px\" \/><em>Dev Proxy config options<\/em><\/p>\n<h2>JSON schema support for plugin configurations<\/h2>\n<p>To improve IntelliSense and real-time feedback, we\u2019re introducing JSON schemas for plugin configuration. In each configuration block, you can now add a `$schema` property which references the corresponding schema.<\/p>\n<p>In the future versions of Dev Proxy, we\u2019ll add validating the config based on the provided schemas to let you know as soon as possible if there\u2019s something wrong with your configuration.<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" width=\"2218\" height=\"982\" class=\"wp-image-23850\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-6.png\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-6.png 2218w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-6-300x133.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-6-1024x453.png 1024w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-6-768x340.png 768w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-6-1536x680.png 1536w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2025\/02\/word-image-23844-6-2048x907.png 2048w\" sizes=\"(max-width: 2218px) 100vw, 2218px\" \/><em>Plugin configuration section with a schema reference<\/em><\/p>\n<p>To avoid naming conflicts and align the names, we renamed the previously released schemas for random errors, mock responses and API configuration.<\/p>\n<h2>Bug fixes and improvements<\/h2>\n<p>In this version, we fix several bugs.<\/p>\n<ul>\n<li>Fixed an issue with GraphMinimalPermissionsPlugin where retrieving minimal permissions failed due to an exception.<\/li>\n<li>Fixed a bug where watchProcessNames was not set from the config file due to unexpected empty collections overwriting user-defined values.<\/li>\n<li>Fixed missing RC schema properties to include languageModel and filterByHeaders, ensuring configurations align with recent feature updates.<\/li>\n<li>Changed the default language model to llama3.2 for improved generation of operation ID and description when using Dev Proxy to generate OpenAPI specs.<\/li>\n<\/ul>\n<h2>New version of Dev Proxy Toolkit<\/h2>\n<p>Dev Proxy Toolkit is a Visual Studio Code extension that makes it easy to create and update configuration files. Alongside the new release of Dev Proxy, we\u2019ve also released a new version of the toolkit, v0.18.0.<\/p>\n<p>In this version, we\u2019ve updated all code snippets to use the latest schema and reflect the breaking changes in v0.25.0 release.<\/p>\n<p>Checkout the <a href=\"https:\/\/marketplace.visualstudio.com\/items\/garrytrinder.dev-proxy-toolkit\/changelog\">changelog<\/a> for more information on changes and bug fixes.<\/p>\n<h2>Dev Proxy joins .NET Foundation<\/h2>\n<p>We\u2019re excited to share that the Dev Proxy project has joined the .NET Foundation. The .NET Foundation is an independent, non-profit organization established to support an innovative, commercially friendly, open-source ecosystem around the .NET platform. We\u2019re thankful for this opportunity and are looking forward to engaging with the community.<\/p>\n<h2>There\u2019s more<\/h2>\n<p>This release also includes several bug fixes and improvements. Check out the <a href=\"https:\/\/github.com\/microsoft\/dev-proxy\/releases\/tag\/v0.25.0\">release notes<\/a> for the complete list of changes in this version.<\/p>\n<h2>Try it now<\/h2>\n<p><a href=\"https:\/\/learn.microsoft.com\/microsoft-cloud\/dev\/dev-proxy\/get-started\/set-up\">Download Dev Proxy v0.25<\/a> today and build better API-connected applications!<\/p>\n<p>Have questions or feedback? Join our <a href=\"https:\/\/aka.ms\/devproxy\/discord\">Discord community<\/a> and let us know what you think.<\/p>\n<p><em>Follow us on <\/em><a href=\"http:\/\/twitter.com\/microsoft365dev\"><em>X \/ @Microsoft365Dev<\/em><\/a><em> , <a href=\"http:\/\/linkedin.com\/showcase\/microsoft365dev\">LinkedIn<\/a>, and subscribe to our <\/em><a href=\"https:\/\/www.youtube.com\/microsoft365developer\"><em>YouTube channel<\/em><\/a><em> to stay up to date on the latest developer news and announcements.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Read more about the latest Dev Proxy release featuring significant improvements to configuration management, plugin support, and usability.<\/p>\n","protected":false},"author":100385,"featured_media":23852,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[289,384],"class_list":["post-23844","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-microsoft-365-developer","tag-dev-proxy","tag-dev-proxy-toolkit"],"acf":[],"blog_post_summary":"<p>Read more about the latest Dev Proxy release featuring significant improvements to configuration management, plugin support, and usability.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/23844","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/users\/100385"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/comments?post=23844"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/23844\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/media\/23852"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/media?parent=23844"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/categories?post=23844"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/tags?post=23844"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}