Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more →
Top 23 Versioning Open-Source Projects
-
standard-version
:trophy: Automate versioning and CHANGELOG generation, with semver.org and conventionalcommits.org
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
aspnet-api-versioning
Provides a set of libraries which add service API versioning to ASP.NET Web API, OData with ASP.NET Web API, and ASP.NET Core.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
sirix
SirixDB is an an embeddable, bitemporal, append-only database system and event store, storing immutable lightweight snapshots. It keeps the full history of each resource. Every commit stores a space-efficient snapshot through structural sharing. It is log-structured and never overwrites data. SirixDB uses a novel page-level versioning approach.
-
paper_trail
Track and record all the changes in your database with Ecto. Revert back to anytime in history. (by izelnakri)
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
I usually develop on Windows so I installed NVM for Windows from here, but if you’re on other OS I’m sure you can find a version that supports it, probably this is the answer.
Project mention: Streamline Your Workflow: Setting Up Git Hooks with Husky to Simplify Version Updates | dev.to | 2024-04-13Dive deeper into the world of Husky with the official documentation. Explore the capabilities of Standard Version through its comprehensive documentation. Unravel the mysteries of semantic-release with its detailed documentation. Discover the versatility of bumpp with its comprehensive documentation.
A style guide for changelogs, adapted from and a stricter subset of [Keep a Changelog](https://keepachangelog.com/)
Exciting stuff! I view Hatch [1] as becoming the Cargo for Python because it's already close and has an existing (and growing) user base but I can definitely see depending on this for resolution and potentially not even using pip after it becomes more stable.
Here is a code example
Gitversion: It reads your commit history and generates a semver version out of it. Say you are compiling main branch and have a tag 1.0. Then, you squash 3 PRs. When you build this version, the new version number will be 1.0.3. You can configure it to be smarter about increasing major, minor, patch fields. I typically use prefix on the commit messages so that it generates versions correctly. See more at https://gitversion.net/docs/
Terraboard is a web-based dashboard designed for visualizing and querying Terraform states. It offers several key features: an overview page that lists the most recently updated state files along with their activities; a detailed state page showing versions and resource attributes of state files; a search interface for querying resources by type, name, or attributes; and a diff interface for comparing state versions. Terraboard supports various remote state backend providers, including AWS S3 for state management and DynamoDB for locking, S3-compatible backends like MinIO, Google Cloud Storage, Terraform Cloud (remote), and GitLab. This makes it a versatile tool for managing and understanding Terraform state files.
Project mention: Dependency Managers Don't Manage Your Dependencies (2021) | news.ycombinator.com | 2023-06-19Lately I've been using gradle with kotlin-js and a mix of npm and jvm dependencies. There's the https://splitties.github.io/refreshVersions/ plugin that I can recommend if you are using gradle (with or without kotlin-js).
It manages plugin dependencies, library dependencies, and version dependencies. It can use the new gradle version catalog or not if you prefer. On first use, you migrate your versions and it extracts these to a versions.properties (or your version catalog). Then whenever you run refreshVersions it indicates available new versions in comments in this file. It also indicates unused dependencies. Though for npms this is a bit harder. All you need to do is manually use the versions you want.
I run this frequently to stay on top of upstream changes. Few software engineers realize that the testing and integration overhead with version changes multiplies (just like with other forms of change). Libraries that you haven't updated amount to technical debt that you haven't addressed. So, the workload increases massively if you don't update for a while. Staying up to date minimizes the workload. This plugin makes that super easy.
Given that we are using kotlin-js, we have to deal with a rapidly evolving library ecosystem so we do have occasional issues that we need to work around by either downgrading or fixing some code. Whenever I can't update something, I document it in my versions.properties with a comment. Often you just have to wait for the next release or so for things to straighten out. The price of using cutting edge software.
Kotlin-js manages a yarn lock file as well. So it properly locks dependencies. Whenever you update npm dependencies, you have to run a command to upgrade the lock file. There's also a whole mess of webpack dependencies that comes along with kotlin-js.
Project mention: Versioning data in Postgres? Testing a Git like approach | news.ycombinator.com | 2023-10-20There's an interesting approach to it that works with Rails and PostgreSQL using triggers.
We're using a similar trie structure as the main document (node) index in SirixDB[1]. Lately, I got some inspiration for different page-sizes based on the ART and HAMT basically for the rightmost inner pages (as the node-IDs are generated by a simple sequence generator and thus also all inner pages (we call them IndirectPage) except for the rightmost are fully occupied (the tree height is adapted dynamically depending on the size of the stored data. Currently, always 1024 references are stored to indirect child pages, but I'll experiment with smaller sized, as the inner nodes are simply copied for each new revision, whereas the leaf pages storing the actual data are versioned themselfes with a novel sliding snapshot algorithm.
You can simply compute from a unique nodeId each data is assigned (64bit) the page and reference to traverse on each level in the trie through some bit shifting.
Note, it is worth mentioning that the Nx community has also stepped up in the past and created jscutlery/semver, a package that adds semantic versioning and publishing to your Nx workspace. Make sure to check that out as well
Project mention: Show HN: A gallery of dev tool marketing examples | news.ycombinator.com | 2023-10-07Hi I am Jakub. I run marketing at a dev tool startup https://neptune.ai/ and I share learnings on dev tool marketing on my blog https://www.developermarkepear.com/.
Whenever I'd start a new marketing project I found myself going over a list of 20+ companies I knew could have done something well to “copy-paste” their approach as a baseline (think Tailscale, DigitalOCean, Vercel, Algolia, CircleCi, Supabase, Posthog, Auth0).
So past year and a half, I’ve been screenshoting examples of how companies that are good at dev marketing do things like pricing, landing page design, ads, videos, blog conversion ideas. And for each example I added a note as to why I thought it was good.
Now, it is ~140 examples organized by tags so you can browse all or get stuff for a particular topic.
Hope it is helpful to some dev tool founders and marketers in here.
wdyt?
Also, I am always looking for new companies/marketing ideas to add to this, so if you’d like to share good examples I’d really appreciate it.
Versioning related posts
- Versioning and Releasing Packages in a Monorepo
- Ive installed nodejs via nvm-windows but it didnt install npm?
- Building and Releasing a Python CLI
- Instalando o NVM sem privilégios administrativos no Windows (10/11)
- Common Changelog
- Runtime (NVM for Windows Successor)
- Web API Versioning - 'apiVersion' constraint
-
A note from our sponsor - InfluxDB
www.influxdata.com | 20 Apr 2024
Index
What are some of the best open-source Versioning projects? This list will help you:
Project | Stars | |
---|---|---|
1 | nvm for Windows | 34,445 |
2 | standard-version | 7,541 |
3 | keep-a-changelog | 5,911 |
4 | hatch | 5,299 |
5 | aspnet-api-versioning | 2,979 |
6 | GitVersion | 2,739 |
7 | terraboard | 1,872 |
8 | Gradle buildSrcVersions | 1,620 |
9 | nave | 1,592 |
10 | Logidze | 1,555 |
11 | niv | 1,449 |
12 | sirix | 1,079 |
13 | shipjs | 764 |
14 | DOCAT | 730 |
15 | semver | 705 |
16 | nve | 690 |
17 | Version Cake | 654 |
18 | react-native-version | 566 |
19 | poetry-dynamic-versioning | 556 |
20 | paper_trail | 539 |
21 | govvv | 536 |
22 | neptune-client | 526 |
23 | python-semver | 441 |