plantuml-stdlib / C4-PlantUML

C4-PlantUML combines the benefits of PlantUML and the C4 model for providing a simple way of describing and communicate software architectures
MIT License
6.41k stars 1.1k forks source link

Release v2.5.0 :tada: #248

Closed Potherca closed 1 year ago

Potherca commented 2 years ago

As there have been many improvements and changes since the last release, it is time for a new release!

Full Changelog: https://github.com/plantuml-stdlib/C4-PlantUML/compare/v2.4.0...HEAD

This issue is a placeholder for all tasks that need to be completed to release a new version (2.5.0):

It also serves to be a first step in documenting how releases are made. Eventually a complete write-up should be added as part of a CONTRIBUTING.md (see #276 )

Potherca commented 2 years ago

@kirchsth Which issues / MRs should we wait on before drafting a new release?

kirchsth commented 2 years ago

A new release is a good idea. Can you give me 2 weekends? I would try to fix #232, #235 and #247 too (but I'm not sure if I have time next weekend) BR Helmut

Potherca commented 2 years ago

Can you give me 2 weekends?

I would suggest we do not make the scope time based but function based.

Take the time you need, and once #232, #235 #247 we'll roll out a release.

I would rather wait a few weeks (or even months) and have a more complete release, than set a date and miss out on features that are already in progress.

kirchsth commented 2 years ago

Should we add status badges to the README.md too? I could create a PR for it from my branch.

Potherca commented 2 years ago

Adding badges is okay but I wouldn't add too many. Also, based on experience from maintaining other projects, I'd use link references rather than inline links:

release license MIT build result

[![release][Release Badge]][Release Page]
[![license MIT][License Badge]][License Page]
[![build result][Tests Badge]][Tests Page]

[License Badge]: https://img.shields.io/github/license/plantuml-stdlib/C4-PlantUML
[License Page]: https://github.com/plantuml-stdlib/C4-PlantUML/blob/master/LICENSE
[Release Badge]: https://img.shields.io/github/v/release/plantuml-stdlib/C4-PlantUML?display_name=tag
[Releases Page]: https://github.com/plantuml-stdlib/C4-PlantUML/releases/latest
[Tests Badge]: https://github.com/plantuml-stdlib/C4-PlantUML/actions/workflows/run-percy-tests.yml/badge.svg?label=checks
[Tests Page]: https://github.com/plantuml-stdlib/C4-PlantUML/actions/workflows/run-percy-tests.yml
kirchsth commented 2 years ago

Hi @Potherca

BR Helmut

Potherca commented 2 years ago

Reviewed and commented. 👍

kirchsth commented 1 year ago

@Potherca Related to the possible tasks, can you add following, that a user can use a concrete released version?

[] the include paths should be updated too.

E.g. I want to check/use the 2.4.0 release via https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/v2.4.0/C4_Component.puml and the file still references .../master/... instead of .../v2.4.0/...

' convert it with additional command line argument -DRELATIVE_INCLUDE="." to use locally
!if %variable_exists("RELATIVE_INCLUDE")
  !include %get_variable_value("RELATIVE_INCLUDE")/C4_Container.puml
!else
  !include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Container.puml
!endif

....
Potherca commented 1 year ago

Good point! Added.

kirchsth commented 1 year ago

@Potherca do you have time for the release?

kirchsth commented 1 year ago

@Potherca Should I create a new release (I think we should finish it this year)? I would

Potherca commented 1 year ago

I'll be rolling out the 2.5 release this weekend.

kirchsth commented 1 year ago

Maybe obsolete, I uploaded my releases/v250 branch (it was finished already and so we have an up-to-date version of the current active PlantUML Standard Library C4 version)

kirchsth commented 1 year ago

(copy of closed #271) @Potherca: I create a pre-release that the includes are working again. Can you please check/update the release notes,...?

Potherca commented 1 year ago

To avoid the breakage that occured by the last commit/MR being merged bu a tag not existing, I think we need to do something (not sure what yet) to make sure the final commit/MR for the release automatically creates a tag (or even the full a release) upon merge.

Regarding:

Create a merge-request for the release at PlantUML-stdlib

We need to document the steps that need to be taken when opening that MR

kirchsth commented 1 year ago

Hi @Potherca,

related to the breaking "master": I think the safes (maybe not simplest) solution is

1) the C4Version() is updated in master branch (e.g. v2.5.1) 2) all changes are are done in a release-branch release/vX.Y.Z (e.g. release/v2.5.1) based on master

after all it should look like below (and the release branches have the tags) grafik

related to current release

What do you think?

BR Helmut

kirchsth commented 1 year ago

Hi @Potherca,

I tried to semi automate all steps that a new release is created in release\v2.5.0 (details see new files in feature/148 branch)

Maybe next time we a) create the new release directly in a releases/v2.6.0 branch (incl. version update, replaced include paths, ....) with the (improved) "148" scripts; b) and in the master branch we update only the version to next beta "(v)2.7.0beta1" c) and create the PR for the "PlantUML Standard Library C4" manually

kirchsth commented 1 year ago

Created a PR to PlantUML Standard Library C4 BR Helmut

Potherca commented 1 year ago

Closing this issue as the release has been completed.

@kirchsth I suggest we take the discussion for various improvements and fixes to new issue(s).