Ob das klassische semantische Versionsschema "MAJOR.MINOR.PATCH" sinnvoll ist, hängt davon ab, für wen Sie es bereitstellen, und insbesondere davon, wann und wie oft Sie es für den Endbenutzer bereitstellen . Das Schema ist am nützlichsten, wenn Sie mit der stabilen Version "4.5" arbeiten, bei der Sie mit 4.5.0 beginnen. Die Versionen 4.5.1, 4.5.2 usw. enthalten nur Fehlerbehebungen, während Sie intern bereits an Version 4.6 arbeiten.
Wenn Sie Ihrem Endbenutzer beispielsweise einen "stabilen Zweig" bereitstellen, geben Sie ihm eine Version 4.5.0 für die Erstbereitstellung und 4.5.1, 4.5.2, wenn Sie einen Patch veröffentlichen. In Ihrer internen "agilen" Entwicklung und Mid-Sprint-Bereitstellung können Sie bereits eine Version 4.6 haben, nennen Sie es einfach eine "Beta-Version". Wenn Sie es mitten im Sprint bereitstellen, fügen Sie die automatisch generierte Build-Nummer wie "4.6.beta Build 123" hinzu. Wenn Ihr Sprint endet, weisen Sie ihm "4.6.0" zu und ändern Sie die Versionsnummer für den nächsten Sprint intern auf "4.7". Das Beginnen mit ".0" ist nur eine Konvention. Sie können auch das ".0" zum Kennzeichnen von Beta-Versionen verwenden und mit ".1" für Ihre Endbenutzer beginnen. IMHO ist das Wort "Beta" viel ausdrucksvoller und sagt allen, dass der Sprint "noch nicht abgeschlossen ist".
Wenn Sie mit jeder Beta-Version ein vollständiges Änderungsprotokoll für Endbenutzer veröffentlichen, liegt es an Ihnen, aber zumindest am Ende des Sprints sollte das Änderungsprotokoll abgeschlossen sein. Wenn Sie dem Endbenutzer einen Bugfix zur Verfügung stellen, sollten Sie auch ein Update durchführen die Geschichtsdokumente.
In vielen Open-Source-Produkten wie Inkscape, Firefox oder 7-zip finden Sie die Strategie, zwei getrennte Zweige freizugeben, einen "stabilen" Zweig mit semantischen Versionsnummern und einen "Entwicklungszweig", der mit Build-Nummern oder ähnlichem gekennzeichnet ist.
Wenn Sie jedoch nicht mit separaten Stabilitäts- und Entwicklungszweigen arbeiten und täglich eine neue Version für Ihren Endbenutzer freigeben, sollten Sie auch täglich eine Versionsnummer erhöhen. In einem solchen Fall spiegeln die Versionsnummern "4.5.1", "4.5.2", ... wahrscheinlich Ihre individuellen Bereitstellungen wider und geben nicht den Unterschied zwischen Fehlerkorrekturen und anderen Änderungen an. Das kann in Ordnung sein, es ist einfach keine klassische "semantische Versionierung" mehr. In diesem Szenario können Sie auch die Versionen 4.5, 4.6, 4.7, 4.8 bereitstellen, die keinen wirklichen Unterschied ergeben.
Bezüglich Ihrer Frage zu Einträgen in Ihrem Änderungsprotokoll: IMHO, wenn etwas für den Endbenutzer sichtbar ist, lohnt es sich, einen Eintrag im Änderungsprotokoll vorzunehmen, sobald Sie die Änderung bereitstellen. Wenn Sie beispielsweise Funktionsumschaltungen verwenden und Änderungen an einer halbgebackenen Funktion vornehmen, die für den Benutzer noch nicht aktiviert ist, gehört diese nicht zu einem Änderungsprotokoll. Wenn Sie nur ein Refactoring durchführen, ohne dass eine Änderung für den Benutzer sichtbar ist, gehört dies nicht zu einem Änderungsprotokoll. Wenn Sie einen Fehler beheben, der einige Benutzer betroffen haben könnte, gehört dieser definitiv zum Änderungsprotokoll - und sollte dort gleichzeitig mit der Bereitstellung des Bugfixes erwähnt werden. Und es spielt keine Rolle, ob Sie täglich, monatlich oder jährlich veröffentlichen.