Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v0.4.0 #22

Open
wants to merge 7 commits into
base: main
Choose a base branch
from
Open

Release v0.4.0 #22

wants to merge 7 commits into from

Conversation

bsbodden
Copy link
Contributor

@bsbodden bsbodden commented Apr 5, 2025

@abrookins
Copy link
Contributor

🔥 🔥

@tylerhutcherson tylerhutcherson added the enhancement New feature or request label Apr 7, 2025
Copy link
Contributor

@tylerhutcherson tylerhutcherson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very nice. Left a question and a comment. But good from my perspective after that.

pyproject.toml Outdated
redisvl = "^0.4.1"
redis = "^5.2.1"
python-ulid = "^3.0.0"
langgraph = "^0.2.70"
langgraph = "0.3.25"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generally for a package like ours, we probably don't want to force 0.3.25 langgraph. Unless we have a reason, we should likely just pin to 0.3.x. Maybe ^0.3.0?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, sorry to barge into this discussion. I was trying to create a PR to bump up langgraph version and noticed that this PR already addresses it.
There are libraries like langgraph-supervisor, langgraph-swarm which depends on recent langgraph versions. It would be good to bump up the version to latest or 4 or 5 versions older. Say 0.3.20.
For e.g. here is the error we ran into:

The conflict is caused by:
      The user requested langgraph==0.3.22
      langgraph-supervisor 0.0.15 depends on langgraph<0.4.0 and >=0.3.5
      langgraph-checkpoint-redis 0.0.3 depends on langgraph<0.3.0 and >=0.2.70

Thank you in advance!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes for sure, we intend to support this. Supporting a less restrictive range of the langgraph library would accomplish this!

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @tylerhutcherson, sorry to bug you.
Would it take more time to get this merged? If so, does it make sense to separate langgraph upgrade to a separate PR which will unblock us? Thanks in advance!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Definitely understand the urgency, thanks for your input and patience! Lots of updates to be made and some small breaking changes we needed to fix to support latest langgraph updates.

You can help us here if you want by installing the package from this branch in the meantime. We are working on updating example notebooks and then we will be ready to cut a patch release.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@satyaprakash1729 PR is ready, waiting for team review and we'll release if everything looks good

bsbodden added 7 commits April 8, 2025 17:42
#23)

- Add Time-To-Live (TTL) functionality to Redis store implementation TTL using Redis's native TTL functionality
- Update dependency to langgraph ^0.3.0 with proper import handling for create_react_agent and fix various type errors to ensure linting sanity.
- Added null checks for connection_args to satisfy mypy type checking.
- Implemented the URL environment variable handling directly in our code.
  Adds proper Redis client identification using SET_CLIENT_INFO for both synchronous and asynchronous clients. Includes graceful fallback to echo when the command is not
  available and comprehensive tests for both checkpoint and store components.
…#13)

  Add cleanup logic to AsyncShallowRedisSaver and ShallowRedisSaver to delete
  old blobs and writes when storing new checkpoints. This prevents memory bloat
  when using shallow savers, which should only keep the latest checkpoint state.
  Add comprehensive test to verify the fix works correctly.
  Update previously skipped tests to work without external dependencies:
  - Replace test_batch_order with a functional test of batch operations
  - Implement memory_persistence test using sequential store connections
  - Convert LLM-dependent tests to use mock agents instead of real OpenAI
  - Fix root_graph_checkpoint tests to use proper configuration format
  - Add proper cleanup to ShallowRedisSaver implementations

  All tests now run successfully without API keys or special setup.
  - Add transaction handling to AsyncRedisSaver.aput and aput_writes methods
  - Add transaction handling to AsyncShallowRedisSaver.aput method
  - Fix typing issue in shallow.py
  - Add comprehensive tests for interruption handling
  - Ensure atomic operations in Redis using pipeline with transaction=True
  - Proper handling of asyncio.CancelledError during interruptions
@bsbodden bsbodden marked this pull request as ready for review April 9, 2025 00:46
@bsbodden bsbodden self-assigned this Apr 9, 2025
@bsbodden bsbodden changed the title feat(redis): implement TTL support and upgrade langgraph to 0.3.25 Release v0.4.0 Apr 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants