Subir de 4.1 a 4.2¶
Sin cambios de código necesarios. Toda novedad de 4.2 es opt-in o gratis cuando no se usa.
Compatibilidad¶
- Python 3.11+ (sin cambios).
- Paquetes hermanos
djanorm-mypy/pytest-djanormsiguen funcionando sin actualizar (pin mínimodjanorm >= 4.0). - Migraciones existentes se reaplican igual — toda nueva
:class:
Operation(MakeTableAppendOnly,AlterColumnTypeOnline) es clase nueva; nada renombrado ni eliminado.
Cambios de comportamiento a tener en cuenta¶
No son rupturas de API — misma firma, mismo tipo de retorno — pero los valores por defecto recorren un camino distinto al de 4.1:
dorm migrate --dry-run <target>antes salía con exit 1; en 4.2 imprime el SQL del rollback. Actualiza tests CI que esperaban el error.- Métricas Prometheus incluyen
dorm_pool_saturation{alias}y (al llamar a :func:querystats.collector().enable()) líneasdorm_template_*. Dashboards que comprueban métricas ausentes verán claves nuevas. dorm.configure(DEBUG_NPLUSONE=True)auto-instala el detector global N+1. Si ya llamabas a :func:install_debug_globalmanualmente, la segunda llamada es no-op — déjala por compatibilidad.
Dependencias opcionales nuevas¶
Ninguna. v4.2 conserva la matriz de instalación de v4.1
([postgresql], [litestar], [parquet], …).
Orden recomendado de adopción¶
Las features son independientes — usa solo las que necesites. Un rollout típico de stack productivo:
dorm doctor— ejecuta contra config actual y triage los nuevos warnings antes de adoptar otra feature.dorm.contrib.querystats— habilita collector, observa distribución de queries durante una semana antes de decidir qué indexar.- Gauge de saturación de pool — se activa automáticamente al
exponer
prometheus.metrics_response(). SLOW_QUERY_EXPLAIN=True— primero staging; coste duplicado sobre slow queries no suele ser problema pero verifica logs.MakeTableAppendOnlysobre tablas<Model>_historyque no necesiten updates.sql_allowlist— canary capture, curado, enforcement.- PG advisory locks donde haya leader-election manual o cron singleton.
Broadcaster+DataLoaderen stacks async (GraphQL, FastAPI con fan-out).
Eliminado / deprecado¶
Nada eliminado. Nada deprecado.
Ver Novedades en 4.2 para catálogo completo de features.