Version der Applikation bei Lib-Update erhöhen?



  • Hi,

    ich habe eine Applikation, die eine Lib benutzt. Diese Lib entwickle ich auch selber. Nun frage ich mich, ob ich die Versionsnummer der Applikation erhöhen muss, wenn ich lediglich in der Lib einen Bug behoben hab, der an der Schnittstelle aber nichts ändert. Die Funktionsköpfe sehen also alle noch so aus wie vorher. Trotzdem sollte aber doch in der Changelog der Applikation ersichtlich sein, dass sich etwas geändert hat (in dem Fall eben die Version der Lib), oder?



  • Was heißt hier lediglich, wäre schon schön zu wissen welche Version man braucht damit man den Bug nicht mehr bekommt.



  • Kurze Antwort: Ja.

    Lange Antwort: Nein. Du willst nicht die Version deiner Anwendung ändern, denn die hat sich ja nicht geändert. Eigentlich willst du die Version des Gesamtpakets aus deiner Anwendung und fremden Bibliotheken ändern, weil das Gesamtpaket nicht mehr dasselbe ist. Du scheinst bei der Versionierung nicht zwischen deinem Code und dem Gesamtpaket zu unterscheiden, wodurch dein Problem entsteht.



  • TyRoXx schrieb:

    Kurze Antwort: Ja.

    Lange Antwort: Nein. Du willst nicht die Version deiner Anwendung ändern, denn die hat sich ja nicht geändert. Eigentlich willst du die Version des Gesamtpakets aus deiner Anwendung und fremden Bibliotheken ändern, weil das Gesamtpaket nicht mehr dasselbe ist. Du scheinst bei der Versionierung nicht zwischen deinem Code und dem Gesamtpaket zu unterscheiden, wodurch dein Problem entsteht.

    Genau da seh ich auch das Problem. Aber das Gesamtpaket ist ja der Zusammenschluss aus Applikation und Lib, wovon jede seine eigene Changelog hat. Ich bräuchte dann also eine Gesamtpaket-Changelog, was sich aber auf den ersten Moment seltsam anhört. Wie könnte denn eine Lösung des Problems aussehen?



  • Nur eine Versionsnummer - das komplette Paket ist deine Anwendung. Wenn du eine dependency updatest, bumpst du die Versionsnummer - dein Produkt kann ja nun mehr. Ob du Code selber änderst dafür ist irrelevant - was zählt ist, hat sich das Gesamtpaket verändert? Wenn ja -> Version Bump und neuer Release.



  • Grundsätzlich lobenswert ist es, einen bug zu beheben. Der Anwender interessiert sich jedoch nicht, wie du deine Applikation im Detail aufgebaut hast.
    Denn das ist allein deine Sache.

    Jede wesentliche Veränderung - vor allem bei einer Bugbehebung - sollte schon mit einer geänderten Versionsnummer der Applikation erkenntlich sein!
    Noch Fragen? Leg dich wieder schlafen! 😃



  • Danke für die Anregungen. Ich denke, dass das mit dem Gesamtpaket so stimmt und Sinn macht. Ich werde die Version dann entsprechend anpassen, auch wenn ich die Lib update.



  • Ich würde sagen es kommt drauf an wie du deine lib veröffentlichst. Irgendwie muss man ja wissen ab welcher Version der Bug gefixt ist.
    Wenn du nur selten Bugfixes rausbringst würde ich einfach die Versionsnummer hochzählen.
    Falls du allerdings oft kleine Bugs behebst und immer wieder neue Versionen rausbringst die dann z.B. die letzten 20 Bugfixes beinhaltet, kannst du ja development Versionen anbieten bei denen einfach die Buildnummer noch dabeisteht.



  • Shade Of Mine schrieb:

    Nur eine Versionsnummer - das komplette Paket ist deine Anwendung. Wenn du eine dependency updatest, bumpst du die Versionsnummer - dein Produkt kann ja nun mehr. Ob du Code selber änderst dafür ist irrelevant - was zählt ist, hat sich das Gesamtpaket verändert? Wenn ja -> Version Bump und neuer Release.

    Nicht umsonst kann man zwischen "Dateiversion" und "Produktversion" unterscheiden. Dateiversionen werden bei mir verändert, wenn sich wirklich was am File ändert. Also z.B. auch wenn sich an einer statisch gelinkten Lib was ändert. Aber nicht bei einer eingebundenen DLL.

    Die Produktversion ändert sich mit jedem "Kunden"-Release der Anwendung - quasi immer dann, wenn ich einen neuen Installer erstelle und somit alles einmal konsequent zusammenpacke.


Log in to reply