semver
semantic-release
semver | semantic-release | |
---|---|---|
762 | 86 | |
7,298 | 20,997 | |
0.6% | 1.1% | |
0.0 | 9.3 | |
5 months ago | 8 days ago | |
JavaScript | ||
- | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
semver
-
Dependency management fatigue, or why I forever ditched React for Go+Htmx+Templ
It seems to me that a lot of people are forgetting that when updating to next major version of a package, breaking changes are expected - that's the whole point of major version number in SemVer [1]. What they actually want is seamless updates (or never changing APIs, but that not possible in most situations, and also not what you want as a package developer - you want to be able to correct your API design mistakes). That requires a lot of work from the package developers.
Look for example how people at Remix do it: breaking changes are hidden behind future flags [2], so you a user can turn them on one by one and adapt their code on gradually without surprises. Another solution is creating codemods for upgrades. But how many open-source package developers are willing do to this extra work?
Same story with peer dependencies - they're completely fine, if package developers know how to use them.
As always, don't be mad at React, don't curse Npm, it's not their fault. There is no great package without great effort.
[1] https://semver.org/
- Semantic Versioning using GitVersion YAML file for your .NET, Java, and Kotlin projects' CI/CD
-
Semantic Versioning: A Universal Language for Software Updates
You can always check the official Semantic Versioning Specification.
-
How to Improve Our GitHub? How to Prepare a Profile? How to Write a README?
Using Semantic Versioning for version control.
- Github’ımız Nasıl Daha İyi Hale Getirilir? Profil Nasıl Hazırlanır? README Nasıl Yazılır?
-
The simplest Git branching flow for dbt Cloud
Suppose our pre-pre-production environment is named STAGING, and our pre-production environment is named UAT. STAGING corresponds to the latest commit in the main branch - that's the 'bleeding edge'. UAT corresponds to the latest release candidate tag on the main branch. In semantic versioning, this would be achieved by adding the suffix -rc.N to the name of the release it's targeting. For example, if our goal is to create production release v12.0.0, our UAT environment commits would be tagged v12.0.0-rc.1, then v12.0.0-rc.2, and so on. Suppose on v12.0.0-rc.5 we finally feel confident enough to push to production. We would then add the tag v12.0.0 to the same commit, which would constitute a full release and then be automatically deployed to production.
-
Automate Versioning with Git and CMake
SemVer.org
-
Why pinning your dependency versions matters
If you don't know what semantic versioning is, I suggest you read up on it. In a nutshell, it is a standard/guideline for defining version numbers and how to increase them:
-
Automate Your C# Library Deployment: Publishing to NuGet and GitHub Packages with GitHub Actions
We know that our packages need to have a version. This version follows a format called semantic versioning. This is where the job called generate-version comes in. The output of this job is a version number that will be used when we publish our package in the package-and-publish-lib job.
-
Semantic Versioning for .NET Core apps and assemblies
I frequently need to set a semantic versioning version number when building ASP.NET Core API projects, then read or report this at runtime.
semantic-release
-
GitHub CLI Extension for Conventional Commits
Because conventional commits add a consistent prefix to your commit messages, automated tools can parse this prefix and use it for other nice things. One of these things is making your project follow the Semantic Versioning specification by automatically creating semantic releases. The screenshot below shows how pretty your generated release documentation becomes by using conventional commmits:
- Simplifica la publicación en npm con este flujo de trabajo
- Environments in GitHub (with example of Next.js deployment to Vercel)
-
Semantic versioning of NestJS and Angular applications in the NX monorepository
Unlike https://github.com/semantic-release/semantic-release , plugin https://github.com/TheUnderScorer/nx-semantic-release pre-starts building a dependency graph between libraries and applications, and then starts the release process for all related code.
-
Create and publish an npm library, with TypeScript and Semantic Versioning
semantic-release: Fully automatic; you can integrate it into GitHub CI to automatically update the version code and publish to npm each time you update your code on GitHub.
- Semantic-Release: Automate Versioning and Package Publishing with Ease
- Semantic-Release: Automate Versioning and Publishing with Zero Manual Steps
- Semantic-release – automated version management and package publishing
-
Git-cliff – Generate changelog from the Git history
I'm also pretty unclear on what the "bump" command does. Does this create a git tag? Make a new commit? Have hooks to update version constants in the source? Seems liek the answer to all of these is "no", and so I'm not really sure how useful it is.
I'm also aware of related tool in this space: semantic-release <https://github.com/semantic-release/semantic-release>. I haven't used it in my repositories, but it seems like a more comprehensive verison of git-cliff.
-
Git commit helper: add emojis to your commits
Using Conventional Commits ⭐ as a standard for your commit messages, makes Semantic Versioning 🔖 as easy as can be, with tools like Conventional Changelog 📄 Standard Version 🔖 and Semantic Release 📦🚀
What are some alternatives?
react-native - A framework for building native applications using React
GitVersion - From git log to SemVer in no time
standard-version - :trophy: Automate versioning and CHANGELOG generation, with semver.org and conventionalcommits.org
changesets - 🦋 A way to manage your versioning and changelogs with a focus on monorepos
Release It! 🚀 - 🚀 Automate versioning and package publishing
helmfile - Deploy Kubernetes Helm Charts
release-drafter - Drafts your next release notes as pull requests are merged into master.
TermuxBlack - Termux repository for hacking tools and packages
commitlint - 📓 Lint commit messages
Poetry - Python packaging and dependency management made easy
gradle-git-versioner - A Gradle plugin to automatically version a project based on commit messages and semantic versioning principles