Release Freigabe Besprechung #482
Replies: 26 comments 56 replies
-
Ich freue mich über eure tolle Arbeit und gebe aus Erfahrung den Hinweis die Versionsnummer Weise zu wählen. Meistens wird in Projekten ein Semantic-Versioning verwendet welches unter semver.org beschrieben ist. Nachfolgend ein Auszug in Englisch: MAJOR version when you make incompatible API changes
Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format leider bin ich gerade am Handy und kann hier nicht schön schreiben aber ich hoffe ihr versteht was ich meine |
Beta Was this translation helpful? Give feedback.
-
Danke für den Kommentar. Wenn das so üblich ist, sollten wird das vielleicht auch so machen. Ich habe gesehen, dass manche Projekte die ungeraden Nummern für Entwicklerversionen nehmen und die geraden für die offiziellen Releases. |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
Ich dachte ja, die Nightly mit ungeraden Nummern zu versehen. Wenn sich die jemand installiert kann er halt sehen, dass es ein nightly ist. Momentan bekommt er schon die nächste Version angezeigt und weiß später eigentlich nicht ob er jetzt ein nightly hat oder die offizielle Version. Beispiele dafür sind Gimp, Darktable etc. |
Beta Was this translation helpful? Give feedback.
-
Ich kann die Versionsnummer beim Erstellen des nightly, in der github action, ändern und z.B. ein Suffix anhängen. So wird daraus Beispielsweise "2.9.0-nightly". |
Beta Was this translation helpful? Give feedback.
-
Das ginge natürlich auch. Ich habe noch nie direkt ein nightly installiert. Wie ist das denn da wenn man ein solches installiert hat. Bekommt man dann wenn die neue Release da ist eine Info, dass es eine neue Version gibt und man kann dann direkt online upgraden oder geht das nur wenn man eine offizielle Version hat? |
Beta Was this translation helpful? Give feedback.
-
Dann machen wir das doch so mit dem Nightly im Namen. |
Beta Was this translation helpful? Give feedback.
-
@dippeal ich habe ja jetzt die Docu um die 2.9.0 erweitert. |
Beta Was this translation helpful? Give feedback.
-
Man könnte Bugfixes von Features trennen und Bugfixes bspw. wöchentlich shippen (also als Patch-Version) und neue Features weiterhin unregelmäßig wenn es sich halt lohnt. Dadurch werden Fehler immer so schnell es geht behoben, es erscheinen aber nicht durchgehend neue Versionen, die den Nutzer verwirren könnten. Auch die Dokumentation muss für Bugfixes (idR) nicht angepasst werden. Soweit ich weiß lässt sich auch das über Pipelines (halb-)automatisiert umsetzen. Ich selber kenne mich damit aber zu wenig aus, als dass ich das aufsetzen könnte. |
Beta Was this translation helpful? Give feedback.
-
Man könnte es so machen, dass man im Main Branch neue Features und Fehlerbehebungen macht so wie bisher. |
Beta Was this translation helpful? Give feedback.
-
Aufbauend auf deinen Vorschlag:
Dann würde man mit einem feature branch arbeiten. |
Beta Was this translation helpful? Give feedback.
-
Wenn wir wirklich Bugfix Releases rausgeben, dann muss ich nochmal den Release Namen in der Docu ändern. Ich habe da jetzt 2.9.0 stehen. Da Bugfixes ja keine Features machen gilt die Doku auch für diese. |
Beta Was this translation helpful? Give feedback.
-
Ich hätte eine Frage zu den MAJOR Versionen. Was würde bei uns ein incompatible API change sein? Ist das so zu verstehen, dass wenn man auf die neue Version umsteigt man danach nicht mehr auf eine alte Version zurück kann weil man inkompatible Datenbank Änderungen gemacht hat. Oder bezieht es sich nur darauf, dass man evtl. alte Export Dateien nicht mehr importieren kann weil das Format geändert wurde. Wenn der erste Fall gemeint ist, dann müsste die nächste Version eine 3.0.0 sein. Ich habe ja bei den Konten das Boolean Anlagenkonto durch ein Integer für die Kontoart ersetzt. Nach der Migration kann man nicht mehr zurück weil der alte Code das Anlagenkonto Flag abfrägt welches es nicht mehr gibt. Ich könnte natürlich noch das Flag in der Datenbank lassen statt in der Migration zu löschen. Dann könnte man wieder zurückkehren wenn das bei allen anderen Migrationen die noch für diese Versionen gemacht wurden auch funktioniert. |
Beta Was this translation helpful? Give feedback.
-
Ich denke jetzt ist der richtige Zeitpunkt um über die Freigabe der 2.9.0 zu entscheiden. Meiner Meinung könnte man die jetzt machen, evtl. noch den #600 reinnehmen. Die anderen gibt es ja schon mehrere Monate, sie scheinen also nicht so wichtig zu sein. Wenn ich dann den Vorschlag vom 7. Dez. 2024 nehme, dann würde man die Version rausgeben und dann einen Branch für die 2.10.0 erstellen. Auf dem Main würden dann die 2.9.x als Bugfix Releases laufen. Die aktuellen PRs müsste man dann umstellen da sie nicht in den Main dürfen sondern in den 2.10.0 Branch. Bei Freigabe der 2.10.0 müsste diese dann in den Main zurück damit man dort die 2.10.x machen kann. Der 2.9.x Main Pfad wäre damit beendet. Verstehe ich das richtig? Aus meiner Zeit in der Entwicklung kenne ich das umgekehrt, da wird im Main mit 2.10.0 weiter gemacht und die 2.9.x kommt in den Branch. Dann muss man später die 2.10.0 bei Freigabe auch nicht zurück bringen. Die aktuellen PRs könnten dann auch bleiben. Da die Bugfix Branches wie 2.9.x nicht abgeschlossen werden könnte man sogar später noch Bugfixes für alte Releases machen. Aber wenn das so dann mit den Freigaben der Bugfix Releases leichter ist können wir das natürlich auch wie vorgeschlagen machen. |
Beta Was this translation helpful? Give feedback.
-
Können wir das Formatierungs-Thema auslagern und wieder zur Releasebesprechung zurück kommen? @JohannMaierhofer Inkompatible API Änderung kann sowas sein wie: Schnittstellen die Funktionen nicht mehr anbieten, DB Anpassung, Abhängigkeit von anderer Software (Jameica, Hibiscus), Export/Import von Backups/Dateien. Je nach Umfang und Auswirkung der Änderung sagt ein Releasemanager ob es sich um eine Major oder Minor Version handeln muss. Vielleicht kann jmd die Rolle des Releasemanagers übernehmen? Ich bin auch dafür einen PR zu wählen und nach diesem das major Release 3.0.0 zu erstellen. #600 scheint mit geeignert, könnte aber auch jetzt schon gemacht werden.
|
Beta Was this translation helpful? Give feedback.
-
Wegen der Jameica Abhängigkeit. Was machen wir dann mit #409. Damit der richtig funktioniert brauchen wir die neue Jameica. Aber ja, ganz schön ist das auch nicht wenn wir die User zum Jameica Umstieg zwingen. Was machen wir dann mit #409. Ich sehe da zwei Optionen:
|
Beta Was this translation helpful? Give feedback.
-
Wie sieht es mit dem neuen Releas aus? Warten wir noch auf #600? Ist der bald abgeschlossen? Ich selber kann den leider nicht reviewen da ich kein Mittelverwendung mache und grade keine Zeit und Kraft habe mich da reinzudenken. |
Beta Was this translation helpful? Give feedback.
-
Ich baue bei #600 heute noch den Dialog zum Setzen der Startwerte ein. Es wäre natürlich gut wenn der noch reinkommen würde. |
Beta Was this translation helpful? Give feedback.
-
Ich glaube wir haben jetzt einen Stand um die 3.0.0 herauszugeben. Es müsste nur noch ein zweiter den #600 approven damit wir den erwähnten Vorschlag mit dem experimentellen Feature gehen können. Der #600 sollte ja noch rein kommen. |
Beta Was this translation helpful? Give feedback.
-
Release 3.0.0 habe ich soeben veröffentlicht: https://openjverein.github.io/ |
Beta Was this translation helpful? Give feedback.
-
Ist ein richtig umfangreiches Release mit vielen neuen und wichtigen Features geworden! Vielen vielen Dank für die tolle Arbeit! 😄💪 |
Beta Was this translation helpful? Give feedback.
-
Eine bugfix branch kann man von basierend von einem Tag erzeugen, indem man in Github erst im Branch-Menü den Tag auswählt und dann im zweiten Durchgang im Branch-Menü einen neuen Namen (bugfix-x.y.z) eingibt und dann auf "Create branch bugfix-x.y.z from " klickt. Siehe auch Creating and deleting branches within your repository. |
Beta Was this translation helpful? Give feedback.
-
Da der #655 schon wichtig ist, würde ich gerne die 3.0.1 releasen. Jemand was dagegen? |
Beta Was this translation helpful? Give feedback.
-
Ich glaube, wir sollten die 3.0.2 jetzt herausgeben. |
Beta Was this translation helpful? Give feedback.
-
Für ein besseres Branch- und Nighly-Build-Management schlage ich folgende Punkte vor:
Die Branch-Präfixe haben den Vorteil, dass man die Automatisierung mit den GitHub Actions leicht bewerkstelligen kann. Um momentan automatisiert ein nightly auf der aktuellen feature branch zu erstellen, muss man entweder die aktuelle Versionsnummer tracken (woher ohne auszuchecken?) oder hoffen, dass keine Tippfehler in den branch names sind und man mit |
Beta Was this translation helpful? Give feedback.
-
Macht mal bitte einen neuen Thread für die Diskussion "Rules für lokale Entwicklungsumgebung" oder so. Wenn ich das richtig lese werden hier zwei Themen vermischt. Den automatischen merge vom master bugfix/patch in den feature branch kann man bestimmt über eine github action umsetzen. Ich habe aktuell nur wenig Zeit. Das Versionslevel in der plugin.xml müsste dabei ignoriert werden, oder einfach beim Erstellen des Release angepasst werden. |
Beta Was this translation helpful? Give feedback.
-
Nachdem es bei der V2.8.23 Freigabe zu Diskussionen kam, schlage ich vor diese Diskussion zu verwenden um die Freigaben zu besprechen.
Hier könnte man besprechen wann wir wieder eine Release freigeben und welche PRs ggf. noch rein sollten.
Ich hätte auch gleich einen Vorschlag. Nachdem Jameica und Hibiscus schon bei einer 2.10, sind frage ich mich, ob wir nicht auch eine 2.10.1 als nächste Version nehmen sollten.
Wir haben gegenüber dem original JVerein so viele Fehler beseitigt und neue Features implementiert, dass wir uns durchaus von einer 2.8 absetzen können. Da wäre ja schon fasst eine 3.0 angebracht.
Beta Was this translation helpful? Give feedback.
All reactions