Jakob Guddas
2c9b468404
feat(icon-discussions): close discussions with banned phrases ( #4692 )
...
* feat: close discussions with band phrases
* feat: close discussions with band phrases
* feat: close discussions with band phrases
2026-08-19 13:09:53 +02:00
Jakob Guddas
79fc531b30
ci(security): Pin sha actions ( #4678 )
...
* cd: pin actions
* fix: remove trailing whitespace in release.yml to pass prettier lint
Co-authored-by: ericfennis <11825403+ericfennis@users.noreply.github.com >
* Format code
---------
Co-authored-by: Eric Fennis <eric.fennis@gmail.com >
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: ericfennis <11825403+ericfennis@users.noreply.github.com >
2026-08-07 11:31:26 +02:00
Copilot
08e27e3387
Fix post-release: download lucide-font artifact by name into directory ( #4675 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: ericfennis <11825403+ericfennis@users.noreply.github.com >
2026-08-07 09:32:02 +02:00
dependabot[bot]
8503b1d4b7
chore(deps): bump the github-actions group with 13 updates ( #4668 )
...
Bumps the github-actions group with 13 updates:
| Package | From | To |
| --- | --- | --- |
| [actions/checkout](https://github.com/actions/checkout ) | `3` | `7` |
| [pnpm/action-setup](https://github.com/pnpm/action-setup ) | `2` | `6` |
| [actions/setup-node](https://github.com/actions/setup-node ) | `3.8.1` | `7.0.0` |
| [softprops/action-gh-release](https://github.com/softprops/action-gh-release ) | `1` | `3` |
| [actions/stale](https://github.com/actions/stale ) | `9` | `11` |
| [actions/github-script](https://github.com/actions/github-script ) | `7` | `9` |
| [peter-evans/find-comment](https://github.com/peter-evans/find-comment ) | `2` | `4` |
| [peter-evans/create-or-update-comment](https://github.com/peter-evans/create-or-update-comment ) | `3` | `5` |
| [actions/labeler](https://github.com/actions/labeler ) | `5` | `7` |
| [amannn/action-semantic-pull-request](https://github.com/amannn/action-semantic-pull-request ) | `5` | `6` |
| [tj-actions/changed-files](https://github.com/tj-actions/changed-files ) | `41` | `47` |
| [actions/upload-artifact](https://github.com/actions/upload-artifact ) | `4` | `7` |
| [actions/download-artifact](https://github.com/actions/download-artifact ) | `4` | `8` |
Updates `actions/checkout` from 3 to 7
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v3...v7 )
Updates `pnpm/action-setup` from 2 to 6
- [Release notes](https://github.com/pnpm/action-setup/releases )
- [Commits](https://github.com/pnpm/action-setup/compare/v2.0.0...v6 )
Updates `actions/setup-node` from 3.8.1 to 7.0.0
- [Release notes](https://github.com/actions/setup-node/releases )
- [Commits](https://github.com/actions/setup-node/compare/v3.8.1...v7.0.0 )
Updates `softprops/action-gh-release` from 1 to 3
- [Release notes](https://github.com/softprops/action-gh-release/releases )
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md )
- [Commits](https://github.com/softprops/action-gh-release/compare/v1...v3 )
Updates `actions/stale` from 9 to 11
- [Release notes](https://github.com/actions/stale/releases )
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/stale/compare/v9...v11 )
Updates `actions/github-script` from 7 to 9
- [Release notes](https://github.com/actions/github-script/releases )
- [Commits](https://github.com/actions/github-script/compare/v7...v9 )
Updates `peter-evans/find-comment` from 2 to 4
- [Release notes](https://github.com/peter-evans/find-comment/releases )
- [Commits](https://github.com/peter-evans/find-comment/compare/v2...v4 )
Updates `peter-evans/create-or-update-comment` from 3 to 5
- [Release notes](https://github.com/peter-evans/create-or-update-comment/releases )
- [Commits](https://github.com/peter-evans/create-or-update-comment/compare/v3...v5 )
Updates `actions/labeler` from 5 to 7
- [Release notes](https://github.com/actions/labeler/releases )
- [Commits](https://github.com/actions/labeler/compare/v5...v7 )
Updates `amannn/action-semantic-pull-request` from 5 to 6
- [Release notes](https://github.com/amannn/action-semantic-pull-request/releases )
- [Changelog](https://github.com/amannn/action-semantic-pull-request/blob/main/CHANGELOG.md )
- [Commits](https://github.com/amannn/action-semantic-pull-request/compare/v5...v6 )
Updates `tj-actions/changed-files` from 41 to 47
- [Release notes](https://github.com/tj-actions/changed-files/releases )
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md )
- [Commits](https://github.com/tj-actions/changed-files/compare/v41...v47 )
Updates `actions/upload-artifact` from 4 to 7
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v7 )
Updates `actions/download-artifact` from 4 to 8
- [Release notes](https://github.com/actions/download-artifact/releases )
- [Commits](https://github.com/actions/download-artifact/compare/v4...v8 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '7'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: github-actions
- dependency-name: pnpm/action-setup
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: github-actions
- dependency-name: actions/setup-node
dependency-version: 7.0.0
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: github-actions
- dependency-name: softprops/action-gh-release
dependency-version: '3'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: github-actions
- dependency-name: actions/stale
dependency-version: '11'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: github-actions
- dependency-name: actions/github-script
dependency-version: '9'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: github-actions
- dependency-name: peter-evans/find-comment
dependency-version: '4'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: github-actions
- dependency-name: peter-evans/create-or-update-comment
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: github-actions
- dependency-name: actions/labeler
dependency-version: '7'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: github-actions
- dependency-name: amannn/action-semantic-pull-request
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: github-actions
- dependency-name: tj-actions/changed-files
dependency-version: '47'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: github-actions
- dependency-name: actions/upload-artifact
dependency-version: '7'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: github-actions
- dependency-name: actions/download-artifact
dependency-version: '8'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: github-actions
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-06 13:37:32 +02:00
Karsa
4993e7893f
fix(ci): limit certain github workflows to main repository ( #4628 )
2026-08-06 10:06:23 +02:00
Eric Fennis
caa622b4ea
ci(security): improve security with adding permissions ( #4619 )
...
* ci(security): add scoped GITHUB_TOKEN permissions to all workflows
Every workflow now declares its token permissions explicitly instead of
inheriting the repository default, which satisfies OpenSSF Scorecard's
token-permissions check.
Multi-job and write-scoped workflows use `permissions: {}` as a
deny-by-default floor at the top level, with the actual grants declared
per job. Consolidating those grants at the workflow level would leak
scopes into jobs that don't need them — a `permissions` block replaces
rather than merges, so the empty top-level block also makes a forgotten
job block fail closed rather than inherit the default.
Single-job read-only package workflows keep a plain top-level
`contents: read`; there is no write scope to leak, so a second block per
file would only add noise.
Scopes were matched to what each job's steps actually do:
- linting-icons: `contents: read` per job. No `pull-requests: read` —
tj-actions/changed-files only needs that with `use_rest_api: true`,
and here it reads the local .git.
- lint-pr-title: `pull-requests: read`, which
action-semantic-pull-request needs to read the PR title.
- close-stale-prs: `pull-requests: write` only; the job never checks out.
- comment-icon-preview: `actions: read` for the cross-run artifact
download, plus `pull-requests: write` to post the comment.
- release: `contents: read` for the checkouts, `id-token: write` only on
the publishing jobs that use npm provenance, and `contents: write` only
on post-release, which uploads the release assets. The prepare job
neither checks out nor calls the API, so its empty scope is explicit.
- ci: `contents: write` only on create-release; the reusable-workflow
calls pass `id-token: write` and `contents: write` down to release.yml,
since a called workflow can only reduce what the caller grants.
Verified with actionlint (no new findings) and zizmor (no
excessive-permissions findings).
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* fix(ci): correct pull_request path filter in the lucide-vue workflow
The Vue package lives in packages/vue, not packages/lucide-vue, so the
filter never matched and the workflow did not run for changes to the
package itself.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* Remove empty scope in prepare
* Patch WeaknessCWE-506
---------
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-06 09:57:00 +02:00
Eric Fennis
1502285072
fix(@lucide/lab): Fix lab build ( #4618 )
...
* chore(lab): Adjust build scripts
* add check workflow
* Potential fix for pull request finding 'CodeQL / Workflow does not contain permissions'
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
* update gitignore
---------
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2026-07-31 09:11:20 +02:00
Eric Fennis
9ecaafbc4d
feat(lab): Migrate lab to main repo. ( #4521 )
...
* Add directory
* Add lab check script
* Delete duplicated icons
* Fix the lab page
* Adjust paths
* update lockfile
* update lockfile
* fix(lab/planet): replace with guideline-compliant design
* Add install step
* Add second install step
* Adjust lab in site
* try this
* Fix workflow
* Add cspell
* Format code
* Temporary delete icons for copilot review
* Place back lab icons
* Apply suggestions from code review
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
* Update lock file
* Revert svg changes
* Fix list
* Rename filenames
* Format tsconfig
---------
Co-authored-by: Karsa <contact@karsa.org >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-07-24 15:05:40 +02:00
Eric Fennis
c757cb9d4b
ci(ci.yml): Remove concurrency in ci.yml ( #4595 )
2026-07-24 14:39:12 +02:00
Karsa
5d36179bf4
feat(ci): added custom prettier plugin for icon SVG files ( #4576 )
...
* feat(ci): added custom prettier plugin for icon SVG files
* feat(ci): added custom prettier plugin for icon SVG files
* feat(ci): replace prettier plugin implementation with one based on svgo
* fix(ci): fix linting issues in prettier plugin
* Allow fill in path to fix podcast icon
* Format code
---------
Co-authored-by: Eric Fennis <eric.fennis@gmail.com >
2026-07-24 14:23:56 +02:00
Eric Fennis
5a06f7cb1d
fix(request-review): Remove pull_request_target ( #4593 )
2026-07-24 13:23:58 +02:00
Jakob Guddas
b442632ee6
fix: broken link in brand logo comment ( #4533 )
2026-07-11 12:59:38 +02:00
Eric Fennis
52d7c549c3
Set custom COPILOT_GITHUB_TOKEN ( #4509 )
2026-06-30 20:06:34 +02:00
Eric Fennis
9cb4e49849
Small fix in the workflow ( #4508 )
2026-06-30 19:15:07 +02:00
Eric Fennis
f59db07ef9
ci(repo-journal.yml): GH copilot repo summary ( #4505 )
...
* gh bot posting info
* Set secret
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-06-30 14:09:53 +02:00
Eric Fennis
cf0e1e44ba
ci(release.yml): Remove concurrency field to prevent release mess ( #4485 )
2026-06-18 14:41:27 +02:00
Eric Fennis
5ff536e139
ci(release.yml): Fix workflow and remove version scripts in package scripts ( #4479 )
...
* ci(release.yml): Remove new-version in release flow
* Remove version in scripts
* Update workflow
2026-06-16 16:24:07 +02:00
Eric Fennis
bb7d2d9839
ci(release.yml): Remove new-version in release flow ( #4478 )
2026-06-16 15:01:58 +02:00
Eric Fennis
283e4b2805
chore(suggest-tags): Update metadata suggestion script ( #4462 )
...
* feat(metadata): implement pull request metadata suggestions workflow and replace suggestTags script
* Switch to GPT 5
* Update comment description
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-06-13 12:28:04 +02:00
Eric Fennis
03ad294db0
fix(ci): add check to skip release if latest tag was created today ( #4085 )
...
* fix(ci): add check to skip release if latest tag was created today
* Apply dispatch gate to the ci workflow
* Fix ci
* Revert svg changes
* Revert svg
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
* Format ci file
---------
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-06-12 14:27:59 +02:00
Eric Fennis
523026ac18
chore(lucide-vue-next|lucide-svelte|lucide-angular): Remove deprecated packages ( #4376 )
...
* Remove deprecated packages
* Remove `lucide-angular` package
* Remove workflow
* Update lock file
2026-05-15 15:03:42 +02:00
Karsa
c81e6846c5
test(build-font): added comprehensive unit tests on build-font tool ( #4315 )
2026-04-24 14:12:43 +02:00
Karsa
fa09963bf8
fix(pipeline): revert custom angular publish step. not even this solves it.
2026-03-24 17:58:37 +01:00
Karsa
f1360e1d9b
feat(pipeline): fix working directory (angular, not @lucide/angular)
2026-03-24 17:50:32 +01:00
Karsa
aed7aeaa72
feat(pipeline): move angular publish step from lucide-static ⇒ release
2026-03-24 17:46:54 +01:00
Karsa
25d96b7ec0
feat(pipeline): fix linting issues
2026-03-24 17:41:09 +01:00
Karsa
10962ce51b
feat(pipeline): add separate Angular publish step using dist as the working directory & stripping publishConfig.directory from its package.json
2026-03-24 17:36:52 +01:00
Karsa
7dfbd21bce
feat(pipeline): revert debug changes made to release.yml
2026-03-24 17:23:20 +01:00
Karsa
b18f27ea8d
feat(pipeline): add angular debug to release workflow
2026-03-24 17:14:31 +01:00
Karsa
5e6186ff70
feat(pipeline): add angular debug to release workflow
2026-03-24 17:12:55 +01:00
Karsa
acb947a770
Merge remote-tracking branch 'origin/main'
2026-03-24 17:11:02 +01:00
Karsa
e9bec8e6f8
feat(pipeline): add angular debug to release workflow
2026-03-24 17:10:48 +01:00
Karsa
4ea3561788
feat(pipeline): add angular debug to release workflow
2026-03-24 17:09:32 +01:00
Karsa
76c1b0caa9
feat(pipeline): add release-angular workflow for testing
2026-03-24 16:45:40 +01:00
Karsa
f2eab2c30a
feat(icons): debug angular release
2026-03-24 16:21:47 +01:00
Karsa
3fc90467a3
feat(pipeline): re-revert from the working-directory solution & set default tag as latest
2026-03-24 16:18:39 +01:00
Karsa
7a395122a1
feat(pipeline): revert to working-directory solution for testing
2026-03-24 16:10:24 +01:00
Karsa
914919a4a3
fix(github/workflows): revert release workflow & add --fail-if-no-match ( #4201 )
...
* fix(github/workflows): revert release workflow & add --fail-if-no-match
fix(packages/angular): add "analytics": false to angular.json to prevent build prompt
* Apply suggestion from @ericfennis
---------
Co-authored-by: Eric Fennis <eric.fennis@gmail.com >
2026-03-24 10:25:25 +01:00
Eric Fennis
3b63c139ae
ci(ci.yml): Fix release flow ( #4193 )
...
* ci(ci.yml): Fix release flow
* format code
* Update .github/workflows/release.yml
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-24 09:14:50 +01:00
Karsa
f50aa846ab
fix(github/workflows): fix latest_tag getter ( #4191 )
2026-03-23 16:04:35 +01:00
Eric Fennis
e3db10ac9d
ci(release.yml): Change release yml
2026-03-21 15:14:51 +01:00
Eric Fennis
73139fae2d
ci(release.yml): Turn on @lucide/angular and @lucide/vue
2026-03-21 15:00:45 +01:00
Eric Fennis
56258a9281
Update release yml file
2026-03-20 15:36:33 +01:00
Karsa
a0e202d759
feat(packages/angular): add new @lucide/angular package ( #3897 )
...
* Add new lucide angular package
* feat(packages/angular): added initial @lucide/angular package
* feat(packages/angular): update readme
* feat(packages/angular): update angular.json
* docs(packages/angular): added (for now) full documentation for @lucide/angular
* docs(packages/angular): added migration guide from lucide-angular
* fix(github): fix package label syntax 😅
* fix(lint): fix linting issues
* fix(github/angular): add prebuild stage
* fix(github/angular): add prebuild stage & fix tests
* fix(github/angular): fix LucideIconComponentType, update with _real_ public members
* fix(github/angular): add prebuild to build step manually
* fix(github/angular): downgrade vitest
* fix(packages/angular): fix migration guide code example
* fix(packages): add vitest + @vitest/* to pnpm overrides
* fix(packages): update pnpm-lock with merged version
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix(packages): fix aria-hidden logic
* fix(packages): update pnpm-lock
* fix(packages): extract vitest and jsdom to root devDependencies
* Fix copy utils script
* Format code
* feat(packages/angular): switched to self-describing IconData object from separate node+name – no more toKebabCase hackery
feat(packages/angular): renamed LucideIconComponentType => LucideIcon, and LucideIcon => LucideDynamicIcon
feat(packages/angular): added backwards compatible CSS class support
feat(packages/angular): switched to vector-effect: non-scaling-stroke implementation from computed stroke width
feat(packages/angular): rewrote icon provider to only accept a list of self-described icons – no more toKebabCase hackery & as an added bonus automatic backwards compatible alias support 🚀
feat(packages/angular): added legacy icon node helper function for passing legacy icons to providers
test(packages/angular): added unit tests on LUCIDE_CONFIG provider usage
* fix(packages/angular): fix linting issues
* feat(packages/angular): extract createLucideIcon logic into helper function, refactor export template to use the iconData object as defined in ExportTemplate
* Replace author
* Remove private field
* fix(packages/angular): remove createLucideIcon, it breaks the package :'(
* fix(packages/angular): fix rendering order of child elements (_before_ projected content)
* Format package.json
* Update docs/guide/packages/angular.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update packages/angular/MIGRATION.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Eric Fennis <eric.fennis@gmail.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-20 15:31:34 +01:00
Eric Fennis
0d7bb4f4a7
chore: Format code
2026-03-19 12:09:04 +01:00
Eric Fennis
7f19f6adf1
ci(release.yml): Fix access public
2026-03-19 11:03:29 +01:00
Eric Fennis
2a7eeb2d87
ci(version-1): Prepare CI.yml for next release tag ( #4145 )
2026-03-14 20:57:27 +01:00
Karsa
8fe835c105
feat(packages): added new @lucide/icons package ( #3881 )
...
* feat(packages): added lucide icons package skeleton
* feat(packages): added initial commit of @lucide/icons
* fix: fixed linting issues introduced in c4e5730bc4 (#3858 )
* fix(packages/icons): update package, remove UMD export
* fix(packages/icons): update github actions
* docs(packages/icons): add documentation for various helpers and types
* fix(.github/ISSUE_TEMPLATE): fix linting issue (@ is a reserved character)
* fix(packages/icons): fix linting issues in configs
* feat(packages/icons): rename from packages/lucide-icons => packages/icons
* fix(pnpm): update lockfile
* fix(packages/icons): update readme and documentation
* fix(packages/icons): update absoluteStrokeWidth implementation
* test(packages/icons): update absoluteStrokeWidth unit test
* feat(packages/icons): add backwards compatible alias support in buildLucideIconNode
* feat(packages/icons): fix linting issues in build tools
* fix(packages/icons): rename LucideIcon => LucideIconData
---------
Co-authored-by: Eric Fennis <eric.fennis@gmail.com >
2026-03-13 10:18:53 +01:00
Eric Fennis
6faa55d34e
Merge branch 'main' of https://github.com/lucide-icons/lucide into next
2026-03-06 10:49:44 +01:00
Eric Fennis
ed6ba4bf0c
Merge branch 'main' of https://github.com/lucide-icons/lucide
2026-03-06 09:15:50 +01:00