towncrier
changesets
towncrier | changesets | |
---|---|---|
5 | 30 | |
734 | 8,049 | |
1.0% | 2.0% | |
7.6 | 5.4 | |
7 days ago | 10 days ago | |
Python | TypeScript | |
MIT License | 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.
towncrier
-
Changelog-Driven Releases
I don't really like writing the change log automatically from commits. I think those both have a slightly different audience and thus need different wording.
I know the frustration of merge conflicts on the change log file.
Right now, I'm creating change logs by hand which is time consuming to do on release time. I'm considering switching to using towncrier or something similar, where you have a changes dir with one file per change for creating change logs --> https://towncrier.readthedocs.io/
-
towncrier VS cf_changelog - a user suggested alternative
2 projects | 10 Jan 2024
-
What are some examples of good release notes from open source projects that you have come across?
Here is an example of another decent one. Not perfect, but it is generated with TownCrier, so it is easy to maintain.
-
The Subtle Art of the Changelog
We used to... somewhat attempt manual changelogs. Every time it came to a release the release manager would ask around for what the key changes were, and we usually ended up with only a couple of entries.
Now, we use https://github.com/twisted/towncrier . Every change goes through pull requests, and every PR must have a newsfragment file - and we enforce this with a test that fails if it isn't present (with convenience functions of rewriting the number to match the PR if you name the news file XXX.{category}). If it's not a user-facing change, then we just have a category that is ignored.
On releases (or on individual PRS along the way), the release manager generates the changelog, but also edits them into a relatively coherent style (or rewrites developers news fragments along the way).
Every change has a note written aimed at the user. Every entry in the changelog has a link to the relevant PR or commit. We have much better changelogs now.
-
Changie - Automated Changelog Tool
Twisted's Town Crier is a generic tool
changesets
-
I made a set of devtools for small projects
In my circles, this is the go-to for release automation / changelogs: https://github.com/changesets/changesets
-
Criando um Design System reutilizável entre React e React Native com Tamagui
🦋 Publicando com changesets
- Changesets
-
Nx - Highlights of 2023
Open source libraries and frameworks share a common necessity: the need to develop multiple packages cohesively and efficiently while managing their versioning and publishing to NPM. Nx has emerged as a go-to choice for handling such open source monorepos (as we'll explore further in the next section of this blog post). Until recently, one area Nx did not address directly was versioning and release management. Traditionally, this gap has been filled with tools like release-it, changesets, or custom Node scripts, similar to our approach in the Nx repository.
-
Automate NPM releases on GitHub using changesets 🦋
Doing these tasks by hand can quickly become a hassle. If you're open to receiving contributions from others, it can be an even bigger headache. In this post we'll cover how to use changesets to automate all of these steps.
- Show HN: Changesets, manage your versioning and changelogs
-
[AskJS] Advice on how to manage breaking changes in the first versions of a UI Library
For versioning we use changeset, but with fixed-packages. We have found that the user thinks updating and managing our dependencies much easier if they can just bump each package to the same version. (storybook, sanity follows this appoach). While it feels unintuitive that each package gets a major if just the CSS has breaking changes, the user don't really care. They just want to finish the chore of updating their dependencies fast, without having to understand the system that deeply. This also makes documenting the changes much easier!
- [Reactjs] React UI Composant Library Playplate
-
Hey guys, I made a small CLI to automatically update monorepo packages and NPM releases. I would like some feedback.
Thanks for sharing this. Why should I choose that instead of Changesets that work like a charm?
-
Conventional Commits - Am I missing something?
You’re right this information would be better suited for for commit trailers. A lot more information can be put there as well. For the purpose of changelog generation, what it’s commonly used for, it could just as well be put in the trailers and not crammed into the subject. I personally prefer changesets though.
What are some alternatives?
standard-version - :trophy: Automate versioning and CHANGELOG generation, with semver.org and conventionalcommits.org
lerna - :dragon: Lerna is a fast, modern build system for managing and publishing multiple JavaScript/TypeScript packages from the same repository.
changie - Automated changelog tool for preparing releases with lots of customization options
nx - Smart Monorepos · Fast CI
conventional-changelog-config-spec - a spec describing the config options supported by conventional-config for upstream tooling
semver - Semantic Versioning Specification
nextrelease - One-click release publishing by merging an automated PR.
Visual Studio Code - Visual Studio Code
pnpm - Fast, disk space efficient package manager
pyscaffold - 🛠 Python project template generator with batteries included
berry - 📦🐈 Active development trunk for Yarn ⚒