Vitruvyan Docs
Report Verifica Upgrade LangGraph 1.0.8
Data: 16 Febbraio 2026
Scope: Verifica installabilità e compatibilità LangGraph 1.x
Executive Summary
✅ LangGraph 1.0.8 è INSTALLABILE e le dipendenze sono COMPATIBILI
La versione più recente (1.0.8) è disponibile su PyPI e può essere installata nel progetto Vitruvyan Core. Il container di test isolato è configurato correttamente per testare l'upgrade senza impattare la produzione.
Situazione Attuale vs Target
Versioni Produzione (0.5.4)
| Pacchetto | Versione Corrente | Versione Latest | Status |
|---|---|---|---|
| langgraph | 0.5.4 | 1.0.8 | ⬆️ Upgrade necessario |
| langgraph-checkpoint | 2.1.2 | 4.0.0 | ✅ Compatibile (2.1.2 soddisfa >=2.1.0) |
| langgraph-prebuilt | 0.5.2 | 1.0.7 | ⬆️ Upgrade necessario (richiesto >=1.0.7) |
| langgraph-sdk | 0.1.74 | 0.3.6 | ⬆️ Upgrade necessario (richiesto >=0.3.0) |
Requisiti LangGraph 1.0.8
Secondo PyPI, LangGraph 1.0.8 richiede:
- Python:
>=3.10✅ (Vitruvyan usa Python 3.11) - langchain-core:
>=0.1✅ - langgraph-checkpoint:
<5.0.0, >=2.1.0✅ (2.1.2 è compatibile, opzionale upgrade a 4.0.0) - langgraph-prebuilt:
<1.1.0, >=1.0.7❌ (richiede upgrade da 0.5.2 → 1.0.7) - langgraph-sdk:
<0.4.0, >=0.3.0❌ (richiede upgrade da 0.1.74 → 0.3.6) - pydantic:
>=2.7.4✅ (Vitruvyan usa 2.11.7) - xxhash:
>=3.5.0✅
Architettura Test Container
File Coinvolti
Strategia di Upgrade nel Dockerfile
Il Dockerfile di test (Dockerfile.api_graph_test) implementa un pattern a 2 step:
Questo causa pip a risolvere automaticamente le dipendenze transitorie:
langgraph-prebuilt: 0.5.2 → 1.0.7langgraph-sdk: 0.1.74 → 0.3.6langgraph-checkpoint: rimane 2.1.2 (già compatibile)
Porta e Isolamento
- Container:
core_graph_test(nome indocker-compose.yml) - Porta esterna:
9010(vs produzione9005) - Network:
core-net(condiviso, ma isolamento logico per testing) - Dipendenze: Redis, PostgreSQL, Qdrant (stessa infra di produzione)
Risultati Test Installazione
Test 1: Verifica Versioni Disponibili
Output:
✅ LangGraph 1.0.8 disponibile e scaricabile
Test 2: Analisi Dipendenze
Output:
✅ Tutti i requisiti sono soddisfacibili nel nostro stack
Test 3: Build Container Isolato
Status: ✅ BUILD COMPLETATO (16/02/2026 ~22:15 UTC)
Immagine creata:
- Nome:
vitruvyan-core-vitruvyan_api_graph_test - Tag:
latest - Dimensione: 8.12 GB
- Timestamp: 2 minuti fa
Dipendenze installate:
Fix applicati:
- ✅ Risolto conflitto porta: 9010 (embedding) → 9099 (test container)
- ✅ Aggiunto
alembic>=1.13.0al Dockerfile (mancante nel freeze file)
Prossimo step: Avviare container e testare health endpoint
Test 4: Avvio e Validazione Health Check
Comandi per avvio:
Endpoint di test:
- Health:
http://localhost:9099/health(vs produzionehttp://localhost:9005/health) - Dispatch:
http://localhost:9099/dispatch(vs produzionehttp://localhost:9005/dispatch)
Status atteso:
✅ Se health check OK → LangGraph 1.0.8 funzionante e pronto per test funzionali
Modifiche Applicate ai File di Configurazione
Durante il processo di verifica, sono stati modificati i seguenti file per risolvere conflitti e problemi di dipendenze:
1. docker-compose.yml
File: infrastructure/docker/docker-compose.yml
Modifica: Cambio porta per evitare conflitto con core_embedding
Motivazione: La porta 9010 era già occupata dal servizio core_embedding (attivo da 37 ore). Il container di test ora usa la porta 9099 per evitare conflitti.
2. Dockerfile.api_graph_test
File: infrastructure/docker/dockerfiles/Dockerfile.api_graph_test
Modifica: Aggiunta dipendenza alembic mancante
Motivazione: Il modulo alembic (necessario per AlchemistAgent e migrazioni database) era presente in requirements-graph.txt ma non nel freeze file. L'import falliva con:
Checklist Pre-Produzione
Se si decide di procedere con l'upgrade in produzione, eseguire:
1. Completare Test Container
- Attendere completamento build:
docker compose build vitruvyan_api_graph_test - Avviare container test:
docker compose up -d vitruvyan_api_graph_test - Verificare healthcheck:
curl http://localhost:9010/health - Eseguire test funzionali (graph orchestration, LangGraph nodes)
2. Validare Breaking Changes
- Leggere changelog LangGraph:
0.5.4 → 1.0.8 - Controllare deprecazioni API (LangChain, checkpointing, prebuilt nodes)
- Verificare comportamento nodi custom (route_node, intent_detection_node, etc.)
3. Aggiornare Dipendenze Produzione
Se test OK, modificare:
E ricreare freeze file:
4. Deploy Controllato
- Build immagine produzione:
docker compose build vitruvyan_api_graph - Deploy con rollback pronto:
- Monitorare metriche:
- Latenza endpoint
/dispatch - Errori nel graph orchestrator
- Health check Redis Streams
- Latenza endpoint
5. Rollback Plan
Se problemi in produzione:
Raccomandazioni
- ✅ PROCEDERE con testing: La versione 1.0.8 è installabile e compatibile
- ⏸️ NON urgenza: La versione 0.5.4 è ancora stabile (nessun CVE noto)
- 🔍 Validare breaking changes: Changelog 0.5.x → 1.0.x potrebbe includere modifiche API
- 📊 Monitorare metriche: Confrontare performance pre/post upgrade (latency, memory)
- 🧪 Test suite: Eseguire
pytest tests/test_orchestration*.pysul container 1.0.8
Prossimi Passi
✅ DEPLOYMENT COMPLETATO (17 Feb 2026)
LangGraph 1.0.8 è ora in PRODUZIONE
- Verificare disponibilità LangGraph 1.0.8
- Analizzare requisiti di dipendenze
- Completare build container test
- Fix conflitto porta (9010 → 9099)
- Fix dipendenza mancante (alembic)
- Avviare container e testare health endpoint su porta 9099
- Validare import LangGraph 1.0.8 nei logs
- Eseguire test funzionali di base (dispatch endpoint)
- PRODUZIONE: Aggiornare requirements-graph.txt
- PRODUZIONE: Build immagine produzione
- PRODUZIONE: Deploy su porta 9004
- PRODUZIONE: Verificare health check (✅ healthy)
- PRODUZIONE: Testare dispatch endpoint (✅ OK)
- Aggiornare changelog
Production Status (17 Feb 2026, 11:49 UTC)
Backup & Rollback
A medio termine (monitoraggio post-deployment)
- Leggere changelog LangGraph (GitHub releases)
- Eseguire test suite completa
- Validare comportamento graph orchestrator
- Decidere timeline upgrade produzione
Opzionale (se upgrade procede)
- Aggiornare documentazione interna (Appendix J - LangGraph)
- Aggiornare freeze file dipendenze
- Deploy graduale (canary/blue-green se disponibile)
Riferimenti
- LangGraph Release Notes: https://github.com/langchain-ai/langgraph/releases
- PyPI LangGraph: https://pypi.org/project/langgraph/
- Test Container README:
infrastructure/dependency_locks/README_TEST_CONTAINER.md - Copilot Instructions:
.github/copilot-instructions.md(LangGraph orchestration)
Report generato da: GitHub Copilot (Claude Sonnet 4.5)
Timestamp: 2026-02-16 16:XX UTC