La herramienta clave para transferencias de datos sigue evolucionando
El proyecto cURL, una de las herramientas de línea de comandos y bibliotecas más utilizadas para la transferencia de datos en redes, ha lanzado su versión 8.12. Este nuevo lanzamiento destaca por la eliminación definitiva del backend Hyper, basado en Rust, junto con varias mejoras de seguridad, compatibilidad y optimización del sistema.
Hyper fue una implementación experimental destinada a reforzar la seguridad en la gestión de memoria, pero su escasa adopción y falta de interés por parte de los desarrolladores han llevado a su retirada. Daniel Stenberg, creador y principal mantenedor de cURL, ha explicado que mantener código sin soporte ni demanda solo complica el desarrollo y mantenimiento del software.
¿Qué es cURL y por qué es tan importante?
cURL (Client URL) es una herramienta de software de código abierto que permite la transferencia de datos utilizando distintos protocolos, como HTTP, HTTPS, FTP, SCP, SFTP, LDAP y muchos otros. Su versatilidad y fiabilidad han convertido a cURL en un estándar en el mundo del desarrollo web, la automatización y la administración de sistemas.
Lanzado por primera vez en 1998, cURL ha evolucionado constantemente para adaptarse a las necesidades del ecosistema digital moderno. Es utilizado en una gran variedad de entornos, desde la integración con API REST, la automatización de descargas y cargas de archivos, hasta la interacción con servidores remotos y el diagnóstico de conexiones de red.
Además, cURL no solo se limita a su uso en línea de comandos, sino que su biblioteca asociada, libcurl, es ampliamente utilizada en el desarrollo de aplicaciones y servicios que requieren comunicación con servidores a través de Internet. Empresas de la talla de Google, Facebook, Microsoft y Amazon han integrado cURL en sus sistemas para facilitar la gestión de datos en la nube y la transferencia segura de información.
Novedades en cURL 8.12
La versión 8.12 incorpora múltiples mejoras, entre las que destacan:
- Eliminación del backend Hyper, una implementación en Rust que nunca llegó a consolidarse debido a la falta de demanda.
- Compatibilidad mejorada con OpenSSL, permitiendo la utilización de claves y certificados desde un proveedor PKCS#11.
- Soporte para exportar e importar sesiones SSL mediante la nueva función ssls-export.
- Optimización del soporte QUIC, con la posibilidad de utilizar 0RTT en GnuTLS a través de CURLSSLOPT_EARLYDATA.
- Mejoras en el sistema de compilación, incluyendo actualizaciones en autotools y CMake para mejorar la eficiencia y la compatibilidad con distintas plataformas.
- Correcciones de seguridad y estabilidad, abordando fallos en la gestión de cookies, vulnerabilidades en el manejo de enteros y errores en conexiones HTTPS.
La decisión de eliminar Hyper
Hyper fue introducido con el objetivo de mejorar la seguridad de cURL al aprovechar las ventajas de Rust en la gestión de memoria. Sin embargo, a lo largo de los años, su uso se mantuvo extremadamente limitado y no logró captar la atención de la comunidad de desarrolladores.
Stenberg ha argumentado que «mantener características que no tienen una base de usuarios sólida ni soporte activo solo añade complejidad innecesaria al código», por lo que la eliminación de Hyper permitirá concentrar los esfuerzos en otras mejoras más demandadas.
Disponibilidad y descarga
La versión 8.12 de cURL ya está disponible para su descarga en el sitio oficial del proyecto. Los desarrolladores y administradores de sistemas pueden acceder al listado completo de cambios y mejoras en https://curl.se/ch/8.12.0.html.
Este lanzamiento reafirma el papel de cURL como una herramienta esencial en el mundo del desarrollo y la administración de sistemas, manteniéndose en constante evolución para adaptarse a los desafíos actuales en transferencia de datos y seguridad en la red.