[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"package:cask:bruno:es":3,"releases:stats:cask:bruno:es":475,"releases:cask:bruno:1:false:false:es":476,"releases-count:cask:bruno:true:es":604},{"accentColor":4,"artifacts":5,"autoUpdates":29,"categories":30,"conflictsWith":36,"dependsOn":39,"deprecated":46,"description":47,"descriptionEn":48,"developer":49,"disabled":46,"displayName":50,"downloadSha256":51,"downloadSize":52,"downloadUrl":53,"editorChoice":46,"formulaeUrl":54,"homepage":55,"iconUrl":56,"installCommand":57,"installs":58,"installs30d":59,"isFont":46,"isLibrary":46,"kegOnly":46,"kind":62,"latestRelease":63,"machineTranslated":46,"name":50,"names":82,"platforms":84,"primaryCategory":444,"rank30d":445,"releaseCount":446,"releaseStats":447,"repoUrl":453,"screenshots":454,"sourceLocale":75,"sourceUrl":462,"summary":463,"summaryTranslation":464,"supports":466,"tags":468,"tap":474,"token":83,"version":81,"versionChangedAt":67},"#F2A642",{"apps":6,"binaries":8,"entries":9,"pkgs":28},[7],"Bruno.app",[],[10,17],{"declaration":11,"phase":14,"sources":15,"target":13,"type":16},{"app":12,"target":13},[7],"\u002FApplications\u002FBruno.app","install",[7],"app",{"declaration":18,"phase":25,"sources":26,"type":27},{"zap":19},[20],{"trash":21},[22,23,24],"~\u002FLibrary\u002FApplication Support\u002Fbruno","~\u002FLibrary\u002FPreferences\u002Fcom.usebruno.app.plist","~\u002FLibrary\u002FSaved Application State\u002Fcom.usebruno.app.savedState","cleanup",[],"zap",[],true,[31],{"icon":32,"machineTranslated":29,"name":33,"slug":34,"sourceLocale":35},"lucide:code-xml","Herramientas de desarrollo","developer-tools","zh-CN",{"casks":37,"formulae":38},[],[],{"arch":40,"casks":43,"formulae":44,"requirements":45},[41,42],"arm64","x86_64",[],[],{},false,"Bruno es un cliente de API de escritorio con prioridad local, dirigido a desarrolladores, ingenieros de control de calidad y equipos que mantienen colecciones de solicitudes junto al código fuente. Las colecciones son archivos normales en formato Bru, por lo que se pueden revisar y compartir con Git sin que sea obligatoria la sincronización de colecciones en la nube.\n\n## Funciones\n- Crear y enviar solicitudes HTTP\u002FREST, GraphQL y gRPC, y luego inspeccionar encabezados, cuerpos y respuestas.\n- Organizar colecciones y entornos, usar variables y gestionar la autenticación de las solicitudes.\n- Ejecutar aserciones y scripts JavaScript previos a la solicitud y posteriores a la respuesta para realizar pruebas repetibles.\n- Importar colecciones de API existentes y definiciones OpenAPI, y generar código de cliente.\n- Colaborar mediante archivos locales y control de versiones; las funciones de Git integradas varían según la edición.\n- Usar flujos de trabajo opcionales de documentación y servidores simulados; la CLI de Bruno, que se instala por separado, permite la automatización y la integración continua.\n\n## Instalación y uso\nInstala la aplicación de escritorio para Mac con `brew install --cask bruno` o descarga el DMG oficial para Apple Silicon o Intel y mueve Bruno a Aplicaciones. Crea o abre un directorio de colecciones, configura su entorno y autenticación, y envía una solicitud a tu API. La descarga de escritorio incluye el entorno de ejecución de Electron; compilar desde el código fuente e instalar la CLI por separado tienen requisitos distintos de Node.js y de la cadena de herramientas.\n\nBruno almacena las colecciones localmente, pero las solicitudes siguen necesitando acceso a sus servidores de destino. Los proveedores de Git opcionales, la validación de licencias y otras integraciones pueden comunicarse con servicios externos. Trata las colecciones importadas y los scripts como material ejecutable: revísalos antes de ejecutarlos. La versión4.2.1 corrige problemas del sandbox de QuickJS relacionados con rutas y el cargador de módulos, y el proyecto recomienda actualizar.\n\n## Sistemas, dependencias y conflictos\nLas versiones oficiales de escritorio están disponibles para macOS, Windows y Linux, con paquetes de lanzamiento para x64 y ARM64. El registro actual de Homebrew no indica dependencias de fórmula adicionales, conflictos explícitos ni una versión mínima de macOS; esa ausencia no garantiza la compatibilidad. La versión4.2.1 incluye Electron37.6.1. La documentación etiquetada de Electron37.6.1 indica macOS11 Big Sur o posterior y Windows10 o posterior, y verifica su entorno de ejecución de Linux en Ubuntu18.04+, Fedora32+ y Debian10+. Estos son requisitos mínimos de compatibilidad del entorno de ejecución, no una garantía independiente de que todas las funciones de Bruno funcionen en todas las distribuciones; utiliza la arquitectura correcta y consulta los requisitos de descarga de la aplicación. La configuración oficial del paquete DEB para Linux requiere las bibliotecas GTK3, libnotify, NSS, XSS, Xtst, xdg-utils, AT-SPI, UUID, libsecret y ALSA. Las fuentes citadas no establecen la memoria RAM mínima ni el espacio en disco tras la instalación. No se ha constatado la existencia de una edición oficial para móviles del cliente de escritorio.\n\nEl DMG oficial para Apple Silicon de4.2.1 ocupa166,655,607bytes. Este es el tamaño de descarga, no el espacio de almacenamiento instalado. Las distintas arquitecturas y formatos de paquete tienen tamaños diferentes.\n\n## Cuentas, tarifas y licencia\nLa edición gratuita de código abierto permite trabajar con API localmente sin que sea obligatorio iniciar sesión en Bruno ni sincronizar con la nube. Las ediciones comerciales Pro y Ultimate ofrecen funciones adicionales para equipos, Git, integraciones y asistencia; consulta la comparación oficial para conocer la disponibilidad de funciones y los precios actuales de las suscripciones por usuario. Los proveedores conectados y las API que pruebes pueden requerir sus propias credenciales o suscripciones. El repositorio público tiene licencia MIT y atribuye la autoría a Anoop M D, Anusree P S y colaboradores; las funciones y los servicios comerciales tienen condiciones independientes. La aplicación es publicada por Bruno Software Inc.\n\nFuentes: [Cliente oficial de API](https:\u002F\u002Fwww.usebruno.com\u002Fproduct\u002Fapi-client), [Descargas](https:\u002F\u002Fwww.usebruno.com\u002Fdownloads), [Precios](https:\u002F\u002Fwww.usebruno.com\u002Fpricing), [Repositorio](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno), [Configuración de compilación de la versión4.2.1](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fblob\u002Fv4.2.1\u002Fpackages\u002Fbruno-electron\u002Felectron-builder-config.js).\nFuente del entorno de ejecución: https:\u002F\u002Fgithub.com\u002Felectron\u002Felectron\u002Fblob\u002Fv37.6.1\u002FREADME.md#platform-support","Open source IDE for exploring and testing APIs","Bruno Software Inc; Anoop M D, Anusree P S and contributors","Bruno","357eabcc8c422a5d62bd64f5c4075a74dd6b72c40135141a521d54a170b0778d",166655607,"https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Freleases\u002Fdownload\u002Fv4.2.1\u002Fbruno_4.2.1_arm64_mac.dmg","https:\u002F\u002Fformulae.brew.sh\u002Fcask\u002Fbruno","https:\u002F\u002Fwww.usebruno.com\u002F","https:\u002F\u002Fcdn.opennavo.com\u002Ficons\u002Fuploads\u002Fce3abc10a723\u002F6ae4effc8ebf-256.png","brew install --cask bruno",{"d30":59,"d365":60,"d90":61},2841,76289,13208,"cask",{"bodyMarkdown":64,"brewCommittedAt":65,"hasNotes":29,"id":66,"isLatest":29,"isPrerelease":46,"machineTranslated":29,"publishedAt":67,"sections":68,"source":74,"sourceLocale":75,"summary":76,"title":77,"translation":78,"version":81},"Notas de la versión oficiales upstream para Bruno 4.2.1. Estas cubren el proyecto y pueden incluir cambios de la CLI o específicos de la edición.\n\n### Seguridad\r\n\r\n* **seguridad: resolver la ruta real en el sandbox de QuickJS** por @prateek-bruno en [#9226](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9226) \r\nLas rutas de los módulos locales ahora se resuelven a su ruta real en el entorno de ejecución de QuickJS, lo que evita que los scripts lleguen a archivos fuera de la ubicación prevista (por ejemplo, mediante enlaces simbólicos o trucos de rutas). Créditos a @wpframe por informar de esto.\r\n* **seguridad: dejar de exponer `__brunoLoadLocalModule` a los scripts** por @prateek-bruno en [#9277](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9277) \r\nEl cargador de módulos interno ya no es accesible desde los scripts de usuario, lo que reduce la superficie de ataque del sandbox. Créditos a @wpframe por informar de esto.\r\n\r\n**Recomendamos a todos los usuarios actualizar a esta versión.**\r\n\r\n**Registro de cambios completo**: https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fcompare\u002Fv4.2.0...v4.2.1\n\nFuente: https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Freleases\u002Ftag\u002Fv4.2.1","2026-09-30T15:45:10Z",655,"2026-10-07T09:38:27.243348Z",[69],{"area":70,"items":71},"Aspectos destacados",[72,73],"Resuelve rutas de módulo reales para impedir escapes del sandbox mediante enlaces simbólicos.","Elimina el cargador interno del contexto de scripts de usuario.","editorial","en-US","La versión de seguridad refuerza el manejo de rutas de módulos de QuickJS y elimina un cargador interno expuesto; upstream recomienda actualizar.","Bruno 4.2.1",{"locale":79,"machineTranslated":29,"sourceLocale":75,"status":80},"es-ES","machine","4.2.1",[50,83],"bruno",[85,113,138,164,189,215,240,266,291,317,342,368,393,419],{"arch":42,"artifacts":86,"conflictsWith":101,"dependsOn":104,"downloadSha256":109,"downloadUrl":110,"macos":111,"requiresRosetta":46,"tag":112,"version":81},{"apps":87,"binaries":88,"entries":89,"pkgs":100},[7],[],[90,94],{"declaration":91,"phase":14,"sources":93,"target":13,"type":16},{"app":92,"target":13},[7],[7],{"declaration":95,"phase":25,"sources":99,"type":27},{"zap":96},[97],{"trash":98},[22,23,24],[],[],{"casks":102,"formulae":103},[],[],{"arch":105,"casks":106,"formulae":107,"requirements":108},[42],[],[],{},"4316d0f19c983e52c22e6dfd8cabe503865761f8210d9a45dba4fb3e1be7f502","https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Freleases\u002Fdownload\u002Fv4.2.1\u002Fbruno_4.2.1_x64_mac.dmg","27","golden_gate",{"arch":41,"artifacts":114,"conflictsWith":129,"dependsOn":132,"downloadSha256":51,"downloadUrl":53,"macos":111,"requiresRosetta":46,"tag":137,"version":81},{"apps":115,"binaries":116,"entries":117,"pkgs":128},[7],[],[118,122],{"declaration":119,"phase":14,"sources":121,"target":13,"type":16},{"app":120,"target":13},[7],[7],{"declaration":123,"phase":25,"sources":127,"type":27},{"zap":124},[125],{"trash":126},[22,23,24],[],[],{"casks":130,"formulae":131},[],[],{"arch":133,"casks":134,"formulae":135,"requirements":136},[41],[],[],{},"arm64_golden_gate",{"arch":42,"artifacts":139,"conflictsWith":154,"dependsOn":157,"downloadSha256":109,"downloadUrl":110,"macos":162,"requiresRosetta":46,"tag":163,"version":81},{"apps":140,"binaries":141,"entries":142,"pkgs":153},[7],[],[143,147],{"declaration":144,"phase":14,"sources":146,"target":13,"type":16},{"app":145,"target":13},[7],[7],{"declaration":148,"phase":25,"sources":152,"type":27},{"zap":149},[150],{"trash":151},[22,23,24],[],[],{"casks":155,"formulae":156},[],[],{"arch":158,"casks":159,"formulae":160,"requirements":161},[42],[],[],{},"26","tahoe",{"arch":41,"artifacts":165,"conflictsWith":180,"dependsOn":183,"downloadSha256":51,"downloadUrl":53,"macos":162,"requiresRosetta":46,"tag":188,"version":81},{"apps":166,"binaries":167,"entries":168,"pkgs":179},[7],[],[169,173],{"declaration":170,"phase":14,"sources":172,"target":13,"type":16},{"app":171,"target":13},[7],[7],{"declaration":174,"phase":25,"sources":178,"type":27},{"zap":175},[176],{"trash":177},[22,23,24],[],[],{"casks":181,"formulae":182},[],[],{"arch":184,"casks":185,"formulae":186,"requirements":187},[41],[],[],{},"arm64_tahoe",{"arch":42,"artifacts":190,"conflictsWith":205,"dependsOn":208,"downloadSha256":109,"downloadUrl":110,"macos":213,"requiresRosetta":46,"tag":214,"version":81},{"apps":191,"binaries":192,"entries":193,"pkgs":204},[7],[],[194,198],{"declaration":195,"phase":14,"sources":197,"target":13,"type":16},{"app":196,"target":13},[7],[7],{"declaration":199,"phase":25,"sources":203,"type":27},{"zap":200},[201],{"trash":202},[22,23,24],[],[],{"casks":206,"formulae":207},[],[],{"arch":209,"casks":210,"formulae":211,"requirements":212},[42],[],[],{},"15","sequoia",{"arch":41,"artifacts":216,"conflictsWith":231,"dependsOn":234,"downloadSha256":51,"downloadUrl":53,"macos":213,"requiresRosetta":46,"tag":239,"version":81},{"apps":217,"binaries":218,"entries":219,"pkgs":230},[7],[],[220,224],{"declaration":221,"phase":14,"sources":223,"target":13,"type":16},{"app":222,"target":13},[7],[7],{"declaration":225,"phase":25,"sources":229,"type":27},{"zap":226},[227],{"trash":228},[22,23,24],[],[],{"casks":232,"formulae":233},[],[],{"arch":235,"casks":236,"formulae":237,"requirements":238},[41],[],[],{},"arm64_sequoia",{"arch":42,"artifacts":241,"conflictsWith":256,"dependsOn":259,"downloadSha256":109,"downloadUrl":110,"macos":264,"requiresRosetta":46,"tag":265,"version":81},{"apps":242,"binaries":243,"entries":244,"pkgs":255},[7],[],[245,249],{"declaration":246,"phase":14,"sources":248,"target":13,"type":16},{"app":247,"target":13},[7],[7],{"declaration":250,"phase":25,"sources":254,"type":27},{"zap":251},[252],{"trash":253},[22,23,24],[],[],{"casks":257,"formulae":258},[],[],{"arch":260,"casks":261,"formulae":262,"requirements":263},[42],[],[],{},"14","sonoma",{"arch":41,"artifacts":267,"conflictsWith":282,"dependsOn":285,"downloadSha256":51,"downloadUrl":53,"macos":264,"requiresRosetta":46,"tag":290,"version":81},{"apps":268,"binaries":269,"entries":270,"pkgs":281},[7],[],[271,275],{"declaration":272,"phase":14,"sources":274,"target":13,"type":16},{"app":273,"target":13},[7],[7],{"declaration":276,"phase":25,"sources":280,"type":27},{"zap":277},[278],{"trash":279},[22,23,24],[],[],{"casks":283,"formulae":284},[],[],{"arch":286,"casks":287,"formulae":288,"requirements":289},[41],[],[],{},"arm64_sonoma",{"arch":42,"artifacts":292,"conflictsWith":307,"dependsOn":310,"downloadSha256":109,"downloadUrl":110,"macos":315,"requiresRosetta":46,"tag":316,"version":81},{"apps":293,"binaries":294,"entries":295,"pkgs":306},[7],[],[296,300],{"declaration":297,"phase":14,"sources":299,"target":13,"type":16},{"app":298,"target":13},[7],[7],{"declaration":301,"phase":25,"sources":305,"type":27},{"zap":302},[303],{"trash":304},[22,23,24],[],[],{"casks":308,"formulae":309},[],[],{"arch":311,"casks":312,"formulae":313,"requirements":314},[42],[],[],{},"13","ventura",{"arch":41,"artifacts":318,"conflictsWith":333,"dependsOn":336,"downloadSha256":51,"downloadUrl":53,"macos":315,"requiresRosetta":46,"tag":341,"version":81},{"apps":319,"binaries":320,"entries":321,"pkgs":332},[7],[],[322,326],{"declaration":323,"phase":14,"sources":325,"target":13,"type":16},{"app":324,"target":13},[7],[7],{"declaration":327,"phase":25,"sources":331,"type":27},{"zap":328},[329],{"trash":330},[22,23,24],[],[],{"casks":334,"formulae":335},[],[],{"arch":337,"casks":338,"formulae":339,"requirements":340},[41],[],[],{},"arm64_ventura",{"arch":42,"artifacts":343,"conflictsWith":358,"dependsOn":361,"downloadSha256":109,"downloadUrl":110,"macos":366,"requiresRosetta":46,"tag":367,"version":81},{"apps":344,"binaries":345,"entries":346,"pkgs":357},[7],[],[347,351],{"declaration":348,"phase":14,"sources":350,"target":13,"type":16},{"app":349,"target":13},[7],[7],{"declaration":352,"phase":25,"sources":356,"type":27},{"zap":353},[354],{"trash":355},[22,23,24],[],[],{"casks":359,"formulae":360},[],[],{"arch":362,"casks":363,"formulae":364,"requirements":365},[42],[],[],{},"12","monterey",{"arch":41,"artifacts":369,"conflictsWith":384,"dependsOn":387,"downloadSha256":51,"downloadUrl":53,"macos":366,"requiresRosetta":46,"tag":392,"version":81},{"apps":370,"binaries":371,"entries":372,"pkgs":383},[7],[],[373,377],{"declaration":374,"phase":14,"sources":376,"target":13,"type":16},{"app":375,"target":13},[7],[7],{"declaration":378,"phase":25,"sources":382,"type":27},{"zap":379},[380],{"trash":381},[22,23,24],[],[],{"casks":385,"formulae":386},[],[],{"arch":388,"casks":389,"formulae":390,"requirements":391},[41],[],[],{},"arm64_monterey",{"arch":42,"artifacts":394,"conflictsWith":409,"dependsOn":412,"downloadSha256":109,"downloadUrl":110,"macos":417,"requiresRosetta":46,"tag":418,"version":81},{"apps":395,"binaries":396,"entries":397,"pkgs":408},[7],[],[398,402],{"declaration":399,"phase":14,"sources":401,"target":13,"type":16},{"app":400,"target":13},[7],[7],{"declaration":403,"phase":25,"sources":407,"type":27},{"zap":404},[405],{"trash":406},[22,23,24],[],[],{"casks":410,"formulae":411},[],[],{"arch":413,"casks":414,"formulae":415,"requirements":416},[42],[],[],{},"11","big_sur",{"arch":41,"artifacts":420,"conflictsWith":435,"dependsOn":438,"downloadSha256":51,"downloadUrl":53,"macos":417,"requiresRosetta":46,"tag":443,"version":81},{"apps":421,"binaries":422,"entries":423,"pkgs":434},[7],[],[424,428],{"declaration":425,"phase":14,"sources":427,"target":13,"type":16},{"app":426,"target":13},[7],[7],{"declaration":429,"phase":25,"sources":433,"type":27},{"zap":430},[431],{"trash":432},[22,23,24],[],[],{"casks":436,"formulae":437},[],[],{"arch":439,"casks":440,"formulae":441,"requirements":442},[41],[],[],{},"arm64_big_sur",{"icon":32,"machineTranslated":29,"name":33,"slug":34,"sourceLocale":35},74,93,{"brewLag":448,"cadence":452,"count30d":450},{"compared":449,"earlierCount":450,"medianMinutes":451},3,1,153722867,"weekly","https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno",[455],{"caption":456,"height":457,"machineTranslated":29,"sourceLocale":75,"theme":458,"thumbUrl":459,"url":460,"width":461},"Ejemplo oficial de espacio de trabajo de Mac marcado como v3.0.1: parámetros de solicitud de la API de GitHub y una respuesta JSON.",835,"light","https:\u002F\u002Fcdn.opennavo.com\u002Fscreenshots\u002Fuploads\u002Fscreenshot\u002F7fc766ad8756\u002Ffc11b856c5b9-640.png","https:\u002F\u002Fcdn.opennavo.com\u002Fscreenshots\u002Fuploads\u002Fscreenshot\u002F7fc766ad8756\u002Ffc11b856c5b9-1280.png",1280,"https:\u002F\u002Fgithub.com\u002Fhomebrew\u002Fhomebrew-cask\u002Fblob\u002FHEAD\u002FCasks\u002Fb\u002Fbruno.rb","Cliente de API de escritorio local para probar REST, GraphQL y gRPC, con colecciones en archivos compatibles con flujos de trabajo de Git.",{"locale":79,"machineTranslated":46,"sourceLocale":75,"status":465},"manual",{"arm64":29,"requiresRosetta":46,"status":467,"x86_64":29},"known",[50,469,470,471,472,473],"API","REST","GraphQL","gRPC","MIT","homebrew\u002Fcask",null,{"current":450,"records":477,"size":601,"stats":602,"total":446},[478,483,499,514,521,526,531,536,541,546,551,556,561,566,571,576,581,586,591,596],{"bodyMarkdown":64,"brewCommittedAt":65,"hasNotes":29,"id":66,"isLatest":29,"isPrerelease":46,"machineTranslated":29,"publishedAt":67,"sections":479,"source":74,"sourceLocale":75,"summary":76,"title":77,"translation":482,"version":81},[480],{"area":70,"items":481},[72,73],{"locale":79,"machineTranslated":29,"sourceLocale":75,"status":80},{"bodyMarkdown":484,"brewCommittedAt":485,"hasNotes":29,"id":486,"isLatest":46,"isPrerelease":46,"machineTranslated":46,"publishedAt":487,"sections":488,"source":74,"sourceLocale":75,"summary":495,"title":496,"translation":497,"version":498},"Notas oficiales de la versión upstream de Bruno 4.2.0. Estas cubren el proyecto y pueden incluir cambios específicos de la CLI o de una edición.\n\n# Registro de cambios\r\n\r\n### Funcionalidades\r\n- feat(sidebar): admitir la selección múltiple de ejemplos de solicitudes por @Gopi-bruno en [#9225](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9225)\r\n- feat(environments): herencia de entornos `collection` y `workspace` por @lohit-bruno en [#9136](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9136)\r\n- feat(environment): rediseñar el modal de múltiples entornos por @sachin-thakur-bruno en [#9179](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9179)\r\n- feat(cli): generar documentación mediante la CLI por @sachin-bruno en [#9073](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9073)\r\n- feat(grpc): añadir compatibilidad con scripts por @morsh-bruno en [#9144](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9144)\r\n- feat(preferences): rediseñar la página de preferencias por @sachin-thakur-bruno en [#9064](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9064)\r\n- feat(runtime): exponer __dirname y __filename en el contexto de scripting por @sanish-bruno en [#9101](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9101)\r\n- feat(response-example): admitir la vista previa de imágenes PDF y videos para «guardar respuestas» por @abhishekp-bruno en [#9000](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9000)\r\n- feat(checkbox): añadir un componente de casilla de verificación a la interfaz, con historia y pruebas unitarias por @sachin-thakur-bruno en [#8861](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8861)\r\n- feat(preferences): añadir la URL de la documentación de Mock Server por @naman-bruno en [#9142](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9142)\r\n- feat(code-editor): degradar el editor y la barra de estado por @barelyhuman y @sid-bruno en [#8867](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8867)\r\n- feat: añadir estado de selección múltiple para colecciones (#6339) por @sid-bruno en [#8721](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8721)\r\n- feat(generate-docs): opciones de filtrado avanzadas en el flujo de generación de documentación por @sachin-bruno en [#9072](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9072)\r\n- feat(app): abrir las URL de respuesta como solicitudes temporales (#8189) por @sid-bruno en [#8850](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8850)\r\n- feat(pm-migration): gestionar cadenas de promesas de pm.sendRequest por @abhishekp-bruno en [#8960](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8960)\r\n- feat(mock): CreateMockServerModal con selección del tipo de origen y opción de sincronización por @naman-bruno en [#9110](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9110)\r\n- feat(variables): añadir la creación de variables según su ámbito (#8665) por @sid-bruno y @sachin-thakur-bruno en [#8852](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8852)\r\n- feat(env): fallo al importar varios entornos si algún archivo no es válido por @Gopi-bruno en [#9051](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9051)\r\n- feat(headers): mostrar encabezados predeterminados y permitir omitirlos por solicitud por @pooja-bruno en [#8990](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8990)\r\n- feat(app): reemplazar la aplicación de marcador de posición por un estado vacío con información adicional y etiquetar los elementos de la aplicación como App por @ravindra-bruno en [#9100](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9100)\r\n- feat(env): gestionar conflictos de nombres de entornos durante la importación, con opciones para reemplazar o copiar por @Gopi-bruno en [#9050](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9050)\r\n- feat(query-editor): añadir búsqueda y reemplazo de CodeMirror en el editor de consultas por @sachin-thakur-bruno en [#9042](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9042)\r\n- feat(translator): añadir métodos de traducción de variables globales para convertir de Postman a bruno por @sanish-bruno en [#9098](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9098)\r\n- feat(filesystem): desacoplar los nombres visibles de los nombres del sistema de archivos y resolver colisiones silenciosamente por @sachin-thakur-bruno en [#8714](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8714)\r\n- feat(yml-migration): quitar la extensión .bru de las llamadas a runRequest por @naman-bruno en [#9055](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9055)\r\n- feat(app): admitir borradores de aplicaciones durante la migración y en el modal para guardar solicitudes por @naman-bruno en [#9054](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9054)\r\n- feat(timeline): mostrar encabezados en los encabezados de solicitud de la cronología por @shubh-bruno en [#8857](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8857)\r\n- feat(variables): renovar la pestaña de variables de solo lectura por @pooja-bruno en [#8784](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8784)\r\n- feat(storybook): migrar Storybook a rsbuild y eliminar webpack como dependencia por @sid-bruno en [#9062](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9062)\r\n- feat(sidebar): admitir la visualización y gestión de elementos de archivo en la barra lateral de colecciones por @Gopi-bruno\r\n- feat(collection-docs): añadir telemetría para las opciones de filtrado avanzadas al generar documentación por @sachin-bruno\r\n- feat(git): implementar la funcionalidad de creación de PR por @naman-bruno y @utkarsh-bruno\r\n- feat(sidebar): añadir detección de colisiones de nombres para archivos js por @sachin-thakur-bruno\r\n- feat(git): permitir descartar el aviso de protección de rama durante una sesión por @ravindra-bruno\r\n\r\n### Correcciones\r\n- fix(link-aware): revertir la apertura de solicitudes al hacer clic en campos editables por @shubh-bruno en [#9201](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9201)\r\n- fix(scripts): mostrar los encabezados enviados para sendRequest y runRequest por @shubh-bruno en [#9215](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9215)\r\n- fix(nodevm): añadir `--experimental-cache-modules` para almacenar en caché los módulos npm durante la ejecución de scripts por @sid-bruno en [#9170](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9170)\r\n- fix(mock-server): borrar los errores de validación en el modal por @utkarsh-bruno en [#9172](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9172)\r\n- fix(bruno-js): esperar las devoluciones de llamada asíncronas de test() en modo de desarrollador por @shubh-bruno en [#9081](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9081)\r\n- fix(app): etiquetar los elementos clonados por tipo en el modal de clonación y la notificación emergente por @ravindra-bruno en [#9153](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9153)\r\n- fix(request): al crear una solicitud nueva desde la opción de añadir solicitud de la barra lateral, rellenar previamente la URL preestablecida por @sachin-thakur-bruno en [#9150](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9150)\r\n- fix(openAPI): permitir importar especificaciones openAPI de varios archivos por @adwait-bruno en [#8946](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8946)\r\n\n- fix(CLI): corregir que los reporteros junit omitan las iteraciones y las solicitudes omitidas por bail por @sharan-bruno en [#9080](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9080)\r\n- fix(collection-settings): guardar los ajustes preestablecidos mediante atajos por @shubh-bruno en [#9138](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9138)\r\n- fix(sqlite): escribir los artefactos generados como literales de TypeScript por @chirag-bruno en [#8951](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8951)\r\n- fix(app): añadir la opción de clonar aplicaciones y corregir las colisiones de nombres al crearlas por @sachin-thakur-bruno en [#9133](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9133)\r\n- fix: actualización de sincronización de openapi por @adwait-bruno en [#8979](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8979)\r\n- fix: usar NtlmClient como adaptador de la instancia de axios por @prateek-bruno en [#9044](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9044)\r\n- fix(codemirror-search): añadir el texto seleccionado al campo de búsqueda con el atajo de reemplazo por @sachin-thakur-bruno en [#9090](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9090)\r\n- fix(mock server): mostrar un marcador de posición predeterminado al inicio de la colección o especificación de API por @utkarsh-bruno en [#8963](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8963)\r\n- fix(lang): comprobar el dominio NTLM con domainKey, no con passwordKey por @sbalagan22 en [#8707](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8707)\r\n- fix(ui): evitar que el contador de tiempo transcurrido se reinicie al cambiar de pestaña por @Sudemc y @sharan-bruno en [#9089](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9089)\r\n- fix: el modal para crear ejemplos muestra el texto de estado y el tipo de cuerpo por @utkarsh-bruno en [#9082](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9082)\r\n- fix(datatype): corregir la discrepancia en la referencia de la marca de validación del tipo de variable por @sharan-bruno en [#8878](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8878)\r\n- fix: corregir las variables duplicadas por @utkarsh-bruno en [#9084](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9084)\r\n- fix(mock-server): restringir los números de puerto mostrando errores por @utkarsh-bruno en [#8964](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8964)\r\n- fix(mock server): añadir un registro de solicitud cuando Express falla debido a un encabezado de respuesta demasiado grande por @utkarsh-bruno en [#9059](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9059)\r\n- fix(app): limitar las opciones de especificación de API del servidor simulado al espacio de trabajo activo por @ravindra-bruno en [#9077](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9077)\r\n- fix(theme): añadir el borde que faltaba en los temas claro y oscuro por @sachin-thakur-bruno en [#9071](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9071)\r\n- fix(scripting): conservar las variables establecidas en req.onFail por @Max-Reisinger y @sharan-bruno en [#8873](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8873)\r\n- fix(XmlPreview): mejorar la gestión de errores de análisis XML y devolver la estructura por @abhishekp-bruno en [#8860](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8860)\r\n- fix(RequestTab): simplificar la lógica de confirmación al guardar solicitudes temporales por @sid-bruno en [#8969](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8969)\r\n- fix(test): eliminar la aserción de respaldo por @chirag-bruno en [#9001](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9001)\r\n- fix: evitar interrupciones al liberar QuickJS en modo seguro por @prateek-bruno en [#8924](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8924)\r\n- fix(grpc): usar la URL resuelta como clave de la caché de reflexión y añadir un servidor de pruebas gRPC por @sanish-bruno en [#8832](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8832)\r\n- fix(converters): conservar el estado habilitado de las variables de entorno y de colección al exportar e importar por @ricciardelli y @sanish-bruno en [#8918](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8918)\r\n- fix: eliminar el límite de 50 para maxRedirects y normalizarlo en cada ruta de lectura por @prateek-bruno en [#8855](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8855)\r\n- fix(mock-server): corregir el panel de parámetros de consulta contraído en la respuesta simulada por @gopu-bruno en [#8957](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8957)\r\n- fix: usar la clave correcta del almacén secreto en la telemetría por @prateek-bruno\r\n- fix(environments): corregir la herencia de entornos por @lohit-bruno\r\n- fix: pasar variables secretas a los scripts de grpc por @morsh-bruno\r\n- fix: eliminar el enlace «Qué es un repositorio de Github» por @utkarsh-bruno\r\n- fix(autosave): eliminar del flujo de guardado automático las filas incompletas de secretos externos por @abhishekp-bruno\r\n- fix: interpolar los datos de iteración en los valores de las aserciones por @abhishekp-bruno\r\n- fix(git): dejar de recargar la lista de stash cuando se actualiza Git por motivos no relacionados por @ravindra-bruno\r\n- fix(reports): generar encabezados en los informes por @shubh-bruno\r\n- fix(git): permitir nombres de rama más largos y mostrar un mensaje de error claro por @gopu-bruno\r\n- fix(git): convertir los errores al aplicar stash y los índices sin fusionar en mensajes legibles por @ravindra-bruno\r\n- fix(packages): volver a añadir dependencias nativas opcionales multiplataforma por @sid-bruno\r\n\r\n### Otros\r\n- fix(test): añadir dataTestId al modal para eliminar elementos de colección por @Gopi-bruno en [#9141](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9141)\r\n- fix(deps): resolver dependencias en conflicto tras la consolidación de la actualización de seguridad por @sid-bruno en [#9029](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9029)\r\n- fix(unit-test): añadir tiempo de espera al sembrar 200 archivos en Windows por @sachin-thakur-bruno en [#9099](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9099)\r\n- fix(tests): corregir pruebas inestables de desplazamiento de mensajes WebSocket por @sachin-thakur-bruno en [#9122](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9122)\r\n- feat(tests): añadir pruebas para la creación y gestión de aplicaciones por @naman-bruno en [#9124](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9124)\r\n- fix(test): corregir los casos de prueba de la CLI para Windows por @shubh-bruno en [#9161](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9161)\r\n- docs: gobernanza del proyecto por @helloanoop en [#8790](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8790)\r\n- chore(standards): actualizar los estándares de código para clones específicos del sitio de llamada por @sid-bruno en [#9160](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9160)\r\n- perf(runner): eliminar clones profundos redundantes del árbol de resultados del ejecutor por @chirag-bruno en [#9151](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9151)\r\n- test(benchmark): añadir una suite de pruebas de rendimiento para el ejecutor de colecciones por @chirag-bruno en [#9126](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9126)\r\n\n- chore: mejorar los comentarios de las pruebas por @helloanoop en [#9139](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9139)\r\n- chore(bruno-to-postman): actualizar los comentarios para que coincidan con las API actuales de bruno por @sanish-bruno en [#9075](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9075)\r\n- chore(design-system): añadir tokens de color específicos para bordes en los temas por @sachin-thakur-bruno en [#8965](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8965)\r\n- ci: habilitar las pruebas unitarias de Windows por @prateek-bruno en [#8673](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8673)\r\n- chore: actualizar la biblioteca grpc-js por @sid-bruno en [#9053](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9053)\r\n- chore(eslint): añadir la dependencia hooks para desarrollo por @sachin-thakur-bruno en [#9034](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9034)\r\n- chore: actualizar swagger-ui-react a la versión 5.32.14 por @sid-bruno en [#9032](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F9032)\r\n- test(cli): leer el informe JSON tanto si contiene una ejecución como un arreglo por @shubh-bruno en [#8988](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8988)\r\n- test(opencollection): probar multipart después de volver a cargar yml por @Max-Reisinger en [#8938](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8938)\r\n- chore(deps): limpieza de seguridad por @sid-bruno en [#8956](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8956)\r\n- refactor(mock): cambiar el nombre de las funciones de validación y mejorar la gestión de errores por @naman-bruno en [#8954](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8954)\r\n- refactor(mock-server): eliminar la funcionalidad updateMockDelay por @naman-bruno en [#8952](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8952)\r\n- test(benchmark): añadir una prueba de rendimiento de asignación de memoria del ejecutor por @chirag-bruno\r\n- perf(runner): eliminar clones profundos redundantes del árbol de resultados del ejecutor por @chirag-bruno\r\n\r\n### Nuevos colaboradores\r\n* @Sudemc realizó su primera contribución en https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8796\r\n* @sbalagan22 realizó su primera contribución en https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8707\r\n* @ricciardelli realizó su primera contribución en https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8681\r\n\r\n**Registro completo de cambios:** https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fcompare\u002Fv4.1.0...v4.2.0\n\nFuente: https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Freleases\u002Ftag\u002Fv4.2.0","2026-09-23T15:43:42Z",656,"0001-01-01T00:00:00Z",[489],{"area":490,"items":491},"Aspectos",[492,493,494],"Hereda los entornos de colecciones y espacios de trabajo.","Añade scripting gRPC y generación de documentación de CLI.","Previsualiza respuestas guardadas en PDF, imagen y vídeo.","Añade herencia de entornos, scripting gRPC y mejores vistas previas de respuestas guardadas, además de mejoras en colecciones y la interfaz, y correcciones.","Bruno 4.2.0",{"locale":79,"machineTranslated":46,"sourceLocale":75,"status":465},"4.2.0",{"bodyMarkdown":500,"brewCommittedAt":501,"hasNotes":29,"id":502,"isLatest":46,"isPrerelease":46,"machineTranslated":46,"publishedAt":487,"sections":503,"source":74,"sourceLocale":75,"summary":510,"title":511,"translation":512,"version":513},"Notas oficiales de la versión upstream de Bruno 4.1.0. Cubren el proyecto y pueden incluir cambios específicos de la CLI o de una edición.\n\n# Registro de cambios\r\n\r\n### Funciones\r\n- feat: implementación de Mock Server por @utkarsh-bruno y @shubh-bruno en [#8734](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8734)\r\n- feat(docs): editor de documentación de texto enriquecido por @Gopi-bruno en [#8559](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8559)\r\n- feat(cli): añadir --global-env-var para sobrescribir variables de entorno globales en tiempo de ejecución por @abhishekp-bruno en [#8620](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8620)\r\n- feat(client certs): añadir certificados de cliente globales y permitir desactivar certificados individuales por @morsh-bruno en [#8751](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8751)\r\n- feat(auth-headers): gestionar filtraciones de encabezados de autorización a servidores de terceros al redirigir por @Gopi-bruno en [#8380](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8380)\r\n- feat(envs): añadir filtro de búsqueda al menú desplegable del selector de entorno por @Gopi-bruno en [#8277](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8277)\r\n- feat(environment): añadir entorno predeterminado a los ajustes preestablecidos por @sachin-thakur-bruno en [#8612](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8612)\r\n- feat: admitir arrastrar y soltar y ordenar alfabéticamente las variables por @adwait-bruno en [#8603](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8603)\r\n- feat: añadir ordenación también a la pestaña de secretos por @adwait-bruno en [#8871](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8871)\r\n- feat(collections): abrir varias colecciones desde un monorepo por @gopu-bruno en [#8724](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8724)\r\n- feat(collections): añadir texto descriptivo al modal de selección de colección por @gopu-bruno en [#8793](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8793)\r\n- feat(presets): actualizar el diseño de los ajustes preestablecidos por @sachin-thakur-bruno en [#8828](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8828)\r\n- feat(presets): actualizar el menú desplegable y los cambios de UX en el peso de las etiquetas por @sachin-thakur-bruno en [#8841](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8841)\r\n- feat(migrate): mejorar el modal de migración para gestionar borradores de colecciones por @naman-bruno en [#8899](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8899)\r\n- feat: añadir la etiqueta migrate-to-YML al encabezado de la colección por @naman-bruno en [#8882](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8882)\r\n- feat(converters): admitir el flujo de ejecución de scripts en la configuración yml por @naman-bruno en [#8745](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8745)\r\n- feat: añadir la opción de conservar scripts al importar y exportar Postman por @gopu-bruno en [#8726](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8726)\r\n- feat(snapshot): conservar el estado de la barra lateral en la instantánea por @Gopi-bruno en [#8328](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8328)\r\n- feat(code-mirror-search): añadir reemplazar y reemplazar todo con posición de búsqueda, espera y pruebas por @sachin-thakur-bruno en [#8715](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8715)\r\n- feat(db): sqlite como SDK reutilizable para consultas secundarias por @chirag-bruno en [#8533](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8533)\r\n- feat(request): avisar si falta en disco el archivo del cuerpo binario por @sanish-bruno y @rajashreehj-bruno en [#8753](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8753)\r\n- feat(size\u002FM): no seleccionar ningún entorno de forma predeterminada en el modal Generar documentación por @sachin-bruno en [#8785](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8785)\r\n- feat(ai): enfocar la entrada de solicitud cuando termine la respuesta de IA por @naman-bruno en [#8747](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8747)\r\n- feat(secrets): añadir compatibilidad con GCP Secret Manager por @abhishekp-bruno\r\n- feat(git): implementar modales de operaciones remotas de Git y mejorar la interfaz de selección de ramas por @utkarsh-bruno\r\n- feat(proxy): implementar la configuración del entorno proxy de Git por @utkarsh-bruno\r\n- feat(git-providers): aplicar la configuración de red a las API de proveedores Git por @gopu-bruno\r\n- feat(app\u002Fgit): informar al usuario cuando se editen ramas protegidas por @sid-bruno\r\n- feat(workspace): advertir en Bruno embed sobre las colecciones sin sincronizar excluidas de Fetch por @ravindra-bruno\r\n- feat(license): informar la versión de la aplicación, el SO, la arquitectura y el ID de telemetría en las llamadas de licencia por @hassan-bruno\r\n\r\n### Correcciones\r\n- fix(auth): impedir que los encabezados de autenticación AWS V4 se filtren en redirecciones entre orígenes por @Gopi-bruno en [#8893](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8893)\r\n- fix(secrets): bloquear nombres de secretos duplicados para evitar la pérdida de valores por @pooja-bruno en [#8750](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8750)\r\n- fix(security): desbordamiento en el estilo de la lista de chips por @naman-bruno en [#8748](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8748)\r\n- fix(app): variables de entorno globales para aplicaciones por @naman-bruno en [#8900](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8900)\r\n- fix(app): volver a añadir el atajo para crear una solicitud por @sid-bruno en [#8805](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8805)\r\n- fix(workspace): evitar que la misma colección se muestre dos veces con estados en conflicto por @ravindra-bruno en [#8947](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8947)\r\n- fix(workspace): mostrar solo la opción de eliminar para la colección fallida en la vista general del espacio de trabajo por @ravindra-bruno en [#8932](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8932)\r\n- fix(workspace): avisar de las colecciones que no se pueden abrir en Workspa… por @ravindra-bruno en [#8719](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8719)\r\n- fix(workspaces): cambiar al espacio de trabajo predeterminado al cerrar para que el encabezado muestre el nombre correcto por @ravindra-bruno en [#8425](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8425)\r\n- fix(editor): corregir el borde de la entrada de búsqueda y reemplazo por @sachin-thakur-bruno en [#8930](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8930)\r\n- fix(editor): sangría de tabulación en bloques de código por @sachin-thakur-bruno en [#8926](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8926)\r\n- fix(editor): añadir el lenguaje detectado al selector desplegable de idiomas por @sachin-thakur-bruno en [#8925](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8925)\r\n- fix(editor): permitir las combinaciones de teclas de la aplicación si no están presentes en el editor de texto enriquecido por @sachin-thakur-bruno en [#8894](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8894)\r\n\n- fix(codemirror-search): combinación de teclas para enfocar búsqueda y reemplazo dentro del contenedor de búsqueda por @sachin-thakur-bruno en [#8895](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8895)\r\n- fix(sidebar): evitar que desaparezca el separador de arrastre al reducir el zoom por @gopu-bruno en [#8266](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8266)\r\n- fix: el visor de especificaciones OpenAPI genera errores del resolver para esquemas `$ref` por @arpit-bruno en [#8892](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8892)\r\n- fix(openapi): eliminar los puntos finales de los nombres de operación al importar por @adwait-bruno en [#8812](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8812)\r\n- fix: rellenar la documentación de colecciones y carpetas al importar OpenAPI\u002Fswagger por @adwait-bruno en [#8803](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8803)\r\n- fix(transient-request): no se podía crear una solicitud transitoria cuando el ajuste preestablecido era websocket por @chirag-bruno en [#8889](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8889)\r\n- fix: cmd+w ahora funciona en pestañas transitorias por @adwait-bruno en [#8429](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8429)\r\n- fix: conservar valores adicionales de solicitud al guardar la pestaña General de preferencias por @morsh-bruno en [#8823](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8823)\r\n- fix(proxy): actualizar el formato de la etiqueta de marca de tiempo por @abhishekp-bruno en [#8870](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8870)\r\n- fix(ws): desactivar la cola de mensajes durante estados de conexión intermedios por @sid-bruno en [#8879](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8879)\r\n- fix(ws): eliminar la reconexión automática en websockets por @sid-bruno en [#8605](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8605)\r\n- fix(ws): añadir altura a los mensajes ws para corregir la superposición de la búsqueda por @sachin-thakur-bruno en [#8814](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8814)\r\n- fix(mount): hidratar los UID de mensajes websocket en la ruta de montaje en caché por @chirag-bruno en [#8862](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8862)\r\n- fix: interfaz del modal de cambio de versión por @adwait-bruno en [#8735](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8735)\r\n- fix: evitar que el encabezado de la columna de ordenación se desplace al aparecer la flecha por @adwait-bruno en [#8833](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8833)\r\n- fix(generate-code): codificar dos puntos literales en la ruta cuando está activada la codificación de URL por @pooja-bruno en [#8834](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8834)\r\n- fix(generate-code): generar código para la interpolación de URL por @pooja-bruno en [#7308](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F7308)\r\n- fix(presets): mejoras de UX para el menú desplegable y el espaciado de iconos por @sachin-thakur-bruno en [#8827](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8827)\r\n- fix: faltaba la descripción de la importación y exportación yml de los entornos por @sachin-bruno en [#8822](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8822)\r\n- fix: añadir ajuste dinámico del tamaño de fuente para mostrar información de CodeMirror por @adwait-bruno en [#8817](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8817)\r\n- fix(export\u002Fimport): OpenCollection YAML descarta variables de respuesta posterior de colección y carpeta por @sachin-bruno en [#8815](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8815)\r\n- fix(node-vm): resolver módulos npm desde additionalContextRoots mediante recorrido ascendente nativo por @sanish-bruno en [#8538](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8538)\r\n- fix(curl-import): tratar --data-binary en línea como cuerpo, no como archivo por @pooja-bruno en [#8617](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8617)\r\n- fix(dev-tools): colocar arriba los menús desplegables de filtro de consola y red si no hay espacio por @sachin-thakur-bruno en [#8713](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8713)\r\n- fix(bruno-response): normalizar la búsqueda de nombres de encabezados de respuesta para que no distinga mayúsculas y minúsculas por @abhishekp-bruno en [#8461](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8461)\r\n- fix(runner): corregir el problema del cargador del ejecutor de colecciones por @sharan-bruno en [#8783](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8783)\r\n- fix: evitar la sonda de red en PAC myIpAddress por @cyphercodes en [#8588](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8588)\r\n- fix: las URL se truncaban en la documentación por @adwait-bruno en [#8468](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8468)\r\n- fix: la configuración del entorno permanece visible por @adwait-bruno en [#8530](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8530)\r\n- fix: secuenciación de carpetas al mover una carpeta al final de la lista por @ravindra-bruno en [#8722](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8722)\r\n- fix(environment): guardado automático al eliminar algunos caracteres de la tabla de entornos por @sachin-thakur-bruno en [#8732](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8732)\r\n- fix(timeout): permitir heredar el tiempo de espera de solicitudes YAML por @shubh-bruno en [#8746](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8746)\r\n- fix: se perdía el cuerpo binario al importar desde Postman por @sanish-bruno y @rajashreehj-bruno en [#8729](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8729)\r\n- fix(converters): añadir asignaciones de autenticación faltantes al exportar a Postman y asignaciones de parámetros adicionales al importar desde Postman por @morsh-bruno en [#8494](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8494)\r\n- fix: corregir un caso de prueba fallido por @utkarsh-bruno en [#8801](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8801)\r\n- fix(git): corregir el proxy PAC y eliminar buildGitProxyEnv como implementación secundaria del proxy por @utkarsh-bruno\r\n- fix(git): usar el color principal para la llamada a la acción de crear rama por @gopu-bruno\r\n- fix(git): actualizar onClose para usar handleBackToOverview por @naman-bruno\r\n- fix(proxy-util): mejorar la configuración del entorno proxy por @utkarsh-bruno\r\n- fix(GitHub): deduplicar el guardado de la URL de instancia en OnBlur\u002FEnter por @gopu-bruno\r\n- fix(GitHub): evitar guardados redundantes de URL en la configuración de GitHub por @naman-bruno\r\n- fix: añadir inicialización y obtención de submódulos de Git para colecciones del espacio de trabajo por @ravindra-bruno\r\n- fix(workspace): escribir .gitmodules para que se resuelvan los submódulos de colecciones sincronizadas con Git por @ravindra-bruno\r\n- fix(Embed): mostrar una advertencia antes de compartir un espacio de trabajo con cambios sin sincronizar por @ravindra-bruno\r\n- fix(doc-url): reemplazar la URL de la documentación Fetch In Bruno para la integración de espacios de trabajo por @ravindra-bruno\r\n- fix(watcher): mejorar la lógica de desvinculación para gestionar ambos formatos por @naman-bruno\n\n- fix(external-secrets): corregir los duplicados del autocompletado de variables de secretos externos y su ámbito de información de variables por @lohit-bruno\r\n- fix: añadir una altura mínima y máxima con desbordamiento para evitar que el tamaño cambie según los remotos obtenidos por @utkarsh-bruno\r\n- fix(openapi): exportar URL de solicitud sin esquema como entradas de servidor por @adwait-bruno\r\n- fix(export): corregir la representación del modal de exportación de Postman en Share Collection por @gopu-bruno\r\n- fix(default-env): cargar variables de entorno desde el archivo de forma destructiva por @sachin-thakur-bruno\r\n- fix(runner): Collection Runner: el indicador de carga sigue activo incluso después de cancelar la ejecución por @sharan-bruno\r\n- fix(UI): falta el botón «Volver a ejecutar» tras la ejecución en Runner por @sharan-bruno\r\n- fix(collection-runner): desactivar el runner en el recuento de iteraciones por @shubh-bruno\r\n\r\n### Otros\r\n- feat(tests): mejorar la configuración de Playwright para ejecuciones de CI fragmentadas por @sid-bruno en [#8742](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8742)\r\n- security(ipc): restringir los controladores de escritura de archivos a colecciones y especificaciones de API conocidas por @chirag-bruno en [#8274](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8274); agradecimientos a @IamLeandrooooo por compartirlo\r\n- refactor(ai): trasladar AI Assist de la superposición flotante a los paneles de solicitud y a las barras de pestañas de configuración de colecciones\u002Fcarpetas por @ravindra-bruno en [#8693](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8693)\r\n- refactor(ai): actualizar la gestión de claves de API en los proveedores openai comp por @naman-bruno en [#8749](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8749)\r\n- refactor(tests): actualizar las aserciones de tipos de datos para usar el atributo data-selected-type de forma coherente por @bijin-bruno en [#8731](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8731)\r\n- rehacer la migración yml por @naman-bruno en [#8795](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8795)\r\n- informar cuántas colecciones no se pudieron abrir al cargar el espacio de trabajo por @ravindra-bruno en [#8831](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8831)\r\n- añadir la exclusión de las carpetas anidadas de colecciones por @ravindra-bruno en [#8725](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8725)\r\n- añadir la corrección para bru.runner.stopExecution() al ejecutar una colección desde las pruebas por @ravindra-bruno en [#8720](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8720)\r\n- ci: trasladar todo Linux a servidores autogestionados por @sid-bruno en [#8791](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8791)\r\n- ci(tests-macos): desactivar los ejecutores de Mac en cada PR por @sid-bruno en [#8752](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8752)\r\n- test: corregir las pruebas del indicador de borrador para los certificados de cliente de colección por @morsh-bruno en [#8824](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8824)\r\n- test(converters): añadir pruebas de ida y vuelta para los convertidores de Postman a Bruno y viceversa por @morsh-bruno en [#8534](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8534)\r\n- chore: mejorar las reglas y habilidades de claude por @bijin-bruno en [#8829](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8829)\r\n- chore(design-system): añadir un componente de control segmentado con Storybook por @sachin-thakur-bruno en [#8683](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8683)\r\n- chore: actualizar la lista de comprobación de PR por @sachin-thakur-bruno en [#8806](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8806)\r\n- chore(eslint): desactivar la corrección automática para const por @sachin-thakur-bruno en [#8760](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8760)\r\n- chore(eslint): añadir advertencias de configuración de eslint para variables sin usar, debuggers e importaciones duplicadas por @sachin-thakur-bruno en [#8505](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8505)\r\n- chore(pr-decription): actualizar la descripción de PR por @sachin-thakur-bruno en [#8786](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8786)\r\n- chore(coderabbit): añadir instrucciones de coderabbit para agregar archivos nuevos como ts\u002Ftsx en la aplicación Bruno por @sachin-thakur-bruno en [#8717](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8717)\r\n- fix(tests): añadir un mock de jest para las importaciones CSS y cambiar el temporizador de pegado por @sid-bruno en [#8858](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8858)\r\n- fix(e2e): corregir los fallos de Playwright causados por el servidor mock y el montaje diferido por @sid-bruno en [#8835](https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8835)\r\n- añadir la comprobación de validaciones y la experiencia de usuario correspondiente por @ravindra-bruno\r\n- feat(telemetry): instrumentar el ciclo de vida de la aplicación y los eventos de monetización (app_first_launched, first_request_sent, paywall_viewed, monetization_cta_clicked, paid_state_recognized) y asignar event_version a todos los eventos de escritorio mediante la captura compartida por @ankit-bruno\r\n- feat(telemetry): añadir eventos del flujo de prueba con motivos de fallo clasificados y límites de la ventana de prueba para session_activity por @ankit-bruno\r\n- fix(tests): pasar tmpDir a los comandos de ejecución de CLI en las pruebas de integración por @sanish-bruno\r\n- fix(test): corregir la aserción de la prueba de Postman a Bruno por @sachin-thakur-bruno\r\n- fix(RunnerResults): añadir el atributo data-testid al botón de cancelar por @sanish-bruno\r\n\r\n### Nuevos colaboradores\r\n* @morsh-bruno realizó su primera contribución en https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8494\r\n* @cyphercodes realizó su primera contribución en https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8588\r\n* @Gopi-bruno realizó su primera contribución en https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8328\r\n* @arpit-bruno realizó su primera contribución en https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fpull\u002F8892\r\n\r\n**Registro completo de cambios:** https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Fcompare\u002Fv4.0.0...v4.1.0\r\n\n\nOrigen: https:\u002F\u002Fgithub.com\u002Fusebruno\u002Fbruno\u002Freleases\u002Ftag\u002Fv4.1.0","2026-08-20T15:51:31Z",657,[504],{"area":505,"items":506},"Resumen",[507,508,509],"Añade servidores mock y edición de documentación enriquecida.","Configura certificados de cliente globales y desactiva los individuales.","Evita filtraciones de encabezados de autorización en redirecciones.","Añade servidores mock, documentación enriquecida y controles de certificados y entorno, además de mejoras en solicitudes y colecciones.","Bruno 4.1.0",{"locale":79,"machineTranslated":46,"sourceLocale":75,"status":465},"4.1.0",{"brewCommittedAt":515,"hasNotes":46,"isLatest":46,"isPrerelease":46,"sections":516,"source":517,"translation":518,"version":520},"2026-07-23T18:58:47Z",[],"homebrew",{"status":519},"none","4.0.0",{"brewCommittedAt":522,"hasNotes":46,"isLatest":46,"isPrerelease":46,"sections":523,"source":517,"translation":524,"version":525},"2026-07-20T13:17:38Z",[],{"status":519},"3.5.3",{"brewCommittedAt":527,"hasNotes":46,"isLatest":46,"isPrerelease":46,"sections":528,"source":517,"translation":529,"version":530},"2026-07-13T16:27:02Z",[],{"status":519},"3.5.2",{"brewCommittedAt":532,"hasNotes":46,"isLatest":46,"isPrerelease":46,"sections":533,"source":517,"translation":534,"version":535},"2026-07-02T10:27:31Z",[],{"status":519},"3.5.1",{"brewCommittedAt":537,"hasNotes":46,"isLatest":46,"isPrerelease":46,"sections":538,"source":517,"translation":539,"version":540},"2026-06-23T16:24:43Z",[],{"status":519},"3.5.0",{"brewCommittedAt":542,"hasNotes":46,"isLatest":46,"isPrerelease":46,"sections":543,"source":517,"translation":544,"version":545},"2026-05-26T19:19:03Z",[],{"status":519},"3.4.2",{"brewCommittedAt":547,"hasNotes":46,"isLatest":46,"isPrerelease":46,"sections":548,"source":517,"translation":549,"version":550},"2026-05-21T10:46:53Z",[],{"status":519},"3.4.1",{"brewCommittedAt":552,"hasNotes":46,"isLatest":46,"isPrerelease":46,"sections":553,"source":517,"translation":554,"version":555},"2026-05-20T19:23:15Z",[],{"status":519},"3.4.0",{"brewCommittedAt":557,"hasNotes":46,"isLatest":46,"isPrerelease":46,"sections":558,"source":517,"translation":559,"version":560},"2026-04-22T21:49:50Z",[],{"status":519},"3.3.0",{"brewCommittedAt":562,"hasNotes":46,"isLatest":46,"isPrerelease":46,"sections":563,"source":517,"translation":564,"version":565},"2026-04-03T15:46:21Z",[],{"status":519},"3.2.2",{"brewCommittedAt":567,"hasNotes":46,"isLatest":46,"isPrerelease":46,"sections":568,"source":517,"translation":569,"version":570},"2026-03-18T21:47:47Z",[],{"status":519},"3.2.0",{"brewCommittedAt":572,"hasNotes":46,"isLatest":46,"isPrerelease":46,"sections":573,"source":517,"translation":574,"version":575},"2026-02-25T01:02:43Z",[],{"status":519},"3.1.4",{"brewCommittedAt":577,"hasNotes":46,"isLatest":46,"isPrerelease":46,"sections":578,"source":517,"translation":579,"version":580},"2026-02-20T15:50:56Z",[],{"status":519},"3.1.3",{"brewCommittedAt":582,"hasNotes":46,"isLatest":46,"isPrerelease":46,"sections":583,"source":517,"translation":584,"version":585},"2026-02-18T15:50:04Z",[],{"status":519},"3.1.2",{"brewCommittedAt":587,"hasNotes":46,"isLatest":46,"isPrerelease":46,"sections":588,"source":517,"translation":589,"version":590},"2026-02-17T12:51:19Z",[],{"status":519},"3.1.1",{"brewCommittedAt":592,"hasNotes":46,"isLatest":46,"isPrerelease":46,"sections":593,"source":517,"translation":594,"version":595},"2026-02-16T18:48:58Z",[],{"status":519},"3.1.0",{"brewCommittedAt":597,"hasNotes":46,"isLatest":46,"isPrerelease":46,"sections":598,"source":517,"translation":599,"version":600},"2026-01-07T21:43:28Z",[],{"status":519},"3.0.2",20,{"brewLag":603,"cadence":452,"count30d":450},{"compared":449,"earlierCount":450,"medianMinutes":451},{"current":450,"records":605,"size":450,"stats":611,"total":446},[606],{"bodyMarkdown":64,"brewCommittedAt":65,"hasNotes":29,"id":66,"isLatest":29,"isPrerelease":46,"machineTranslated":29,"publishedAt":67,"sections":607,"source":74,"sourceLocale":75,"summary":76,"title":77,"translation":610,"version":81},[608],{"area":70,"items":609},[72,73],{"locale":79,"machineTranslated":29,"sourceLocale":75,"status":80},{"brewLag":612,"cadence":452,"count30d":450},{"compared":449,"earlierCount":450,"medianMinutes":451}]