-
Notifications
You must be signed in to change notification settings - Fork 429
Major API change #224
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
But this seemed a good time to release 5.0.0.RC1...
Please excuse me, but I'm kind of confused by the tagging here. So, the I just want to make sure the release is final before pushing to downstream packages, e.g., the one in Homebrew; we have to be extra careful since the 5 suffix has been dropped, potentially breaking all dependents (thankfully there are none in Homebrew) and user scripts, plus upstream retagging will result in a terrible mess for downstream users. |
@zmwangx, sorry I always seem to get this tagging wrong ;=() Have deleted the 5.0.0, and added a 5.0.0.RC1 pre-release tag. Hope that is the correct action... The code is stable... Yes, with this release the So yes, for sure Homebrew, and any other build/install scripts, need to be updated... Just a question on the But I do NOT know what is in If you are planning to build and install a Release version, that is one where -DNDEBUG is defined to remove the And if you want to install tidy in the Also, since this also includes two renamed header files, it would be a good idea if all previous versions of libtidy be uninstalled first. While there is presently no And even if that This is particularly important for the Simply, HTH, and sorry about the tag mess up... |
That's an array of standard CMake flags defined by Homebrew, including all of what you have described :) (The point is the flags are almost the same for every project, so why not abstract them away instead of dropping them in every build script.) Homebrew installs
Yes, Homebrew keeps track of all the symlinks. The nice thing about Homebrew is that it installs each package to its separate "Cellar", as I've mentioned above, so there's no need for
No problem at all, thanks for the clarification. |
@zmwangx, thanks for the info on Have now published some 5.0.0.RC1 binaries - http://www.htacg.org/binaries/ - ... Unfortunately the Windows MSI and NSIS EXE Installers are quite useless at the present time. These installers are NOT really suitable for a command line app, and are usually reserved for GUI apps. How about a Tidy-GUI2, but still very much a WIP. Any help appreciated... For Windows the best bet is the ZIP. It contains a stand-alone tidy.exe, which can be copied to any path given in your PATH environment variable, so it can be run from anywhere. Of course if also contains the 4 headers, and static and shared libraries, which can be moved to a And have a little repo Tidy Test to find and link with such an installed tidy libraries and headers... and produce TODO: Still to do is update the API docs, with doxygen, and publish... again, any help in this would be much appreciated... |
Hi, again I'm somewhat confused by tagging... Would you be kind enough to explain why we are having 5.1.7 right after 5.0.0RC1? Is 5.1.7 a stable version, i.e., can downstream packagers update to this version? |
@zmwangx, again so am I confused, hence the delay in a reply... I did some background reading about git tagging. It seems it is nothing more than a marker for the last commit... full stop... You can even
So when I added tag 5.1.7 I was adding a marker to hopefully the last commit to So in a sense it was just a marker added to the repo for my benefit... if there is a problem with the subsequent merge I want to be able to get back to there... However it seems you are taking this tag to mean something else, like a Maybe you could describe its meaning to you, maybe point to some reading, and I will try to use the tagging that suits you, and other downstream package managers... Maybe we could use two tag forms, say an As indicated here and in other comments actual So, to me, 'tags' are more just like a And to repeat, the aim it to always make sure the And each And it is hope downstream packagers can take advanatage of this to offer the latest, best, soonest thereafter... Please help me understand your tag needs... |
Yes, you certainly can tag at any moment, to any commit. However —
I'm not sure if it's documented anywhere, but for most projects (or so I believe) it is a convention that tags are used to indicate releases. And once a tag is made it should never change, because people will use the tag to check out the specific release (say You may have a look at https://github.com/git/git/releases or https://github.com/torvalds/linux/releases. They use
Yes, but I wonder if it is really necessary that 5.0.0 be completely isolated? I think for most projects all releases are first cut at some point of the Anyway, I think it's okay to have a
Am I right in thinking (according to https://github.com/htacg/tidy-html5/blob/release/5.0.0/verhist.log), that 1e70fc6 is version 5.0.0? However, the release tag says 5.0.0.RC1, so it's still very confusing... Version 5.0.0 is certainly to be packaged, but 5.0.0.RC1 is certainly not... |
Actually I found a GitHub blog post that vaguely points to the convention I was talking about. From https://github.com/blog/1547-release-your-software:
Maybe there are more elaborate writings on the convention I described, but I can't find them at the moment. |
@zmwangx thanks for the link... First, it is intended that Tidy does generally follows Semantic Versioning... And yes, it seems github docs inexplicably link But you can see the I need to experiment to get to understand what github wants, expects us to do to mark a release... And this reminded me I must get around to doing two other things -
Then maybe move that green And maybe it is time to consider a 5.2.0 release soon... when master would move on to 5.3.0... Hope to get this right eventually ;=)) |
In fact, tags marked with a colored left label are those for which you bother to write release notes and/or add artifacts on the GitHub end. Those are not part of the repo — they just make distribution on GitHub easier.
I think it might be better to tag the same commit as 5.0.0 (you are certainly allowed to do that), if you decide that there's no problem with that commit? Because I believe the consensus is that deleting an already pushed tag could cause similar trouble to people who have cloned the repo as force updating history (RC releases are less important in the long run and it's unlikely that people will check them out after stable, but anyway, git is supposed to keep the entire history of projects). Anyway, you're the maintainer so you'll get to decide whether you want to follow community wisdoms or not; but can we just establish a policy that makes downstream packaging easier? Say, can we agree that you'll use GitHub's "Draft a new release" feature for "important tags", so that when we see a non-pre-release tag with colored left label, we are confident that we can update the downstream package? By the way, this is not only for packaging's sake: I personally use the project in some CI's — very helpful by the way, thanks a million — and while you try to make |
Oh, I just saw 5.0.0 with its green label. Nice! |
@zmwangx as you point out unfortunately it seems those labels are added by github... At least so far I have not found to way to fully control them... it depends on using the I just added a tag for 5.1.8, the final merge of the But on the other hand, as you point out, maybe that is ok... Since I do feel 5.1.8 is a stable, and good step forward with -
it is worthy of being Will leave that decision for a little time for some more testing by everyone pulling Thanks for helping me get my head around this Anyway, this |
Issue #223 points out that using generic installed header names is not a good thing, and I do not think the 4 tidy headers need be so isolated into a
tidy
sub-directory like that...So have chosen renaming -
This seems a good time to issue v5.0.0.RC1
Also since this
feels
like an API change, not really... but seems a good time to set the major version to5
. Read Issue #221The
.RC1
extension will magically fall away, if, after a suitable test time, this proves to be a worthy candiate!; eof
The text was updated successfully, but these errors were encountered: