Replies: 3 comments 2 replies
-
| Yeah you're right that if we followed semvar 100% it should have been 1.6 since it was more than just a small patch, but we've been keeping minor releases as our "big" releases, so it felt weird to do that. This all comes down to the fact that it takes a lot of work to do a full release. Dependency changes require a lot of testing and working with the Kali team to make sure its not completely breaking, and the release cycle for Kali can take quite a while (I'm impressed how quickly they got the security patch out, but that might be due to zero dependency changes and the fact that it was a security patch). If you haven't noticed, the 1.5 release notes haven't been done because we've historically done them by hand (@NeffIsBack does them these days, and it takes a long time). Him and I were just talking and I'm going to see if using AI can assist with that, which would cut down the overall time to release minor versions. Personally I would love to see something like monthly minor releases, or maybe every 3 months instead of 6-8 months like we have (still better than the year+ of CME lol), but all of us do this in our free time, so life comes up and gets in the way. |
Beta Was this translation helpful? Give feedback.
-
There hasn't happened much since the last release, so a full released wouldn't have been justified (as @Marshall-Hallenbeck said). The solution is simple:
Yep definitely and as @Marshall-Hallenbeck said also all the background process is exhausting and time consuming. Releases take 2-3 full 8h days most of the time and add (imo) very little value to the project, besides publicity and updates to kali. That is the reason why the release cycle has stretched to >6 months now. However, as you told me some time ago you would like to contribute, feel free to help me out with the patch notes. That could definitely increase the amount of releases. |
Beta Was this translation helpful? Give feedback.
-
| First of all, I fully get the "we do it in our free time" argument. I wish I had a company big enough to sponsor a bit of your work. Second: I deeply dislike this weird GitHub discussions thread feature because it makes it super hard to respond to multiple things at the same time 😛 . As we got this out of the way, I'd like to say that I have no expectations of any kind. I just have this abstract feeling that nxc versioning "doesn't feel right". And I don't even know why I care, because I could just plainly use main (which I am doing btw. After all, @NeffIsBack maintains the update script that we use on our Kali pentest image 😛 ). I have the impression that if a software offers releases, there is some expectation of "the public" about their meaning. Part of my feeling could come from the fact that I often see people asking for a specific feature they can't find, in a response to LinkedIn, X or some other post. Which is always because these people use the packaged version of their OS, no matter how prominently you advertise other preferred installation methods. Anyway, I digress. I get the dependency stuff and that might very well be a pain point that one cannot easily fix. For the other arguments I'd like to add a few thoughts:
The amount of work that you put into a release doesn't really match what I would expect for a "minor" release. One idea could be to reserve these tasks for "major" releases that could happen every once in a while. One could even argue that (almost) every PR could lead to a new minor version. You would then likely end up with something like the Linux kernel, where no individual release seems to be disruptive enough to warrant a new major version, but at some point the minor version number just gets annoyingly big. Maybe changing dependency versions could be reserved for these major versions? That would give them a true meaning because they actually result in "breaking" changes. On the other hand this might mean holding some cool features back until the next major release. Other software projects (e.g., Ubuntu, Kali), do release numbers based on dates instead of features, which is another option. Such numbers hold less implicit meaning about how much has changed in the meantime. The more I think and write about this the more I get why there's also projects that just number their releases incrementally, or use the latest git commit hash as version. It's pretty damn complex 😅. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I know that it is advised to use nxc main branch for most use cases and that one of the main reasons for doing releases is to get new code into Linux distributions.
I am fine with this and ignore releases most of the time.
However, the most recent security issue shows a weakness of this approach imho. Because so much happened in main since the last release of 1.5.0, the patch release 1.5.1 isn't really a release that just fixes a security bug, but also contains several features.
Again, as I am mostly using main I don't really care about releases, but I feel that this must be pretty confusing for regular users that aren't that close with the project.
I don't know really know how this could be fixed though.
Option 1, just backporting the security issue to 1.5.0 and calling this release 1.5.1 would miss out on cool stuff that happened in the meantime, but would highlight the fact, that an important bug has been changed (clearly indicated by increasing the third number of the release version).
Option 2, calling this release 1.6.0 would more clearly show that there are functional changes as well. As a downside, it would be less clear that a (security) bug has been fixed. And if every bug fix would lead to a new minor release what is the benefit of using semantic versioning anyway?
I guess this could start a broader discussion about releases in general. What holds you back from pushing releases more often, allowing Linux distributions to more regularly pick up on the new stuff? Is it the added overhead of writing release notes?
I guess whatever you do, just don't end up like responder, which (accidentally?) introduced a fourth version digit some time in the past and is now stuck with it 😜
Beta Was this translation helpful? Give feedback.
All reactions