Repository navigation
Releases
v3.38.41 - Vision Fallback & Capability Fixes
Release v3.38.41
🚀 Melhorias no Vision Fallback e Detecção de Capacidades
Esta versão foca em tornar o sistema de Vision Fallback mais robusto e inteligente, garantindo que o redirecionamento para modelos com suporte a visão ocorra de forma transparente, independentemente de como a imagem é enviada.
🛠️ O que mudou?
1. Detecção Inteligente de Conteúdo de Visão
- Auto-detecção em Texto: Agora o sistema detecta automaticamente se você colou um
data:image/ou uma referênciacopilot-file://diretamente no campo de mensagem, mesmo que o checkbox "Include Media" não esteja marcado. - Gatilho de Fallback: Se conteúdo de visão for detectado em um modelo que não o suporta (como
gpt-4o-mini), o fallback é acionado automaticamente.
2. Correção na Lógica de Capacidades Estáticas
- Fix Chat Model: Corrigido um erro onde o nó
Chat Modelfalhava ao verificar capacidades em modo offline/estático devido a uma estrutura de objeto incorreta. - Suporte Multimodal: A verificação de suporte agora inclui explicitamente a flag
multimodal, garantindo compatibilidade com modelos Google Gemini e outros que usam essa nomenclatura.
3. Consistência entre Nós
- Sincronização da lógica de detecção de visão entre os nós Chat Model, Chat API e OpenAI.
- Melhoria nos logs de depuração para facilitar a identificação de quando e por que um fallback foi acionado.
📦 Impacto
- Usuários do GPT-4o Mini: Agora podem enviar imagens com segurança; o sistema cuidará de usar o
gpt-4o(ou seu fallback preferido) apenas para o processamento da imagem, economizando tokens e evitando erros de API.
Data do Release: 2025-12-30
Versão: 3.38.41
Release v3.38.40
Release Notes - v3.38.40
Release Date: 2025-12-30
Type: Enhancement + Model Sync
Previous Version: 3.38.39
🎯 Summary
Synchronized static model list with GitHub Copilot API data and implemented dynamic vision capability detection. Nodes now prioritize API cache for capability checks, with static list as fallback.
✨ New Features
Dynamic Vision Capability Detection
Before: Only checked static model list for vision support
After: Checks API cache first, then static list as fallback
New DynamicModelsManager Methods:
// Check if model supports vision from API cache
DynamicModelsManager.modelSupportsVision(token, modelId): boolean | null
// Check if model supports tools/function calling
DynamicModelsManager.modelSupportsTools(token, modelId): boolean | null
// Get all capabilities from cache
DynamicModelsManager.getModelCapabilities(token, modelId): {
vision: boolean;
tools: boolean;
streaming: boolean;
maxContextTokens: number;
maxOutputTokens: number;
isPremium: boolean;
} | null
// Get model from cache by ID
DynamicModelsManager.getModelFromCache(token, modelId): CopilotModel | nullPriority Order:
- 🥇 API Cache - Most accurate, always up-to-date
- 🥈 Static List - Fallback when cache unavailable
📋 Updated Model List
New Models Added (from API)
| Model | Provider | Vision | Context | Output | Category |
|---|---|---|---|---|---|
gpt-5.1 |
OpenAI | ✅ | 264K | 64K | versatile |
gpt-5.2 |
OpenAI | ✅ | 264K | 64K | versatile |
gpt-5-codex |
OpenAI | ✅ | 400K | 128K | powerful |
gpt-5.1-codex |
OpenAI | ✅ | 400K | 128K | powerful |
gpt-5.1-codex-mini |
OpenAI | ✅ | 400K | 128K | powerful |
gpt-5.1-codex-max |
OpenAI | ✅ | 400K | 128K | powerful |
claude-sonnet-4.5 |
Anthropic | ✅ | 144K | 16K | versatile |
claude-haiku-4.5 |
Anthropic | ✅ | 144K | 16K | versatile |
claude-opus-4.5 |
Anthropic | ✅ | 144K | 16K | powerful |
claude-opus-41 |
Anthropic | ✅ | 80K | 16K | powerful |
gemini-3-pro-preview |
✅ | 128K | 64K | powerful | |
gemini-3-flash-preview |
✅ | 128K | 64K | lightweight | |
grok-code-fast-1 |
xAI | ❌ | 128K | 64K | lightweight |
Updated Model Capabilities
| Model | Change |
|---|---|
gpt-5 |
Context: 128K → 400K, Output: 64K → 128K |
gpt-5-mini |
Context: 128K → 264K |
claude-sonnet-4 |
Context: 128K → 216K |
gpt-4o-mini |
Vision: ❌ (confirmed no vision) |
New Provider: xAI
Added support for xAI (Grok) models:
grok-code-fast-1- Fast coding model (no vision)
🔧 Technical Changes
GitHubCopilotModels.ts
// New interface field
interface GitHubCopilotModel {
// ... existing fields
isPremium?: boolean; // NEW: Indicates premium subscription required
}
// New manager methods
GitHubCopilotModelsManager.getFreeModels(): GitHubCopilotModel[]
GitHubCopilotModelsManager.getPremiumModels(): GitHubCopilotModel[]
// Updated category types
category: "versatile" | "powerful" | "lightweight" | "reasoning" | ...
// Updated provider types
provider: "OpenAI" | "Anthropic" | "Google" | "Microsoft" | "xAI"All Nodes Updated
Vision check flow in ChatModel, ChatAPI, and OpenAI nodes:
// BEFORE: Only static list
const modelInfo = GitHubCopilotModelsManager.getModelByValue(model);
const supportsVision = modelInfo?.capabilities?.vision;
// AFTER: API cache first, then static fallback
let supportsVision = DynamicModelsManager.modelSupportsVision(token, model);
if (supportsVision === null) {
// Fallback to static list
const modelInfo = GitHubCopilotModelsManager.getModelByValue(model);
supportsVision = !!(modelInfo?.capabilities?.vision);
}📁 Files Changed
shared/models/GitHubCopilotModels.ts- Updated model list and added new methodsshared/utils/DynamicModelsManager.ts- Added capability check methodsnodes/GitHubCopilotChatModel/GitHubCopilotChatModel.node.ts- Dynamic vision checknodes/GitHubCopilotChatAPI/GitHubCopilotChatAPI.node.ts- Dynamic vision checknodes/GitHubCopilotOpenAI/GitHubCopilotOpenAI.node.ts- Dynamic vision check
🔄 Migration Notes
No breaking changes. The static model list is still used as fallback. For best results:
- First API call populates the cache with accurate model data
- Subsequent calls use cached data for capability checks
- Cache expires after 1 hour, auto-refreshes on next call
📊 Default Models Updated
export const DEFAULT_MODELS = {
GENERAL: "gpt-4.1", // Free, with vision
CODING: "gpt-5-codex", // Premium, best for coding
VISION: "gpt-4o", // Free, with vision
VISION_FALLBACK: "gpt-4.1", // Fallback for vision
REASONING: "o3-mini", // Best reasoning
TOOLS: "gpt-4.1", // Free with tools
MULTIMODAL: "gemini-2.5-pro",
FREE: "gpt-4.1", // Best free model
PREMIUM: "gpt-5.2" // Best premium model
};Release v3.38.38
Full Changelog: v3.38.37...v3.38.38
Release v3.38.37
Full Changelog: v3.38.36...v3.38.37
Release v3.38.36
Full Changelog: v3.38.35...v3.38.36
Release v3.38.34
Full Changelog: v3.38.33...v3.38.34
Release v3.38.33
🚀 Novidades
🧪 Test Single Chat Model
- Adicionada a opção de testar um modelo específico no nó GitHub Copilot Test.
- Agora é possível selecionar o modelo de uma lista dinâmica (com informações de multiplicador de custo).
- Permite enviar uma mensagem personalizada para validar a resposta do modelo.
🔧 Workflow de Release
- Corrigido o workflow do GitHub Actions para não usar um corpo de release fixo e desatualizado.
- Agora utiliza `generate_release_notes: true` para gerar notas automáticas baseadas nos commits, permitindo também a edição manual sem sobrescrita indesejada de informações antigas.
📦 Instalação
npm install github:zhiru/n8n-nodes-github-copilot#v3.38.33Release v3.38.32
🚀 n8n-nodes-github-copilot v3.38.32
✅ Changes in this release:
- Fixed Copilot-Vision-Request header for vision/image requests
- Added automatic detection of image_url content in messages
- New GitHubCopilotSpeech node for audio transcription
- New FileChunkingApiUtils and FileOptimizationUtils
📦 Installation (Docker)
# Inside n8n container:
cd /home/node/.n8n/custom
curl -L -o dist.zip https://github.com/zhiru/n8n-nodes-github-copilot/releases/download/v3.38.32/n8n-nodes-github-copilot-dist.zip
unzip -o dist.zip
rm dist.zipThen restart your n8n container.
Release v3.38.31
🔧 Fix: Add required headers for premium models
Premium models (Claude, Gemini, GPT-5, etc.) now work correctly.
Changes
- Add X-GitHub-Api-Version: 2025-05-01 header
- Add X-Interaction-Type: copilot-chat header
- Add OpenAI-Intent: conversation-panel header
- Add Copilot-Integration-Id: vscode-chat header
Impact
Without these headers, premium models (1x+ multiplier) returned 403 Forbidden.
Free models (0x multiplier) worked without them.
Now all 39 chat-compatible models work correctly.
v3.38.30
🎯 Use API billing.multiplier with X-GitHub-Api-Version 2025-05-01
Changes
- Add billing interface to CopilotModel type with multiplier, is_premium, restricted_to
- Add X-Interaction-Type and OpenAI-Intent: model-access headers
- Modify getCostMultiplier() to use billing.multiplier from API when available
- Keep fallback to ID-based estimation for backward compatibility
- Now returns 39 models (vs 31) with accurate billing data
Technical Details
With the new X-GitHub-Api-Version: 2025-05-01 header, the API now returns billing.multiplier directly.
Source: microsoft/vscode-copilot-chat networking.ts
See docs/202510261800-billing-multiplier-api-discovery.md for details.