AGNTCY Slim v0.6.0 Release #756
msardara
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
SLIM v0.6.0 Release Announcement 🚀
We're excited to announce the release of SLIM (Secure Low-Latency Interactive Messaging) v0.6.0! This major release brings significant improvements to the session management API, enhanced Python bindings, better control plane functionality, and numerous performance optimizations.
🎯 Key Highlights
🔥 Major Breaking Changes & API Improvements
Session API Refactoring (#598)
receive()intolisten_for_session()andget_message()for per-session message handlingSessionContext(Rust & Python) replacing legacyInfo/SessionMessagestructuresNotificationenum for cleaner app-to-user event handling🐍 Enhanced Python Bindings
Comprehensive Python API Improvements
🎛️ Control Plane Enhancements
Enhanced Reliability & Networking
🚀 Deployment Templates & Strategies
New Deployment Templates System (#753)
📡 Session & Communication Improvements
Session Management
Group Management Improvements
🔐 Security & Infrastructure
Authentication & Security
Overview of Changes
The API has undergone a fundamental architectural shift from app-centric messaging to session-centric messaging:
Slimapplication instance with session IDsSessionobjects1. Dependency Updates
Update your requirements
2. Application Instance Management
Instance ID Access
Context Manager Usage
Migration: Remove
async with app:context managers, replaceapp.get_id()withapp.id_strorapp.id.3. Session Configuration (Major Changes)
The session configuration system has been completely redesigned around communication patterns.
Old Session Types → New Session Types
Fire-and-Forget → PointToPoint
Streaming → Group
Migration Mapping:
FireAndForget(sticky=True)→PointToPoint(peer_name=target)Streaming(BIDIRECTIONAL, topic=X)→Group(channel_name=X)5. Message Sending
The message sending API has moved from app-level methods to session-level methods.
Basic Message Publishing
Reply to Received Messages
6. Message Receiving
Message receiving has changed from app-level session management to session-level message handling.
Waiting for New Sessions
Receiving Messages from Sessions
Message Context Changes
7. Session Lifecycle Management
Session Object Usage
Multiple Session Handling
8. Group Management (Invitations)
Inviting Participants
9. Error Handling Changes
Session-Related Errors
10. Complete Migration Checklist
Phase 1: Dependencies and Basic Setup
slim-bindingsto>=0.6.0app.get_id()withapp.id_strasync with app:context managersPhase 2: Session Configuration
FireAndForget(sticky=True)→PointToPoint(peer_name=target)Streaming(BIDIRECTIONAL)→Group(channel_name=topic)Phase 3: Message Sending
app.publish()withsession.publish()app.publish_to()withsession.publish_to()Phase 4: Message Receiving
app.receive()withapp.listen_for_session()for new sessionsapp.receive(session=id)withsession.get_message()msg_ctx.source_namevssession_info.destination_name)Phase 5: Session Management
app.invite()withsession.invite()Phase 6: Testing and Validation
11. Key Benefits of Migration
After migration, your code will benefit from:
The new API design makes the communication patterns more explicit and provides a cleaner separation of concerns between application-level and session-level operations.
🔧 Developer Experience Improvements
SessionContextandNotificationtypes🚀 Performance Improvements
📚 Documentation & Examples
🤝 Contributing
We welcome contributions! This release includes numerous community-driven improvements. Check out our Contributing Guide to get started.
📞 Support & Community
Happy messaging with SLIM v0.6.0! 🎉
Beta Was this translation helpful? Give feedback.
All reactions