From 61ace9d6999dbf03410a0b9ceb47b6ef822d3717 Mon Sep 17 00:00:00 2001 From: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> Date: Wed, 26 Aug 2026 00:46:15 -0400 Subject: [PATCH 1/2] =?UTF-8?q?=F0=9F=94=96=20[chore]=20(release)=20prepar?= =?UTF-8?q?e=20v0.4.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ๐Ÿ”– [chore] Raise the package and lockfile version for the backwards-compatible multi-service catalog, CLI, API, and gallery expansion. --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0f3b9de..29f102a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "github-badge-layouts", - "version": "0.3.0", + "version": "0.4.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "github-badge-layouts", - "version": "0.3.0", + "version": "0.4.0", "license": "MIT", "bin": { "badge-layouts": "dist/cli/bin.js", diff --git a/package.json b/package.json index f324a39..d76ccc4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "github-badge-layouts", - "version": "0.3.0", + "version": "0.4.0", "private": false, "description": "Curated multi-service badge layouts with a personalized gallery and dependency-free README badge CLI.", "keywords": [ From 7533f8b934392883a3a6f61f7f69ebddda459d4d Mon Sep 17 00:00:00 2001 From: Nick2bad4u <20943337+Nick2bad4u@users.noreply.github.com> Date: Wed, 26 Aug 2026 00:47:30 -0400 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=93=9D=20[docs]=20(changelog)=20docum?= =?UTF-8?q?ent=20v0.4.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ๐Ÿ“ [docs] Regenerate the complete git-cliff changelog with the multi-service provider release, prior release history, commit links, and contributor metadata. --- CHANGELOG.md | 187 +++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 151 insertions(+), 36 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 602b02f..6eb4c39 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,55 +1,170 @@ -# Changelog + + -All notable changes to this project will be documented in this file. +# ๐Ÿ“œ Changelog -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## โœจ What's Changed -## [Unreleased] +- Commit Range: โžก๏ธ [`v0.3.0...61ace9d`](https://github.com/Nick2bad4u/github-badge-layouts/compare/v0.3.0...61ace9d6999dbf03410a0b9ceb47b6ef822d3717 "View full commit range on GitHub") -## [0.3.0] - 2026-08-24 +### ๐Ÿงน Chores -### Added +- [`61ace9d`](https://github.com/Nick2bad4u/github-badge-layouts/commit/61ace9d6999dbf03410a0b9ceb47b6ef822d3717 "Diff: 2 files, +3 | -3") โ€” _(release)_ Prepare v0.4.0 (2 files, +3, -3) + - ๐Ÿ”– [chore] Raise the package and lockfile version for the backwards-compatible multi-service catalog, CLI, API, and gallery expansion. -- Language facets for all 75 layouts, including language-aware filtering in the gallery, CLI, generated catalog, and package API. -- Rich terminal output with ANSI styling, color controls, responsive badge previews, Git-context detection, structured help, command aliases, output files, clipboard support, and actionable error suggestions. -- Optional live Badgen SVG-title previews and Glow-powered Markdown rendering. -- Three live-validated badge combinations covering Travis CI with Coveralls, bundle-conscious npm libraries, and Mastodon communities. -- Focused terminal and preview tests covering color policy, constrained widths, XML entities, HTTP and network failures, and suspicious live badge values. +### ๐Ÿ›ก๏ธ Security -### Changed +- [`171a052`](https://github.com/Nick2bad4u/github-badge-layouts/commit/171a052ba3bd5f3f027824cedf4425650ee80626 "Diff: 31 files, +3106 | -361") โ€” โœจ [feat] (providers) add multi-service badge layouts (31 files, +3106, -361) + - โœจ [feat] Add ten-service metadata, provider-aware catalog entries, API helpers, CLI service commands, and combined filtering. + - ๐Ÿ”’๏ธ [fix] Harden live previews with exact HTTPS host checks, redirect validation, SVG content bounds, and accessible label fallbacks. + - ๐Ÿ’„ [style] Add service-colored gallery facets, richer icons, responsive polish, npm navigation, and the selected v4 enhanced hero artwork. + - ๐Ÿงช [test] Cover provider classification, CLI and gallery facets, redirect security, accessible SVG parsing, and CSP registry synchronization. + - ๐Ÿ“ [docs] Refresh the README, CLI and contribution guides, package metadata, and scoped agent instructions. -- Expanded the canonical catalog to 75 layouts and 470 badges across 11 categories and 45 language facets. -- Improved CLI discovery with readable tables, language and category counts, JSON modes, option validation, and command-specific guidance. +## โœจ What's Changed in v0.3.0 -### Fixed +- Commit Range: โžก๏ธ [`v0.2.0...v0.3.0`](https://github.com/Nick2bad4u/github-badge-layouts/compare/v0.2.0...v0.3.0 "View full commit range on GitHub") -- Decode SVG XML entities in a single pass so nested encodings cannot become unintended markup. -- Simplified CLI argument handling and layout-count formatting to resolve Sonar maintainability findings. +### โœจ Features -## [0.2.0] - 2026-08-23 +- [`834890e`](https://github.com/Nick2bad4u/github-badge-layouts/commit/834890e694c398080d2659035b2a797e38e28690 "Diff: 8 files, +1399 | -228") โ€” _(cli)_ Deliver rich terminal badge previews (8 files, +1399, -228) + - โœจ [feat] Add structured command help, language-aware discovery, Git context detection, validated command options, output files, clipboard support, JSON modes, aliases, and actionable error suggestions. + - โœจ [feat] Render responsive ANSI badge previews with NO_COLOR support, optional bounded live Badgen SVG-title lookups, and clean Markdown summaries piped to Glow. + - ๐Ÿงช [test] Cover terminal width behavior, preview parsing and warnings, CLI discovery, rendering, and option validation. + - ๐Ÿ“ [docs] Replace the CLI guide and refresh README examples for the expanded terminal workflow. -### Added +- [`d102e00`](https://github.com/Nick2bad4u/github-badge-layouts/commit/d102e00e9a4d3275d0300bbef125e86dbfd5477c "Diff: 13 files, +1270 | -181") โ€” _(catalog)_ Add language facets and curated layouts (13 files, +1270, -181) + - โœจ [feat] Classify all 75 layouts across 45 language facets, add three live-validated badge combinations, and expose language metadata through the generated catalog and package API. + - โœจ [feat] Add URL-persisted language filtering, responsive gallery controls, language metadata on cards, and trusted-literal normalization for persisted view and sort preferences. + - ๐Ÿงช [test] Cover language filtering, generated catalog metadata, pagination, and untrusted gallery preference fallbacks. + - ๐Ÿ“ [docs] Document canonical language annotations and live SVG-title validation rules for future layout contributions. -- Grid and compact list gallery views with inline copy actions, persisted view preferences, and sorting by badge count, title, or category. -- Seven copy-ready layouts for Azure Pipelines, CircleCI, AppVeyor, Code Climate, MELPA, Matrix, and Liberapay. -- Unit coverage for gallery filtering, sorting, pagination, and preference parsing. +### ๐Ÿ› ๏ธ Bug Fixes -### Changed +- [`746196a`](https://github.com/Nick2bad4u/github-badge-layouts/commit/746196a18f636d9a4a4ef14e0e32de5617dadf24 "Diff: 2 files, +54 | -28") โ€” _(preview)_ Decode XML entities once (2 files, +54, -28) + - ๐Ÿ› [fix] Replace the multi-pass SVG title decoder with a single-pass XML entity parser that preserves nested encodings and rejects invalid XML code points. + - ๐Ÿงช [test] Cover named, decimal, hexadecimal, nested, and out-of-range entity behavior reported by CodeQL. -- Reworked the responsive hero so its CSS artwork stays adjacent to the introduction instead of falling below the complete call-to-action block. -- Expanded the canonical catalog to 72 layouts and 447 badges across 11 categories. +### ๐Ÿšœ Refactor -## [0.1.0] - 2026-08-23 +- [`d1ba27c`](https://github.com/Nick2bad4u/github-badge-layouts/commit/d1ba27cc288766690c3d79f50728f47eb22bc691 "Diff: 1 file, +20 | -8") โ€” _(cli)_ Simplify argument handling (1 file, +20, -8) + - ๐Ÿšœ [refactor] Extract parsed-option recording from the argument loop and centralize singular layout-count formatting to remove the two Sonar maintainability findings without changing CLI behavior. -### Added +### ๐Ÿ“ Documentation -- A canonical catalog of 65 copy-ready layouts and 410 Badgen badges across 10 project categories. -- A personalized, paginated GitHub Pages gallery with flat/classic style conversion and copy-ready CLI commands. -- An ESM npm API and dependency-free CLI for searching, rendering, converting, inspecting, and maintaining README badge blocks. -- Strict shared lint, formatting, secret, duplication, link, package-surface, TypeScript, and Vitest coverage gates. -- Pinned GitHub Pages, CodeQL, Codecov, SonarQube Cloud, security, maintenance, and OIDC trusted-release workflows. +- [`97dc873`](https://github.com/Nick2bad4u/github-badge-layouts/commit/97dc873cb3b9af50d31cb1dc8ab22c1c365696c4 "Diff: 1 file, +22 | -1") โ€” _(changelog)_ Document v0.3.0 (1 file, +22, -1) + - ๐Ÿ“ [docs] Record the new language facets, rich terminal previews, Glow integration, curated layouts, and quality fixes. -[Unreleased]: https://github.com/Nick2bad4u/github-badge-layouts/compare/v0.3.0...HEAD -[0.3.0]: https://github.com/Nick2bad4u/github-badge-layouts/releases/tag/v0.3.0 -[0.2.0]: https://github.com/Nick2bad4u/github-badge-layouts/releases/tag/v0.2.0 -[0.1.0]: https://www.npmjs.com/package/github-badge-layouts/v/0.1.0 +### ๐Ÿงช Testing + +- [`1dad51b`](https://github.com/Nick2bad4u/github-badge-layouts/commit/1dad51b8e4f6dccdab5e9977b4bd0dd1ba3d31a8 "Diff: 2 files, +157 | -12") โ€” ๐Ÿงช [test] cover preview and terminal edge cases (2 files, +157, -12) + - ๐Ÿงช [test] Exercise automatic color policy, all semantic ANSI roles, badge contrast, malformed tables, constrained widths, safe URL metadata, network and HTTP failures, missing SVG titles, and single-pass XML entities. + - ๐Ÿฆบ [test] Restore the existing coverage gate without lowering thresholds: 97.82% statements, 91.41% branches, 100% functions, and 99.19% lines. + +### ๐Ÿงน Chores + +- [`dc4d59a`](https://github.com/Nick2bad4u/github-badge-layouts/commit/dc4d59a0b95f15e130e724ac0acec284e655fa0d "Diff: 2 files, +3 | -3") โ€” _(release)_ Prepare v0.3.0 (2 files, +3, -3) + - ๐Ÿ”– [chore] Raise the package and lockfile version for the backwards-compatible CLI, catalog, and gallery expansion. + +### ๐Ÿ‘ท CI/CD + +- [`74c76fe`](https://github.com/Nick2bad4u/github-badge-layouts/commit/74c76fe47fe34c06fed6e66979ca879154ac2a48 "Diff: 1 file, +1 | -1") โ€” _(quality)_ Update Harden Runner (1 file, +1, -1) + - ๐Ÿ‘ท [ci] Pin the Quality workflow to the verified Harden-Runner v2.21.0 commit already used by the Pages and release workflows. + +> [!NOTE] +> **Release comparison**: https://github.com/Nick2bad4u/github-badge-layouts/compare/v0.2.0...v0.3.0 + +## โœจ What's Changed in v0.2.0 + +- Commit Range: โžก๏ธ [`678f5c4...v0.2.0`](https://github.com/Nick2bad4u/github-badge-layouts/compare/678f5c43e2cef4e8176163caefe0086b01cce6f8...v0.2.0 "View full commit range on GitHub") + +### โœจ Features + +- [`d50b6d0`](https://github.com/Nick2bad4u/github-badge-layouts/commit/d50b6d0be0ba6ec208ce49aafba2fbd175195ba8 "Diff: 13 files, +1114 | -241") โ€” _(gallery)_ Add sortable list and grid views (13 files, +1114, -241) + - โœจ [feat] Add persisted grid/list controls, badge-count and alphabetical sorting, compact inline copy actions, and shareable URL state. + - ๐Ÿ’„ [style] Recompose the responsive hero, tighten mobile artwork, and improve the sticky discovery toolbar. + - โœจ [feat] Expand the catalog to 72 layouts and 447 badges with seven live-verified CI, quality, package, community, and funding combinations. + - ๐Ÿ› [fix] Parse composite placeholders without emitting nested phantom fields and safely decode hash targets. + - ๐Ÿงช [test] Cover gallery filtering, sorting, pagination, preferences, hash parsing, catalog placeholders, and version-independent CLI output. + +- [`471b313`](https://github.com/Nick2bad4u/github-badge-layouts/commit/471b3139c3713395e019f799143d4157909cac64 "Diff: 41 files, +8020 | -1650") โ€” _(platform)_ Add the badge gallery and CLI (41 files, +8020, -1650) + - โœจ [feat] Build a typed, dependency-free catalog API and CLI for listing, searching, inspecting, rendering, converting, and safely updating README badge layouts. + - ๐Ÿ’„ [feat] Replace the starter page with a responsive personalized gallery featuring URL-backed filters, pagination, repository context, style conversion, preview validation, and copy-ready Markdown or CLI commands. + - โœจ [feat] Expand the canonical library to 65 layouts and 410 badges across 10 categories, including broad language-first repository coverage, and generate synchronized browser and TypeScript catalogs. + - ๐Ÿงช [test] Cover catalog queries, rendering and style conversion, placeholder handling, CLI integration, package exports, and production builds with strict lint and coverage gates. + - ๐Ÿ“ [docs] Document the package API, CLI workflows, contribution contract, project structure, catalog ownership, and initial changelog. + +- [`678f5c4`](https://github.com/Nick2bad4u/github-badge-layouts/commit/678f5c43e2cef4e8176163caefe0086b01cce6f8 "Diff: 17 files, +2803 | -0") โ€” Add interactive badge layout library (17 files, +2803, -0) + +### ๐Ÿ› ๏ธ Bug Fixes + +- [`5cd3679`](https://github.com/Nick2bad4u/github-badge-layouts/commit/5cd3679ac0d6747cab38c23cd82bdbb5cc8c0621 "Diff: 1 file, +1 | -0") โ€” _(sonar)_ Separate source and test scopes (1 file, +1, -0) + - ๐Ÿ› [fix] Declare the Automatic Analysis source roots explicitly so the test directory no longer overlaps Sonar's default source scope while workflow analysis remains enabled. + +- [`55f5965`](https://github.com/Nick2bad4u/github-badge-layouts/commit/55f59658a21d4f5d09144fe275b53fb7822bc920 "Diff: 11 files, +191 | -146") โ€” _(quality)_ Resolve Sonar automatic analysis findings (11 files, +191, -146) + - ๐Ÿ› [fix] Refactor the catalog parser, clipboard handling, badge parsing, placeholder selection, and native clipboard command lookup to resolve the reported reliability and maintainability findings. + - ๐Ÿ”’๏ธ [fix] Stop persisting URL-derived repository identifiers, use the native output element for toast status, and disable dependency lifecycle scripts in every install workflow. + - ๐Ÿ‘ท [ci] Replace the ignored CI scanner properties with supported Automatic Analysis settings, remove the dormant SONAR_TOKEN path, and document Codecov as the coverage authority. + +### ๐Ÿšœ Refactor + +- [`26264c9`](https://github.com/Nick2bad4u/github-badge-layouts/commit/26264c96458b30afae5edd9fa0a360545dc00d30 "Diff: 1 file, +5 | -3") โ€” _(catalog)_ Stop mutating the loop counter (1 file, +5, -3) + - ๐Ÿšœ [refactor] Track the last consumed Markdown-fence line separately while iterating immutable line indexes, resolving Sonar S2310 without changing generated output. + +### ๐Ÿ“ Documentation + +- [`ef3abea`](https://github.com/Nick2bad4u/github-badge-layouts/commit/ef3abeaec788da03bc8b672357e8354d5fbbf272 "Diff: 1 file, +5 | -2") โ€” _(changelog)_ Document v0.2.0 (1 file, +5, -2) + +- [`fd19254`](https://github.com/Nick2bad4u/github-badge-layouts/commit/fd192543b8cbb137de4afd2c406a10ccbeddbeeb "Diff: 3 files, +21 | -45") โ€” _(release)_ Document gallery and trusted publishing (3 files, +21, -45) + - ๐Ÿ“ [docs] Describe the sortable list experience, expanded catalog totals, and stored display preferences. + - ๐Ÿ“ [docs] Record the unreleased feature set and replace obsolete first-publish instructions with the active OIDC release flow. + +- [`31c6f42`](https://github.com/Nick2bad4u/github-badge-layouts/commit/31c6f42fb646bdb9953bfe633108e6518f19d13b "Diff: 1 file, +1 | -0") โ€” _(catalog)_ Explain fenced-line skipping (1 file, +1, -0) + - ๐Ÿ’ก [docs] Clarify why the parser ignores line entries already consumed as part of a fenced layout block. + +- [`58b4f75`](https://github.com/Nick2bad4u/github-badge-layouts/commit/58b4f7575c18bf5b90f37f64666c4a4eda27a738 "Diff: 1 file, +4 | -1") โ€” _(sonar)_ Explain explicit source roots (1 file, +4, -1) + - ๐Ÿ“ [docs] Record why Automatic Analysis needs an explicit source scope and why GitHub workflows remain included. + +- [`b5066e0`](https://github.com/Nick2bad4u/github-badge-layouts/commit/b5066e0899f0eb13e3c42eb07e9f86587bb3d769 "Diff: 1 file, +1 | -1") โ€” _(sonar)_ Link Automatic Analysis guidance (1 file, +1, -1) + - ๐Ÿ“ [docs] Link the release guidance directly to SonarQube Cloud's current Automatic Analysis documentation. + +### ๐Ÿงน Chores + +- [`6863d44`](https://github.com/Nick2bad4u/github-badge-layouts/commit/6863d4482138dcb932a9f68b97c8ef866ff9afc2 "Diff: 2 files, +3 | -3") โ€” _(release)_ Prepare v0.2.0 (2 files, +3, -3) + - ๐Ÿ”– [chore] Raise the package and lockfile version to 0.2.0 after the backwards-compatible gallery and catalog expansion. + +- [`280ad1a`](https://github.com/Nick2bad4u/github-badge-layouts/commit/280ad1a2a5b7ddfa95fcfd0c02739b79a36ae389 "Diff: 19 files, +27976 | -1828") โ€” _(repo)_ Adopt shared repository standards (19 files, +27976, -1828) + - ๐Ÿ”ง [chore] Wire the shared ESLint, Prettier, Remark, Stylelint, TSDoc, package-manifest, secret-scanning, link-checking, and duplication-analysis presets into the repository. + - ๐ŸŽจ [style] Normalize the existing catalog builder and Pages sources under the adopted formatting rules while preserving generated catalog output. + - ๐Ÿ“ฆ๏ธ [build] Add the resolved npm tooling lockfile and package scripts needed to run the imported quality suite reproducibly. + +### ๐Ÿ‘ท CI/CD + +- [`92d0f01`](https://github.com/Nick2bad4u/github-badge-layouts/commit/92d0f01f28e23ac8c4337235879595db2a180218 "Diff: 2 files, +64 | -0") โ€” _(release)_ Install verifier toolchain (2 files, +64, -0) + +- [`f75f60d`](https://github.com/Nick2bad4u/github-badge-layouts/commit/f75f60d9f06403d55ea7534ba69ef1fa442352c2 "Diff: 1 file, +9 | -0") โ€” _(release)_ Install actionlint before verification (1 file, +9, -0) + +### ๐Ÿ›ก๏ธ Security + +- [`74154b9`](https://github.com/Nick2bad4u/github-badge-layouts/commit/74154b9a38276d5c1fe71c6de7fb580a3c160f4f "Diff: 4 files, +75 | -8") โ€” ๐Ÿ› [fix] (security) Harden badge preview URL handling (4 files, +75, -8) + - ๐Ÿ”’๏ธ [fix] Encode every interactive placeholder value and require HTTPS preview targets, credential-free URLs, and exact Badgen image hosts before assigning DOM URLs. + - ๐Ÿ› [fix] Restrict style conversion to Markdown image prefixes so Badgen-like text inside arbitrary URLs is never rewritten. + - ๐Ÿงช [test] Cover the host-boundary regression and retain the complete 20-test validation suite. + - ๐Ÿšจ [fix] Disable only Tombi's cross-platform formatting rule for the Gitleaks config while retaining actual Gitleaks parsing in every release gate. + +- [`1a3bc1b`](https://github.com/Nick2bad4u/github-badge-layouts/commit/1a3bc1bb2c71e91d0f550cbd5887b7f6524967a2 "Diff: 18 files, +1100 | -0") โ€” ๐Ÿ‘ท [build] (automation) Add quality, security, Pages, and release workflows (18 files, +1100, -0) + - ๐Ÿ‘ท [build] Run pinned, least-privilege validation, coverage, Codecov OIDC upload, CodeQL analysis, and artifact diagnostics on pull requests and main. + - ๐Ÿš€ [build] Build and deploy the Vite gallery through the GitHub Pages artifact workflow with a protected deployment environment. + - ๐Ÿ”’๏ธ [build] Adopt shared dependency, label, stale, secret-scan, dependency-review, and Dependabot automation with explicit repository ownership. + - ๐Ÿ“ฆ๏ธ [build] Add a guarded npm trusted-publishing workflow that verifies exact versions, a clean release source, provenance, tags, and GitHub release recovery without storing an npm token. + - ๐Ÿ“ [docs] Record the manual first-publish bootstrap and the remaining SonarQube Cloud token handoff. + +### New Contributors + +- @Nick2bad4u made their first contribution in [#9](https://github.com/Nick2bad4u/github-badge-layouts/pull/9) + +## โญ Contributors + +Thanks to anyone who has ๐Ÿง‘โ€๐Ÿ’ป [contributed](https://github.com/Nick2bad4u/github-badge-layouts/graphs/contributors). + +_This changelog was automatically generated with โ›ฐ๏ธ [git-cliff](https://github.com/orhun/git-cliff)._