atlas-program-runtime 3.1.0

Atlas program runtime
Documentation
# Atlas Migration Status - atlas-program-runtime

## ✅ Completed

### Code Renaming
- [x] All source files renamed from `solana_*` to `atlas_*`
- [x] All imports updated to use Atlas naming
- [x] Package name changed to `atlas-program-runtime`
- [x] Library name changed to `atlas_program_runtime`
- [x] Feature flags renamed (`agave-unstable-api``atlas-unstable-api`)
- [x] Documentation updated
- [x] Comments updated
- [x] String literals updated (where applicable)

### Files Modified
- `Cargo.toml` - Package configuration
-`src/lib.rs` - Main library file
-`src/cpi.rs` - Cross-program invocation
-`src/execution_budget.rs` - Execution budget management
-`src/invoke_context.rs` - Invocation context
-`src/loaded_programs.rs` - Program loading
-`src/mem_pool.rs` - Memory pool
-`src/memory.rs` - Memory management
-`src/serialization.rs` - Serialization utilities
-`src/stable_log.rs` - Logging
-`src/sysvar_cache.rs` - System variable cache

### Specific Renames
- `solana_*` modules → `atlas_*` modules
- `agave-unstable-api` feature → `atlas-unstable-api` feature
- `stake_raise_minimum_delegation_to_1_sol``stake_raise_minimum_delegation_to_1_atlas`
- All package dependencies: `solana-*``atlas-*`

## 🔄 In Progress

### Dependency Management
- [x] Cargo.toml configured with Atlas dependencies (using crates.io versions)
- [ ] Waiting for full ecosystem migration to use path dependencies

## ⏳ Pending

### Ecosystem Requirements
- [ ] All `atlas-*` dependency crates need to be fully renamed
- [ ] Coordinated version release across Atlas ecosystem
- [ ] API compatibility verification
- [ ] Integration testing with full Atlas stack

### Publishing
- [ ] Cannot publish to crates.io until:
  - All dependencies are at compatible versions
  - API changes are stabilized
  - Full test suite passes
  - Ecosystem-wide coordinated release

## 🚧 Known Issues

### API Compatibility
Some features were removed or renamed in newer atlas crate versions:
- `increase_cpi_account_info_limit` - Set to `false` (feature removed)
- `account_data_direct_mapping` - Set to `false` (feature removed)
- Module structure changes in `atlas-transaction-context`

### Version Mismatches
Current crates.io has:
- Most crates at 3.0.0
- Some at 2.0.x (stake-interface, system-interface)
- Some at 6.1.x (loader-v3-interface)

## 📝 Usage

### Current Configuration
The package uses **crates.io published versions** of atlas dependencies (all at 3.0.x where available).

### For Local Development
```toml
[dependencies]
atlas-program-runtime = { path = "../atlas-program-runtime-3.0.0" }
```

### When All Crates Are Renamed
Switch to path dependencies in Cargo.toml:
```toml
atlas-svm-measure = { path = "../atlas-svm-measure-3.0.0" }
# ... etc
```

## 🎯 Next Steps

1. **Complete ecosystem rename**: Rename all remaining `solana-*` crates in your workspace
2. **Create workspace**: Set up Cargo workspace for coordinated builds
3. **Test integration**: Verify all crates work together
4. **Fix API issues**: Address any breaking changes
5. **Coordinate release**: Plan publishing order and timing
6. **Publish**: Release to crates.io in dependency order

## 📊 Progress Tracker

### Renamed Crates
- ✅ atlas-program-runtime (this crate)
- ⏳ atlas-svm-* crates (pending - still named solana-svm-*)
- ⏳ atlas-sdk components (pending)
- ⏳ atlas-sbpf (pending)
- ⏳ Other atlas crates (pending)

### Total Progress
**Code: 100% Complete**
**Ecosystem: ~10% Complete** (1 out of ~10+ crates)
**Ready to Publish: No** (waiting on dependencies)

## 🔗 Related Documentation
- `README.md` - Usage guide
- `WORKSPACE_SETUP.md` - Workspace configuration
- `RELEASE_NOTES.md` - Version 3.0.1 changes

## 💡 Tips

1. Use `cargo tree` to visualize dependency graph
2. Test with `cargo check` before full builds
3. Keep versions synchronized across workspace
4. Document any API changes you encounter
5. Create issues for breaking changes

---

**Status as of**: 2025-11-25
**Version**: 3.0.1
**Stage**: Local Development (Not Published)