Skip to content

Release/v0.4.1#83

Merged
rdinnager merged 11 commits intomasterfrom
release/v0.4.1
Oct 20, 2025
Merged

Release/v0.4.1#83
rdinnager merged 11 commits intomasterfrom
release/v0.4.1

Conversation

@rdinnager
Copy link
Owner

Release v0.4.1

This release includes significant improvements to the slim_setup() function, making SLiM installation more reliable and user-friendly.

Key Changes

  • Enhanced slim_setup() function:
    • Automatic conda Terms of Service acceptance prevents installation failures
    • Download retry logic with exponential backoff for more reliable binary downloads
    • Structured error messages with platform-specific guidance
    • Post-installation verification automatically tests the SLiM installation
    • Informative progress messages throughout installation
    • slim_version parameter now accepts specific version numbers (e.g., "4.2.2", "5.1") in addition to "stable" (default: SLiM 4.2.2)
    • Warns users about potential compatibility issues with SLiM 5.x

See NEWS.md for full details.

Dinnage and others added 11 commits October 17, 2025 23:39
This commit implements comprehensive improvements to the slim_setup() function
to make SLiM installation more reliable and user-friendly.

Major improvements:

1. **Version Selection**: Added slim_version parameter to choose between
   "stable" (SLiM 4.x, fully compatible) and "latest" (SLiM 5.x+, may have
   issues). Default is "stable" for better out-of-box experience.

2. **Automatic Conda TOS Acceptance**: New accept_conda_tos() helper
   automatically accepts Terms of Service for conda channels, eliminating
   installation failures and manual intervention.

3. **Robust Error Handling**: Added structured, actionable error messages
   with platform-specific guidance (macOS/Linux/Windows) and troubleshooting
   steps for all failure scenarios.

4. **Download Retry Logic**: New download_with_retry() helper implements
   exponential backoff retry logic for more reliable binary downloads.

5. **Installation Progress Feedback**: Added informative progress messages
   throughout installation process with time estimates.

6. **Post-Installation Verification**: Automatically runs slim_test() and
   reports installed version, catching issues immediately with helpful
   guidance.

7. **SLiM 5.x Compatibility Warning**: Detects SLiM 5.x installations and
   warns users about potential compatibility issues with slimr.

8. **Graceful Conda Environment Handling**: Improved logic handles existing
   conda installations, TOS requirements, and edge cases robustly.

All changes maintain full backward compatibility. The only behavioral change
is that conda method now defaults to installing SLiM 4.x instead of 5.x,
improving compatibility with slimr.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Modified the slim_version parameter in slim_setup() to accept specific
version numbers (e.g., "4.2.2", "5.1") in addition to the special value
"stable" (which installs SLiM 4.2.2 as the last known stable version
compatible with slimr).

Changes:
- Removed "latest" option in favor of specific version numbers
- Updated get_slim_conda_spec() to construct version-specific conda
  package specifications
- Changed parameter validation from match.arg() to explicit character
  string validation
- Updated documentation to reflect new parameter behavior
- Updated informative messages to show specific version being installed

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Updated R-CMD-check workflow to download SLiM 4.2.2 from GitHub releases
instead of always downloading the latest version from benhaller.com.
This ensures CI tests run with a version compatible with the current
slimr package.

For conda-based installations, slim_setup() now defaults to "stable"
(4.2.2), so those will also use the correct version.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
SLiM 4.2.2 source code has compilation issues with the newer Xcode/clang
in macOS-latest (Xcode 16.4, clang 17). Use macos-13 runner for tests
that compile SLiM from source, which has an older, compatible toolchain.

Keep macOS-latest for conda-based tests since those don't need compilation.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Changed macOS runner from macos-13 (deprecated) to macos-14
- Changed Ubuntu runner from ubuntu-20.04 (unsupported) to ubuntu-latest
- Keeps macOS-latest for conda-based tests

This ensures CI runs on currently supported GitHub Actions runners.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Regenerated documentation with roxygen2 7.3.3 to fix slim_version parameter documentation
- Removed unused codetools import from DESCRIPTION
- Added .claude directory and temp files to .Rbuildignore
- Updated RoxygenNote to 7.3.3 in DESCRIPTION

R CMD CHECK now passes with 0 errors, 0 warnings, and only 1 pre-existing NOTE about Rd formatting.
@rdinnager rdinnager merged commit 4f6c549 into master Oct 20, 2025
7 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

Comments