-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Release strategy, conventions, preparation and execution
Alex Canales edited this page Jul 22, 2025
·
11 revisions
Devicon does not follow a strict release plan. A new release is depended on current amount of contributions, required bugfixes/patches and will be discussed by the team of maintainers.
Generally speaking: A new release will be published when new icons are added or a bug was fixed. When it's predictable that multiple icons are added in a foreseeable amount of time they are usually wrapped together.
The version naming follows the rules of Semantic Versioning. Given a version number MAJOR.MINOR.PATCH, increment the:
- MAJOR version when you make incompatible API changes,
- MINOR version when you add functionality (like a new icon) in a backwards compatible manner, and
- PATCH version when you make backwards compatible bug fixes.
- Define the next release version number based on the conventions
- Checkout
developasdraft-releasebranch.git checkout develop git checkout -b draft-release
- Bump the package version using
npm version vMAJOR.MINOR.PATCH -m "bump npm version to vMAJOR.MINOR.PATCH"(see #487) - Push the branch
draft-release - Manually trigger the workflow
build_icons.yml(which has aworkflow_dispatchevent trigger) and select the branchdraft-releaseas target branch. This will build a font version of all icons using icomoon and automatically creates a pull request to merge the build result back intodraft-release - Review, approve and merge the auto-created pull request created by the action of the step above
- Create a pull request from
draft-releasetowardsdevelop. Mention the release number in the pull request title (like "Build preparation for release vMAJOR.MINOR.PATCH").- Check the
build-bot's PR message in the last step. There should be a section where it displays the features that have been added to the release. You can copy the markdown there and put it in the description as a CODE BLOCK. This will prevent GitHub from tagging everyone involved for now.
- Check the
- Wait for review and approval of the pull request (you can perform a squash-merge)
- Once merged into
developcreate a pull request with BASEmasterand HEADdevelop.- Copy the
build-bot's PR message in the last step to the description as MARKDOWN text. This will tag all contributors and thanks them for their help.
- Copy the
- Since it was already approved in the 'develop' stage a maintainer is allowed to merge it (DON'T perform a squash-merge).
- Create a new release using the format "Release vMAJOR.MINOR.PATCH" as tag and release title. Use the earlier created description as description of the release.
- Publishing the release will trigger the npm_publish.yml workflow which will execute a
npm publishleading to a updated npm package (vMAJOR.MINOR.PATCH). - If the icons fail to appear on the website, you may clear the CDN cache by clicking this link.
- What Icons Do We Accept?
- Requesting an Icon
- Overview on Submitting Icons
- Full Example of Submitting Icons
- Recommended Resources and Tools
- About the Maintainers, Supporters, and Contributors
- Code of Conduct
- Naming Conventions
- Organizing SVGs
- SVG Standards
- SVG Versions
- Updating
devicon.json - Common Bugs and Solutions