Todos los cambios que rompen compatibilidad/notables de este proyecto se documentarán en el archivo /docs/changelog/master.
El formato se basa en Keep a Changelog, y este proyecto se adhiere al Versionado Semántico.
Este changelog debería proporcionar una forma sencilla para que los desarrolladores actualicen su propio código que está conectado a AzerothCore (p. ej. módulos, APIs, scripts, etc.) No es una forma de llevar un registro de TODOS los cambios realizados (para eso tenemos el historial de git). Por tanto, solo 2 reglas de oro a seguir:
La creación de un changelog para un PR es similar a la creación de un nuevo archivo sql.
En la carpeta doc/changelog/pendings encontrarás un script create.sh.
Ejecuta este script para crear un nuevo archivo de changelog en la misma carpeta que se llamará automáticamente changes_<timestamp>.md.
Una vez que el PR se integre, nuestro pipeline fusionará tu archivo en doc/changelog/master creando automáticamente una nueva sección dentro de ese archivo.
Esta sección se titulará con el nuevo número de versión basado en el anterior del archivo acore.json que puedes encontrar en la carpeta raíz.
Así, por ejemplo:
si la versión actual es 1.0.0-dev.1, después de que tu PR se integre se cambiará a 1.0.0-dev.2 automáticamente dentro de acore.json y se creará una nueva sección
llamada ## 1.0.0-dev.2 bajo el changelog master.
Este enfoque también es bastante útil para que los módulos lleven un registro de la compatibilidad
Es obligatorio usar el formato "Keep a Changelog", usando correctamente los siguientes tipos de títulos de sección:
Tienes que crear una nueva sección H3 ( ### en markdown) para cada tipo diferente de cambios.
Por ejemplo:
### Added
- new hooks X, Y
- new formula for Z
### Changed
- return value for hook X, now it's boolean instead of void
Después de las secciones anteriores tienes que describir los pasos necesarios para actualizar el código. Esta es la parte más importante y es particularmente útil para los autores de módulos para arreglar su código basándose en lo que cambiaste sin tener que leer con dificultad toneladas de commits y buscar información por ahí.
Para ello, puedes usar la sección ### How to upgrade generada por nuestro create.sh.
Por favor, sé lo más detallado posible.
Si las directrices son muy largas y requieren más de unas pocas líneas (una página wiki entera, por ejemplo), puedes simplemente enlazar esa página.
Ejemplo:
### How to upgrade
- The hook OnCheck of the Achievement script class now returns a boolean instead of a void. Add `return true` to your methods if you don't want to change the original behaviour.
Este es un proceso manual. Cada vez que lanzamos una nueva versión mayor (4.0.0, 5.0.0, etc.) necesitamos mover el master a la carpeta doc/changelog/previous-versions y renombrarlo usando este formato: v[major].x. Después de eso tenemos que crear un nuevo archivo master vacío