diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fe53327..5f2e528 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -326,17 +326,13 @@ jobs: name: release-notes - name: Create GitHub Release - uses: softprops/action-gh-release@v1 - with: - tag_name: ${{ needs.validate.outputs.tag }} - name: "BLE-Reticulum ${{ needs.validate.outputs.tag }}" - body_path: RELEASE_NOTES.md - draft: false - prerelease: false - files: | - release-artifacts/* env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + gh release create "${{ needs.validate.outputs.tag }}" \ + release-artifacts/* \ + --title "BLE-Reticulum ${{ needs.validate.outputs.tag }}" \ + --notes-file RELEASE_NOTES.md - name: Release summary run: | diff --git a/CHANGELOG.md b/CHANGELOG.md index f4d1f00..9667fdd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,50 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Fixes issue where devices could not reconnect after multiple failed attempts due to corrupted BlueZ state - Files: `src/RNS/Interfaces/linux_bluetooth_driver.py` (lines 786-830, 980-1069), `src/RNS/Interfaces/BLEInterface.py` (lines 1475-1490) +## [0.1.1] - 2025-11-10 + +### Fixed +- **Release workflow**: Use `gh release create` for atomic release creation to prevent asset upload failures with immutable releases. Previously, `softprops/action-gh-release` created releases and uploaded assets in separate operations, which failed when repository rules made releases immutable immediately. + +## [0.1.0] - 2025-11-10 + +### Added +- **Installation system** + - Cross-platform installer script (`install.sh`) supporting Debian, Ubuntu, Arch Linux, and Raspberry Pi OS + - ARM architecture support (32-bit armhf and 64-bit arm64) + - Custom configuration directory support via `--config` flag + - Python symlink resolution for correct interpreter detection + - Automatic PATH configuration for user installations + +- **BlueZ configuration automation** + - Automatic BlueZ experimental mode enablement (fixes BLE connection issues) + - Bluetooth adapter auto-power-on functionality + - rfkill auto-unblocking for Bluetooth devices + - Systemd service integration with proper permissions + +- **CI/CD infrastructure** + - GitHub Actions workflows for automated testing + - Multi-distribution testing matrix (Debian, Ubuntu, Arch, Raspberry Pi OS) + - ARM architecture testing on Raspberry Pi OS + - Non-interactive installation mode for CI environments + +- **Installer robustness** + - Root/non-root detection with appropriate sudo handling + - Graceful degradation when systemd unavailable + - Virtual environment detection and support + - Compatibility with PEP 668 (externally-managed-environment) + - Platform-specific dependency handling (libffi-dev for 32-bit ARM) + +### Changed +- Improved error messages and user feedback during installation +- Enhanced logging for troubleshooting installation issues + +### Fixed +- Path handling for system vs. user installations +- Permission issues with Bluetooth capabilities (setcap) +- Dependency resolution across different Linux distributions +- PyGObject version conflicts on Arch Linux + ## [2.2.0] - 2025-11-06 ### Added