From 6743c60dfd700ef7bb97f16e245d1a93b0e6b913 Mon Sep 17 00:00:00 2001 From: nirenjan Date: Thu, 12 Mar 2026 10:57:25 -0700 Subject: [PATCH] doc: Update for version 0.3.3 --- .gitattributes | 3 +++ .github/scripts/build-and-test.sh | 1 + .github/workflows/release.yml | 40 ++++++++++++++++++------------- ChangeLog.md | 38 ++++++++++++++++++++++++++++- Version | 2 +- meson.build | 2 +- 6 files changed, 66 insertions(+), 20 deletions(-) diff --git a/.gitattributes b/.gitattributes index 7dedafb..58fda1c 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1,5 @@ /version-info ident */meson.build ident +/.github/ export-ignore +.gitignore export-ignore +.gitattributes export-ignore diff --git a/.github/scripts/build-and-test.sh b/.github/scripts/build-and-test.sh index 11f1604..fcf9cc1 100755 --- a/.github/scripts/build-and-test.sh +++ b/.github/scripts/build-and-test.sh @@ -6,6 +6,7 @@ meson setup -Dprefix=/usr -Dsysconfdir=/etc -Dlocalstatedir=/var -Dnls=enabled b cd build ninja ninja test +meson dist # Print bugreport output ./bugreport/x52bugreport diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3834871..c330332 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,15 +22,30 @@ jobs: - name: Build project run: ./.github/scripts/build-and-test.sh - - name: Find release tarball - id: find_release + - name: Prepare release assets run: | - echo "::set-output name=path::$(find $PWD -name 'libx52*.tar*')" - echo "::set-output name=asset::$(find . -name 'libx52*.tar*' -exec basename {} \; | sed 's/libx52-\(.*\)\.tar/libx52_\1.orig.tar/')" + # Find the Meson generated tarball + # meson dist usuall creates a tar.xz, but be prepared to handle + # additional compression formats + DIST_FILE=$(find build/meson-dist -name 'libx52-*.tar.*' -a ! -name '*.tar.*sum') + + # Extract the version from the filename + VERSION=$(echo "$DIST_FILE" | grep -oE '[0-9]+\.[0-9]+\.[0-9]+') + EXTENSION="${DIST_FILE#*${VERSION}}" + + ASSET_NAME="libx52_${VERSION}.orig${EXTENSION}" + ASSET_PATH="build/meson-dist/${ASSET_NAME}" + + # Rename the file + mv -v "$DIST_FILE" "$ASSET_PATH" + + cd build/meson-dist + rm *.sha256sum + sha256sum "$ASSET_NAME" > "${ASSET_NAME}.sha256sum" + cd ../.. - name: Create Release - id: create_release - uses: actions/create-release@v1 + uses: softprops/action-gh-release@v2 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: @@ -38,14 +53,5 @@ jobs: release_name: Release ${{ github.ref }} draft: false prerelease: false - - - name: Upload Release Tarball - id: upload-release-tarball - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ${{ steps.find_release.outputs.path }} - asset_name: ${{ steps.find_release.outputs.asset }} - asset_content_type: application/gzip + files: | + build/meson-dist/* diff --git a/ChangeLog.md b/ChangeLog.md index b02f5ad..f1ca122 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -6,6 +6,41 @@ The format is based upon [Keep a Changelog]. ## [Unreleased] +## [0.3.3] - 2026-03-12 + +### Added +- Updated build infrastructure to use Meson instead of Autotools. +- Added a [privacy policy](PRIVACY.md) to comply with GDPR/CCPA regulations. +- Added a [security policy](SECURITY.md) to help securely report + vulnerabilities. +- Added Dependabot configuration to keep Action files up to date. + +### Changed +- **BREAKING**: Removed vendored inih package and switched build framework to + use inih from the system package manager. +- `x52bugreport` tool now strips out potentially identifying information. +- Removed the use of a 3rd party action to deploy generated Doxygen pages to the + gh-pages branch. This now uses the modern gh-pages deployment action. +- Updated release action to use softprops/action-gh-release@v2, since the + original actions are no longer maintained. + +### Deprecated +- Autotools build framework is now deprecated, and will be removed in the next + release. + +### Fixed +- Github Actions updated to use current set of runners +- Fixed handling malformed UTF-8 input in libx52util +- Fixed boundary check issue in libx52util that incorrectly returned `-E2BIG` if + the output buffer was the exact size to capture the translated string and the + null terminator. +- Fixed potential UB in libx52-string-test +- Fixed NULL pointer dereference in `libx52_exit` +- Fixed errors identified by the GCC `-fanalyzer` flag + +### Security +- Updated action files to include permission blocks + ## [0.3.2] - 2024-06-09 ### Added - Updated bug report utility to add details about build host details and @@ -180,7 +215,8 @@ release are the same. [Keep a Changelog]: http://keepachangelog.com/en/1.0.0/ [Semantic Versioning]: http://semver.org/spec/v2.0.0.html [TAP]: https://testanything.org -[Unreleased]: https://github.com/nirenjan/libx52/compare/v0.3.2...HEAD +[Unreleased]: https://github.com/nirenjan/libx52/compare/v0.3.3...HEAD +[0.3.3]: https://github.com/nirenjan/libx52/compare/v0.3.2...v0.3.3 [0.3.2]: https://github.com/nirenjan/libx52/compare/v0.3.0...v0.3.2 [0.3.0]: https://github.com/nirenjan/libx52/compare/v0.2.3...v0.3.0 [0.2.3]: https://github.com/nirenjan/libx52/compare/v0.2.2...v0.2.3 diff --git a/Version b/Version index d15723f..1c09c74 100644 --- a/Version +++ b/Version @@ -1 +1 @@ -0.3.2 +0.3.3 diff --git a/meson.build b/meson.build index f20515f..39806dd 100644 --- a/meson.build +++ b/meson.build @@ -1,6 +1,6 @@ project('libx52', 'C', license: 'GPL-2.0-only WITH Classpath-exception-2.0', - version: '0.3.2') + version: '0.3.3') dep_libusb = dependency('libusb-1.0', required: true) dep_hidapi = dependency('hidapi-hidraw', required: false)