In diesem speziellen Fall handelt es sich um einen Fehler in einer API einer intern verwendeten Bibliothek, die andere Entwickler verwenden.
Wenn diese anderen Entwickler das Verhalten für ein Feature hielten, ist es wahrscheinlich, dass sie es verwendet und funktionierende Software darauf erstellt haben. Das Beheben des Fehlers wird wahrscheinlich den vorhandenen Code beschädigen und Sie dafür verantwortlich machen. Dies macht das Beheben des Fehlers zu einem Kompromiss, und Sie müssen darüber nachdenken
Ist es wirklich wichtig, den Fehler zu beheben, zum Beispiel, weil ein hohes Risiko besteht, dass Benutzer Ihrer API ihre Anwendungen zum Absturz bringen, falls der Fehler nicht behoben wird? Oder geht es nur um die Konsistenz der API?
Oder ist es wichtiger, die vorhandene Software stabil zu halten und Ihre Bibliothek abwärtskompatibel zu machen?
Die Antwort auf die Frage ist nicht immer einfach. Sie müssen die Anzahl der möglichen Benutzer Ihrer API berücksichtigen, den potenziellen Arbeitsaufwand, den sie für die Änderung ihrer Software benötigen, und die Menge der Software, die beim Ändern Ihrer API kaputt geht , sondern auch die Risiken, was passieren könnte, wenn Sie dies nicht tun die API reparieren.
Nur weil Sie die Bugfix-Änderung in einer "Liste der wichtigsten Änderungen in Ihrer nächsten Hauptversion" dokumentieren, sind Ihre Kunden nicht glücklich. Wenn Sie dies tun, sollten Sie zumindest einige Gründe für den Kugelsicherheitsnachweis angeben, warum Sie die API nicht so lassen könnten war vorher. Oft ist es wichtiger, die Abwärtskompatibilität beizubehalten, als einen Fehler zu beheben. Beheben Sie es also nur, wenn Sie die Auswirkungen auf Ihre Benutzerbasis und deren Software abschätzen können und Sie sicher sind, dass Sie keine unangemessenen Anstrengungen für sie unternehmen, wenn sie versuchen, auf Ihre neueste Bibliotheksversion zu aktualisieren. Und wenn Sie nicht über genügend Informationen verfügen, um eine gute Schätzung vorzunehmen, ist es wahrscheinlich besser, das Verhalten nicht zu ändern.
(Und ja, wenn Sie eine API-Änderung vornehmen möchten, die nicht abwärtskompatibel ist, müssen Ihre Versionsnummern dies klar ausdrücken, egal, ob Sie sie als "Bugfix" bezeichnen oder nicht.)