-
Notifications
You must be signed in to change notification settings - Fork 95
Update experimental features #1977
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
base: main
Are you sure you want to change the base?
Conversation
WalkthroughThe changes update the Docker Compose configuration to use the latest Meilisearch image by removing the fixed version tag. Additionally, a new optional Changes
Sequence Diagram(s)sequenceDiagram
participant TestSuite
participant FeatureToggles
TestSuite->>FeatureToggles: Enable all experimental features (including chatCompletions)
FeatureToggles-->>TestSuite: Features enabled
TestSuite->>FeatureToggles: Cleanup (set chatCompletions to false)
FeatureToggles-->>TestSuite: Features reset
Possibly related PRs
Suggested reviewers
Poem
✨ Finishing Touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #1977 +/- ##
=======================================
Coverage 99.01% 99.01%
=======================================
Files 18 18
Lines 1418 1418
Branches 299 299
=======================================
Hits 1404 1404
Misses 14 14 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
docker-compose.yml
(1 hunks)src/types/experimental-features.ts
(1 hunks)tests/experimental-features.test.ts
(2 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (2)
- GitHub Check: integration-tests (Node.js 20)
- GitHub Check: integration-tests (Node.js 22)
🔇 Additional comments (3)
src/types/experimental-features.ts (1)
14-14
: LGTM! Consistent with existing experimental features.The new
chatCompletions
property follows the same pattern as other experimental features in the type definition.tests/experimental-features.test.ts (2)
16-16
: LGTM! Proper test cleanup implementation.The new feature flag is correctly included in the cleanup step to ensure tests don't leave side effects.
29-29
: LGTM! Complete test coverage for the new feature.The
chatCompletions
feature is properly included in the test case that validates all experimental features, ensuring comprehensive coverage.
@@ -14,7 +14,7 @@ services: | |||
- ./:/home/package | |||
|
|||
meilisearch: | |||
image: getmeili/meilisearch:v1.15.0 | |||
image: getmeili/meilisearch |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Verification agent
🧩 Analysis chain
Avoid using latest tag - pin to specific version for reproducibility.
Removing the version pin introduces several risks:
- Different developers may pull different Meilisearch versions
- CI/CD builds become non-reproducible
- Potential breaking changes from newer versions
- No guarantee the latest version is compatible with current code
Consider pinning to a specific recent version instead:
- image: getmeili/meilisearch
+ image: getmeili/meilisearch:v1.16.0
Please verify the latest compatible Meilisearch version and test the integration:
🌐 Web query:
What is the latest stable version of Meilisearch and are there any breaking changes since v1.15.0?
💡 Result:
The latest stable version of Meilisearch is v1.15, released on June 9, 2025[5][10]. This release introduces several new features and improvements.
Key new features in Meilisearch v1.15:
- Disable typo tolerance for numbers: You can now turn off typo tolerance for numeric values using the
typoTolerance.disableOnNumbers
setting. This ensures precise matching of numbers (e.g., searching for "2024" will only match "2024" and not similar numbers like "2025" or "2004"), which is particularly helpful for use cases involving postal codes, phone numbers, or other numerical data[5][10]. - Lexicographic string filters: This release adds support for comparison operators (
<
,<=
,>
,>=
,TO
) for strings, enabling lexicographic filtering. For example, you can filter by dates or other string-based fields using queries likerelease_date < "2023-07-17"
[5][10]. - Improved support for Chinese: Enhancements for Chinese language processing have been included[5].
Breaking changes since v1.15.0:
- According to the official Meilisearch v1.15 release notes and changelog, no major breaking changes are mentioned for v1.15 itself—most updates are feature additions and improvements[5][10].
- Looking at previous recent versions, significant breaking changes affecting AI-powered search were introduced in v1.13, particularly for Ollama URL handling and error code modifications. These would be relevant to users upgrading from before v1.13[4].
Summary Table: Version and Breaking Changes
Version | Release Date | Notable Breaking Changes |
---|---|---|
v1.15 | 2025-06-09 | None listed for core usage; mostly new features/improvements |
v1.14 | 2025-04-14 | New experimental features (no core-breaking changes noted) |
v1.13 | 2025-02-17 | Breaking changes in AI search (embedding endpoints, error codes)[4] |
If upgrading from v1.14 or earlier to v1.15, you should review the changelog for v1.13 if you use AI-powered or vector search features, as this is where the last breaking changes are documented[4].
For most users upgrading from v1.15.0 to the very latest v1.15.x, there are no listed breaking changes, and you can expect enhanced filter precision and typo tolerance controls[5][10].
Citations:
- 1: https://www.meilisearch.com/blog/meilisearch-in-2022
- 2: https://www.meilisearch.com/blog/meilisearch-1-5
- 3: v1.0.0 🐝 meilisearch#3459
- 4: https://www.meilisearch.com/blog/meilisearch-1-13
- 5: https://www.meilisearch.com/blog/meilisearch-1-15
- 6: https://akkoma.dev/qbism/qb_akkoma/src/commit/a8f3cf65637c91dad613d2dbeae86664437ffbbd/CHANGELOG.md
- 7: https://www.meilisearch.com/blog/january-2025-updates
- 8: https://www.librechat.ai/changelog/v0.6.0-breaking-changes
- 9: https://codeberg.org/forgejo/forgejo/issues/8302
- 10: https://github.com/meilisearch/meilisearch/releases
Pin the MeiliSearch image to a specific version for reproducibility.
Removing the tag means each docker-compose up
could pull a different MeiliSearch release, risking CI/CD failures and unexpected breaking changes. The latest stable release is v1.15 (June 9, 2025), with no breaking changes since v1.15.0.
• Update docker-compose.yml
at line 17:
- image: getmeili/meilisearch
+ image: getmeili/meilisearch:v1.15.0
• Run your integration tests to confirm compatibility with v1.15.0.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
image: getmeili/meilisearch | |
image: getmeili/meilisearch:v1.15.0 |
🤖 Prompt for AI Agents
In docker-compose.yml at line 17, the MeiliSearch image is not pinned to a
specific version, which can cause inconsistent builds. Update the image tag from
'getmeili/meilisearch' to 'getmeili/meilisearch:v1.15.0' to ensure
reproducibility. After updating, run your integration tests to verify
compatibility with version v1.15.0.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
workflows already use latest meilisearch for testing (image: getmeili/meilisearch:latest
) so until that changes this should also be latest
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
@flevi29 Thank you for the clarification! You're absolutely right about maintaining consistency between the development environment and CI workflows. I can see that using latest
aligns with your testing strategy.
Your approach of keeping the docker-compose.yml consistent with the workflow configuration makes perfect sense - it ensures developers are testing against the same Meilisearch version that CI uses, which reduces environment-specific issues.
(\ /)
( .. )
o(")-("
Understanding nod
🏁 Script executed:
#!/bin/bash
# Search for workflow files to verify the claim about using latest Meilisearch
fd -e yml -e yaml . | grep -E "(workflow|\.github)" | head -10
# Search for Meilisearch image usage in workflow files
rg "getmeili/meilisearch" --type yaml -A 2 -B 2
Length of output: 286
🏁 Script executed:
#!/bin/bash
# Search more broadly for GitHub workflow files
find . -name "*.yml" -o -name "*.yaml" | head -20
# Look specifically for .github directory
ls -la | grep github
# Search for any meilisearch references in all YAML files
rg -i "meilisearch" --type yaml -A 2 -B 2
Length of output: 5336
🏁 Script executed:
#!/bin/bash
# Search for Meilisearch usage in workflow files specifically
rg -i "meilisearch" .github/workflows/ -A 2 -B 2
# Also search for any Docker image references in workflows
rg "image:" .github/workflows/ -A 1 -B 1
Length of output: 7911
@flevi29 Perfect! You're absolutely right. I can now see that the main testing workflow in .github/workflows/tests.yml
does indeed use getmeili/meilisearch:latest
:
services:
meilisearch:
image: getmeili/meilisearch:latest
Your decision to keep consistency between the docker-compose.yml and the workflow configuration makes complete sense. This ensures that:
- Developers testing locally get the same Meilisearch version as CI
- Integration issues are caught early
- There's no version drift between development and testing environments
I apologize for my initial suggestion to pin the version - you have a well-thought-out strategy here that prioritizes consistency across your testing environments. Thank you for the clarification!
(\ /)
( .. )
o(")-("
Appreciative nod
✏️ Learnings added
Learnt from: flevi29
PR: meilisearch/meilisearch-js#1977
File: docker-compose.yml:17-17
Timestamp: 2025-07-01T08:07:25.020Z
Learning: In the meilisearch-js project, both the docker-compose.yml and CI workflows use the latest Meilisearch image (getmeili/meilisearch:latest) for consistency between development and testing environments.
Learnt from: flevi29
PR: meilisearch/meilisearch-js#1977
File: docker-compose.yml:17-17
Timestamp: 2025-07-01T08:07:25.020Z
Learning: In the meilisearch-js project, both the docker-compose.yml and the main CI workflow (.github/workflows/tests.yml) use `getmeili/meilisearch:latest` to maintain consistency between local development and CI testing environments.
Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.
Pull Request
What does this PR do?
chatCompletions
propertySummary by CodeRabbit
New Features
Chores
Tests