El mundo Erlang se va moviendo cada vez más rápido, además de tener cada vez más presencia en más eventos del mundo del desarrollo, escalabilidad y sus propias convenciones, la liberación de nuevas versiones va a un buen ritmo, entregando recientemente la versión R16B el día de hoy.
Los cambios no son muchos, afortunadamente y sin embargo las mejoras son importantes. En esencia, esta entrega mejora el carácter no bloqueante de Erlang haciendo que los bloqueos no se produzcan entre lecturas y escrituras en los puertos, y tampoco en la recarga de módulos.
Algunas de las mejoras y cambios más importantes (traducido del aviso oficial):
-
Manejo de procesos optimizado en la VM (máquina virtual):
- Nueva tabla de procesos interna para lecturas y escrituras paralelas
- Manejo optimizado de colas de ejecución.
- Cambio de estado de los procesos optimizado.
- Carga de código no bloqueante
- Nueva tabla interna de puertos y reescritura del programador de tareas de puertos.
- Reserva dinámica de estructuras de puertos permitiendo el número máximo de puertos por defecto incrementarse hasta 65536 (desde 1024).
- Soporte para caracteres UTF-8 en ficheros de código fuente.
- Soporte para HTTPS a través de proxy en la aplicación inets
- Limpieza mayor de backends y optimizaciones de decodificación para PER y UPER en la aplicación asn1
- La característica experimental de módulos parametrizados ha sido eliminada. Como solución alternativa se puede utilizar este transform.
- Todas las funciones BIF son visibles ahora en el código fuente del módulo al que pertenezcan, incluyendo sus especificaciones de tipos.
- La aplicación wx compila ahora y es utilizable con la rama inestable de wxWidgets-2.9 por lo que es compatible con MacOSX de 64 bits.
Esta liberación también contiene algunas incompatibilidades por elementos que se han eliminado o marcado como obsoletos. Para más información podéis echarle un vistazo al README (en inglés).