Agno publicó v3.0.3 el 30 de agosto a las 20:45:21 UTC, introduciendo un conjunto de herramientas para la gestión del conocimiento. Publicó v3.0.4 a las 22:40:41 UTC — una hora y cincuenta y cinco minutos después — y utilizó ese lanzamiento de parche para reescribir la interfaz pública del conjunto de herramientas.
Qué cambió en un parche
Tres cosas que no pertenecen a una versión de parche. La ruta del módulo se trasladó, sin dejar atrás ningún shim de compatibilidad. Los cuatro flags del constructor fueron renombrados. Y la forma en que el constructor maneja los argumentos keyword desconocidos significa que los nombres antiguos no se rechazan: se ignoran silenciosamente.
Por qué el silencio es peor que el error
Esa última parte es la que importa. Si un cambio de nombre de un flag genera un error, todas las implementaciones afectadas fallan de forma explícita al arrancar y alguien lo corrige en minutos. Si el nombre antiguo se descarta en silencio, el constructor recurre a su valor predeterminado y un operador que escribió un flag específicamente para desactivar una capacidad obtiene esa capacidad activada tras la actualización, sin error, sin aviso y sin una línea en el registro. La actualización parece haberse aplicado correctamente. La configuración que llevaba consigo no sobrevive.
La corrección de seguridad que aparece como un bug
La misma versión corrige un error de asignación de valores predeterminados que estaba eliminando la puerta de confirmación en la única herramienta del conjunto capaz de destruir contenido almacenado. Eso es una corrección relevante para la seguridad. En las notas figura como un simple punto de bug, junto a elementos cosméticos, sin nada que lo marque como la razón por la que un operador podría querer actualizar con urgencia.
Lo que falla en el encuadre habitual
La versión semántica se lee ampliamente como un contrato: un aumento de parche significa que puede aplicarse con seguridad. Aquí el dígito de parche cubre un cambio de módulo sin shim, cuatro flags renombrados y un cambio en el valor efectivo por defecto: la definición misma de un cambio incompatible. Y el proyecto conocía el principio: un lanzamiento anterior ese mismo día defendía rechazar los argumentos keyword ignorados en silencio en lugar de tragarlos. La postura se enunció y luego no se aplicó a su propio renombrado horas después.
Cómo aplicar la actualización
No trate de 3.0.3 a 3.0.4 como una actualización rutinaria. Busque los nombres antiguos de los flags y la ruta antigua del módulo antes de actualizar, porque ni el instalador ni el tiempo de ejecución le dirán que dejaron de significar algo.
