Skip to content

feat: add crates/version for shared semver utilities#3409

Merged
yujonglee merged 1 commit intomainfrom
devin/1769491965-crates-version
Jan 27, 2026
Merged

feat: add crates/version for shared semver utilities#3409
yujonglee merged 1 commit intomainfrom
devin/1769491965-crates-version

Conversation

@devin-ai-integration
Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration bot commented Jan 27, 2026

Summary

Creates a new crates/version crate to centralize semver utilities that can be shared across plugins. This is the first step toward enabling version-based feature gating in plugins/flag (which will be added in a follow-up).

The new crate provides:

  • Re-export of semver::Version for convenience
  • Helper functions: is_at_least, is_before, is_in_range, is_in_range_inclusive
  • Comprehensive tests including prerelease version handling

Updates plugins/fs-db to use hypr-version instead of depending on semver directly.

Review & Testing Checklist for Human

  • Verify bindings.gen.ts changes are expected - The regenerated file removed PingRequest, PingResponse types and the ping command. Confirm this removal is intentional and not a regression.
  • Confirm the thiserror dependency in crates/version/Cargo.toml is needed (it appears unused in the current implementation)
  • Run cargo test -p version and cargo test -p tauri-plugin-fs-db to verify tests pass

Notes

This PR sets up the foundation for version-based feature flags in plugins/flag as discussed. The actual integration with plugins/flag will come in a follow-up PR.

Link to Devin run: https://app.devin.ai/sessions/c9a0c464b8424e729737fb6133cc52c1
Requested by: @yujonglee


Open with Devin

- Create crates/version with version comparison utilities (is_at_least, is_before, is_in_range, is_in_range_inclusive)
- Re-export semver::Version for convenience
- Update plugins/fs-db to use hypr-version instead of semver directly
- Add comprehensive tests for version comparison functions

Co-Authored-By: yujonglee <yujonglee.dev@gmail.com>
@netlify
Copy link
Copy Markdown

netlify bot commented Jan 27, 2026

Deploy Preview for hyprnote canceled.

Name Link
🔨 Latest commit d06342c
🔍 Latest deploy log https://app.netlify.com/projects/hyprnote/deploys/697850ada265db0008764a49

@netlify
Copy link
Copy Markdown

netlify bot commented Jan 27, 2026

Deploy Preview for hyprnote-storybook canceled.

Name Link
🔨 Latest commit d06342c
🔍 Latest deploy log https://app.netlify.com/projects/hyprnote-storybook/deploys/697850ad3096a900080096c5

@devin-ai-integration
Copy link
Copy Markdown
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR that start with 'DevinAI' or '@devin'.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@netlify
Copy link
Copy Markdown

netlify bot commented Jan 27, 2026

Deploy Preview for howto-fix-macos-audio-selection failed.

Name Link
🔨 Latest commit d06342c
🔍 Latest deploy log https://app.netlify.com/projects/howto-fix-macos-audio-selection/deploys/697850af54ad5500085905cd

Copy link
Copy Markdown
Contributor Author

@devin-ai-integration devin-ai-integration bot left a comment

Choose a reason for hiding this comment

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

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 3 additional flags.

Open in Devin Review

@yujonglee yujonglee merged commit a3c7e11 into main Jan 27, 2026
22 of 26 checks passed
@yujonglee yujonglee deleted the devin/1769491965-crates-version branch January 27, 2026 07:54
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