Stack baseline — 2026-2027
Single source of truth for versions and facts used across these notes. Every content edit checks claims against this table. Web-verified 2026-08-08; Vue, data-engineering, quant, healthcare and AI-tooling rows verified 2026-08-10; Python and the ML/LLM library rows re-verified 2026-08-12; agent-framework and eval-tooling rows added 2026-08-13.
Rule: when a note states a version, it either matches this table or explicitly says why an older version matters (“Django 4.2 is where X was introduced”). Never leave a bare unversioned claim that was true only in 2023.
Python
| Item | Current | Notes for notes |
|---|---|---|
| Python | 3.14.7 (2026-08-05; 3.14.0 GA 2025-10-07) | Baseline for all examples. 3.13 acceptable where a feature needs it. |
| Python 3.15 | pre-release, planned 2026-10-01 | Say “due October 2026”, never “current”. Useful as the “what’s next” answer. |
| Security-only | 3.10-3.12 | 3.10 goes EOL 2026-10. 3.9 already EOL (2025-10-31). |
| Free-threading | Official (PEP 779) in 3.14 | No longer experimental. 3.13 was experimental. Build is still opt-in (python3.14t). Rewrite every GIL note around this. |
| JIT | Experimental (copy-and-patch) | Say “experimental”, not “coming”. |
| Subinterpreters | PEP 734, stdlib interpreters in 3.14 |
New concurrency option alongside threads/async/processes. |
| t-strings | PEP 750 in 3.14 | Template strings. New topic — safe SQL/HTML interpolation angle. |
| Deferred annotations | PEP 649 in 3.14 | from __future__ import annotations story changed. Update typing notes. |
compression.zstd |
PEP 784 in 3.14 | Minor; mention in stdlib note. |
| EOL | 3.9 EOL Oct 2025 | Anything referencing 3.7/3.8/3.9 as “modern” is wrong. |
Python tooling
| Item | Current | Notes for notes |
|---|---|---|
| Package manager | uv | The 2026 default. Repo mentions it in 3 files — should be the primary answer in packaging/CI/Docker notes, with pip/Poetry as context. |
| Lint + format | Ruff | 800+ rules; replaces flake8 + black + isort + pyupgrade + bandit. Used by FastAPI, LangChain, HuggingFace. |
| Type checker | mypy (established), ty (Astral, newer) | mypy is still the safe interview answer; mention ty/pyright as the moving edge. |
| Config | pyproject.toml only |
uv, Ruff, mypy, pytest, coverage, build all live there. setup.py/setup.cfg/.flake8/mypy.ini are legacy. |
| Base image | python:3.14-slim |
Repo Docker notes should not pin 3.11. |
Web / backend
| Item | Current | Notes for notes |
|---|---|---|
| FastAPI | 0.136.x, fastapi[standard] |
OpenAPI 3.1. Still the default Python API framework. |
| Pydantic | v2 (2.7+) | v1 only as migration context. 5–50× faster validation. |
| SQLAlchemy | 2.0, AsyncSession |
2.0 select() style only. Sync SQLAlchemy blocks the event loop — that’s the interview point. |
| Django | 6.1 (2026-08-05); 6.0 Dec 2025 | 5.2 is the LTS. Repo says 4.2 — stale. |
| DRF | current | Check async support story. |
| ASGI | ASGI 3 | Granian/uvicorn/hypercorn landscape. |
Data stores
| Item | Current | Notes for notes |
|---|---|---|
| PostgreSQL | 18.4 (18 GA Sep 2025) | Repo says 12/13. PG18: async I/O, UUIDv7, virtual generated columns, OAuth auth. |
| Redis | 8.x; license changed 2024 | The license split is itself an interview topic. Covered across backend/09_caching/redis/ (01 model, 04 persistence, 05 HA, 06 streams, 07 Python). |
| Valkey | Linux Foundation fork of Redis 7.2; 8.x | Multi-threaded I/O is the real technical divergence. Covered in backend/09_caching/valkey/01_valkey.md. |
| Kafka | 4.x (4.0 Mar 2025; 4.3.1 Jun 2026) | ZooKeeper fully removed — KRaft only. Repo says 2.4/2.8 — badly stale. Also: queues for Kafka (KIP-932), faster rebalances. |
| MongoDB | 8.x | |
| Elasticsearch | 9.x | AGPLv3 added as a licence option Aug 2024 — “Elasticsearch isn’t open source” is out of date. |
| OpenSearch | 3.x; Apache 2.0 | Verified 2026-08-18. Forked from ES 7.10 in 2021; donated to the Linux Foundation Sep 2024, so it is no longer “an AWS project”. elasticsearch-py 8+ refuses to talk to it (product-verification header) — use opensearch-py. Covered in backend/08_databases/nosql/elasticsearch/07_opensearch_and_the_fork.md. |
| Qdrant | Rust engine, Apache 2.0 | Verified 2026-08-18. Filterable HNSW (filters applied during traversal, not post-hoc), named dense+sparse vectors on one point, prefetch + RRF/DBSF fusion in a single query_points call, scalar/binary quantisation with always_ram. Covered in ai_ml/09_rag_embeddings/12_qdrant_in_production.md. |
| pgvector | 0.8.6 | Verified 2026-08-12. HNSW (m, ef_construction, query-time hnsw.ef_search) and IVFFlat (lists, ivfflat.probes). Operators <-> L2, <=> cosine, <#> inner product; the index opclass must match the operator or it is silently unused. Also halfvec, binary quantisation and sparsevec. Covered in ai_ml/09_rag_embeddings/10_pgvector_in_production.md. |
Infra / platform
| Item | Current | Notes for notes |
|---|---|---|
| n8n | Community edition under the Sustainable Use License | Verified 2026-08-18. Source-available, not OSI open source — same shape as Redis/Valkey and Terraform/OpenTofu. Queue mode (Redis + workers) is in the community edition; multi-main needs Enterprise. Use Postgres, never the default SQLite, and set the execution-data pruning variables or the disk fills. Covered in ai_ml/10_agents_orchestration/20_n8n_and_low_code_automation.md. |
| Kubernetes | 1.3x (verify at edit time) | Gateway API is GA and replaces Ingress for new work — 0 mentions in repo. |
| Docker | current | Multi-stage + distroless; BuildKit default. |
| Terraform | 1.x; BSL license since 2023 → OpenTofu fork | License split is an interview talking point. 0 mentions. |
| Node.js | 24 LTS (22 maintenance) | Repo mixes node10/14/16 with 22/24. |
| OpenTelemetry | GA for traces/metrics/logs | Also OTel GenAI semantic conventions for LLM spans — near-zero coverage. |
Frontend
| Item | Current | Notes for notes |
|---|---|---|
| React | 19.2.7 (Jun 2026) | No React 20 announced. Repo mixes 15/16/17/18/19. |
| React Compiler | 1.0 stable (2025-10-07) | Default assumption for new projects. Auto-memoization means useMemo/useCallback advice in the repo is outdated guidance, not just an old version number. |
| Next.js | 15+ (Turbopack, async request APIs) | Repo mentions 13 and 15. |
| TypeScript | 5.x | |
| Vue | 3.5.41 stable; 3.6.0-rc.2 (2026-07-22) | 3.6 = Vapor Mode feature-complete (opt-in, no VDOM, compiles SFCs to direct DOM ops) + @vue/reactivity rewritten on alien-signals. Still RC as of 2026-08 — do not write “3.6 shipped”. Vue 2 EOL since 2023-12-31. |
| Vue ecosystem | Vue Router 5.2, Pinia 3/4, Pinia Colada 1.4, Nuxt 4.5 | Nuxt 4.5 ships Vite 8 + Rspack 2; Nuxt 3 EOL during 2026. Radix Vue renamed Reka UI (2025). |
AI / LLM
| Item | Current | Notes for notes |
|---|---|---|
| Frontier models | Claude Opus 5 (2026-07-24), Fable 5, Sonnet 5, Mythos 5; GPT-5.6 “Sol”; Gemini 3 / 3.1 Pro; Grok 4 | Repo says GPT-4 (33×), GPT-4o (14×), Llama-2, claude-sonnet-4-5. All stale. |
| Model strategy | Routing across models by task complexity | 2026 production norm — cheap model for simple, frontier for hard. This is now a design-interview answer, not a footnote. |
| MCP | spec 2026-07-28 | Landmark revision: stateless protocol core, session management removed from transport, multi-round-trip requests, header-based routing, cacheable list results, authz hardening, extensions framework. Tasks moved to an extension. Repo’s MCP note predates all of this. |
| LangChain / LangGraph | LangChain 1.3.15 (2026-08-11), LangGraph 1.3.11 (Jun 2026); both 1.0 GA Oct 2025 | Verified 2026-08-12. Requires Python 3.10+. Splitters moved to langchain-text-splitters, integrations to their own packages (langchain-openai, langchain-neo4j). Any from langchain.llms/embeddings/text_splitter import is pre-1.0. |
| Pydantic AI | 2.27.1 (2026-08-11); 1.0 GA Sep 2025 | Verified 2026-08-12. API is Agent(model, instructions=, deps_type=, output_type=), tools via @agent.tool with RunContext, result on result.output. Pre-1.0 result_type= / result.data are gone. Requires Python 3.10+. |
| Agent frameworks | Microsoft Agent Framework 1.0 (GA Apr 2026) — AutoGen + Semantic Kernel merged, both now maintenance-only; CrewAI 1.15.15 (2026-08-12, Python 3.10-3.13); OpenAI Agents SDK 0.20.0 (2026-08-11); Google ADK 2.6.3 (2026-08-07); AWS Strands Python 1.42.0 | Verified 2026-08-12. Naming AutoGen or Semantic Kernel as separate live projects dates you by a year. Covered in 10_agents_orchestration/18_multi_agent_frameworks.md. |
| Eval / observability | Langfuse 4.14.4 (2026-08-11, MIT, self-hostable, OTel-based); DeepEval 4.1.8 (2026-08-12); Ragas 0.4.3 (2026-01-13); LangSmith, Phoenix, Braintrust, promptfoo | Verified 2026-08-12. Covered in 13_evaluation/05_eval_tooling.md. RAGAS’s four metrics split retrieval (context precision/recall) from generation (faithfulness/answer relevancy). |
| LLM tracing platforms | Langfuse (MIT, self-hostable; acquired by ClickHouse 2026-01-16, MIT + self-hosting committed to); LangSmith (LangChain first-party, self-host is Enterprise-only, per-trace pricing); Logfire (Pydantic, OTel-first, SQL over spans) | Verified 2026-08-18. All three ingest OpenTelemetry, so instrument with OTel and treat the backend as swappable. Covered in ai_ml/15_mlops_llmops/06_tracing_platforms.md. |
| Claude Agent SDK | claude-agent-sdk / @anthropic-ai/claude-agent-sdk |
Claude Code packaged as a library — built-in Read/Write/Edit/Bash/Glob/Grep/WebSearch/WebFetch, subagents, skills, hooks. Harness only; you deploy it. Distinct from the API Tool Runner (your tools, no built-ins) and Managed Agents (Anthropic hosts the loop and sandbox). |
| Serving | vLLM 0.27.1 (2026-08-11), TGI; speculative decoding, continuous batching | Verified 2026-08-12. Covered in 08_inference_serving/02_batching_and_serving_engines.md — continuous batching, PagedAttention, prefix caching, chunked prefill. |
| Transformers | 5.15.0 (2026-08-10) | Verified 2026-08-12. HuggingFace’s model-definition framework. |
| Embedding models | text-embedding-3-small / -large still current — no OpenAI successor as of 2026-08; 1536 / 3072 dims, Matryoshka truncation supported. Cohere Embed and Voyage have shipped newer generations |
Verified 2026-08-14. ada-002 is the deprecated one. Changing the model means re-embedding the whole corpus — see ai_ml/09_rag_embeddings/02_what_are_embeddings.md. |
| Classical ML | scikit-learn 1.9.0 (2026-06-02, needs Python 3.11+), XGBoost 3.4.0 (2026-08-04), LightGBM/CatBoost | Verified 2026-08-12. sklearn is the default answer for structured data; gradient boosting beats deep learning on tabular. |
| Deep learning | PyTorch 2.13.0 (2026-07-08), TensorFlow, JAX | Verified 2026-08-12. PyTorch ships wheels for Python 3.10-3.14 including free-threaded 3.14t, which is a good free-threading talking point. |
| Tuning | Optuna 4.9.0 (2026-06-01, Python 3.9-3.14); AutoGluon, PyCaret, FLAML | Verified 2026-08-12. Covered in 01_ml_foundations/07_hyperparameter_tuning.md. Optuna is the default answer; its TPE sampler and pruning are the two details worth naming. |
| MLOps | MLflow 3.15.1 (2026-08-03) — safest first answer; now also prompt logging, eval and tracing for GenAI | Verified 2026-08-12. |
Compliance / security
| Item | Current | Notes for notes |
|---|---|---|
| EU AI Act | phased obligations in force | 0 mentions. Relevant to any AI-facing role. |
| Passkeys / WebAuthn | mainstream | 2 mentions. |
| SBOM / SLSA | standard supply-chain asks | thin. |
| Prompt injection | OWASP LLM Top 10 | 2 mentions — far too thin for an AI-focused candidate. |
Data engineering
Verified 2026-08-10.
| Item | Current | Notes for notes |
|---|---|---|
| Apache Airflow | 3.3.0 (2026-07-06) | Airflow 3 rearchitected execution with task isolation, new UI, DAG versioning. Do not describe Airflow as 2.x. |
| dbt | dbt Core v2.0 open-sources the Rust Fusion engine (Apache 2.0) | State-aware runs skip unchanged models. Big parse-time speedup. |
| dbt Labs / Fivetran | Merger completed 2026-06-01 (all-stock) | Fivetran also acquired Census (2025) and Tobiko Data / SQLMesh. Consolidation is the 2025-26 story. |
| Apache Iceberg | v3 GA across major platforms, H1 2026 | The interoperable lakehouse table format; Polars can now sink to Iceberg. |
| Polars | 1.42 (2026-07-02) | Optimizer improvements in 1.40-1.42 speed queries with no code change. |
| Data mesh | widely partial adoption | Data contracts and domain ownership transferred to mainstream; full mesh purity did not. Say that rather than advocating. |
Domain: quant / fintech
Verified 2026-08-10.
| Item | Current | Notes for notes |
|---|---|---|
| vectorbt | actively developed; OSS core + commercial PRO | The vectorized screening tool. |
| Backtrader | effectively unmaintained | Fine to maintain an existing codebase, wrong choice for a new one. Naming it unqualified dates you. |
| QuantConnect / LEAN | actively developed | C# engine, Python API, managed multi-asset point-in-time data, one path to live. |
| NautilusTrader | actively developed | Rust core, Python API; the high-fidelity event-driven option. |
| Zipline | original is dead; zipline-reloaded is the maintained fork |
Domain: healthcare / regulated
Verified 2026-08-10.
| Item | Current | Notes for notes |
|---|---|---|
| FHIR | R4 normative and what 95%+ of certified EHRs implement; R5 published with limited adoption; R6 in ballot (v6.0.0-ballot4, May 2026), expected 2026-2027 | Build against R4 and say so. Claiming R5/R6 in production is a tell. US Core is being built on R6 next. |
| HL7 v2 | still the hospital interface workhorse | MLLP over TCP, ACK/NAK, Z-segments. Not going away. |
| OMOP CDM | the analytics model (OHDSI) | Distinct from FHIR: exchange format vs analytics model. |
| CDISC SDTM/ADaM | FDA submission standard | Active work on SDTM-to-OMOP conversion. |
| FDA validation | CSA (Computer Software Assurance) is the current risk-based guidance | Supersedes the binder-heavy CSV interpretation; accepts automated test evidence. |
| EU AI Act | Art. 50 transparency + GPAI enforcement + penalties in force 2026-08-02; high-risk delayed to Dec 2027 / Aug 2028 |
AI-assisted development
Verified 2026-08-10.
| Item | Current | Notes for notes |
|---|---|---|
| Agentic IDEs | Kiro (AWS, spec-driven), Antigravity (Google, agent-first), Codex (OpenAI), Claude Code, Cursor, Windsurf, Copilot, Cline | The axis that matters is how much structure the tool imposes, not the vendor. |
| AI-DLC | AWS open-source methodology: Inception / Construction / Operations, in “bolts” (hours-days) replacing sprints | Human validation at each step is the load-bearing principle. |
How to use this file
- Before editing any note, check the technologies it names against this table.
- If a claim here is older than ~3 months, re-verify with a web search and update this file in the same commit.
- Date every claim that will rot: “As of 2026-08, …”.
- When this file changes, the notes that cite the changed row get flagged in PLAN.md.
Sources
- Python 3.14 free-threading (docs) · Python 3.14.7
- Django 6.1 released · Django 6.0 release notes
- Kafka 4.0 announcement · Kafka releases
- PostgreSQL 18
- MCP spec 2026-07-28 · MCP 2026-07-28 blog
- LangChain + LangGraph 1.0
- Pydantic AI docs · pydantic-ai on PyPI
- React Compiler 1.0 / 2026 roadmap
- LLM releases, Aug 2026 · Frontier model comparison
- Modern Python tooling 2026 — uv, Ruff, mypy
- Verified 2026-08-12 from PyPI/python.org: optuna · Python downloads · torch · scikit-learn · transformers · langchain · xgboost · vllm · mlflow
- MLOps tools 2026
- vuejs/core releases · Pinia Colada · Vue Router data loaders
- Fivetran + dbt Labs merger complete
- AI-DLC (awslabs/aidlc-workflows) · Building with AI-DLC
- HL7 FHIR · FHIR R4 vs R5 vs R6