Skip to content

Conversation

@ChrisRackauckas-Claude
Copy link

Summary

  • Remove Requires.jl dependency and switch to native Julia v1.10 package extensions
  • Update minimum Julia version to v1.10 (the new LTS)
  • Simplify extension loading code

Changes

  • Project.toml: Remove Requires.jl from dependencies, update Julia compat to v1.10
  • src/Adapt.jl: Remove conditional extension loading code that used Requires.jl
  • ext/*.jl: Simplify extension modules to use standard imports instead of conditional logic
  • .github/workflows/Test.yml: Update CI to test only Julia v1.10 and newer

Motivation

Julia v1.10 is now the LTS release, so we can drop support for older versions and remove the Requires.jl compatibility layer. This simplifies the codebase and removes an unnecessary dependency.

Test plan

✅ Tests pass locally on Julia v1.10
✅ Package extensions load correctly
✅ CI updated to test on v1.10, v1.11, and nightly

🤖 Generated with Claude Code

- Remove Requires.jl from dependencies in Project.toml
- Update Julia compat to require v1.10 (new LTS)
- Remove conditional extension loading code from src/Adapt.jl
- Simplify extension modules to use standard imports
- Update CI to test only Julia v1.10 and newer

Julia v1.10 is now the LTS release, so we can drop support for older
versions and remove the Requires.jl compatibility layer.

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

Co-Authored-By: Claude <[email protected]>
@codecov
Copy link

codecov bot commented Aug 9, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 88.60%. Comparing base (cf6f6d4) to head (389f8c3).

Additional details and impacted files
@@            Coverage Diff             @@
##           master      #94      +/-   ##
==========================================
- Coverage   91.66%   88.60%   -3.06%     
==========================================
  Files           7        7              
  Lines          84       79       -5     
==========================================
- Hits           77       70       -7     
- Misses          7        9       +2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@maleadt
Copy link
Member

maleadt commented Aug 11, 2025

  • switch to native Julia v1.10 package extensions

This isn't "switching" to package extensions; we were already using them. The code this PR removes serves as backwards compatibility, as per the official Pkg.jl docs: https://pkgdocs.julialang.org/v1/creating-packages/#Backwards-compatibility

Why is the Requires.jl dependency problematic? Adapt.jl being such a fundamental package, I'd rather maintain backwards compatibility as long as possible.

@ChrisRackauckas
Copy link
Member

This just bumps everything to LTS, and on LTS none of this is necessary. Whether it's merged now or not, this PR will need to be merged at some point because at some point you'll drop prior to LTS 😅. This was just some clean up along the way to figuring out what's going on with the minimum versions of the CUDA.jl stack just to eliminate any potential problems coming from here (though this and other tests of course pointed to CUDA.jl as having a very problematic Project.toml, which led to the other PR).

This library is fine as-is but when you want to drop pre-LTS, here's a button that does it. Though I'm a bit surprised there is still a care for future Adapt.jl to support prior to LTS, there isn't any need to rush this particular one.

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.

3 participants