Skip to content

chore(deps): Update thiserror requirement from 1.0 to 2.0#3

Open
dependabot[bot] wants to merge 1 commit intomasterfrom
dependabot/cargo/thiserror-2.0
Open

chore(deps): Update thiserror requirement from 1.0 to 2.0#3
dependabot[bot] wants to merge 1 commit intomasterfrom
dependabot/cargo/thiserror-2.0

Conversation

@dependabot
Copy link

@dependabot dependabot bot commented on behalf of github Nov 26, 2025

Updates the requirements on thiserror to permit the latest version.

Release notes

Sourced from thiserror's releases.

2.0.17

  • Use differently named __private module per patch release (#434)
Commits
  • 72ae716 Release 2.0.17
  • 599fdce Merge pull request #434 from dtolnay/private
  • 9ec05f6 Use differently named __private module per patch release
  • d2c492b Raise minimum tested compiler to rust 1.76
  • fc3ab95 Opt in to generate-macro-expansion when building on docs.rs
  • 819fe29 Update ui test suite to nightly-2025-09-12
  • 259f48c Enforce trybuild >= 1.0.108
  • 470e6a6 Update ui test suite to nightly-2025-08-24
  • 544e191 Update actions/checkout@v4 -> v5
  • cbc1eba Delete duplicate cap-lints flag from build script
  • Additional commits viewable in compare view

You can trigger a rebase of this PR by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

@dependabot @github
Copy link
Author

dependabot bot commented on behalf of github Nov 26, 2025

Labels

The following labels could not be found: dependencies, rust. Please create them before Dependabot can add them to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@dependabot dependabot bot requested a review from petitan as a code owner November 26, 2025 21:36
@dependabot dependabot bot force-pushed the dependabot/cargo/thiserror-2.0 branch from 1030323 to 154ee40 Compare November 28, 2025 18:19
petitan added a commit that referenced this pull request Dec 4, 2025
BUG #2 FIX: update_many now correctly detects duplicates in nested fields
- BatchConstraintValidator.check_and_track() now uses get_nested_value()
  instead of doc.get() to support dot notation paths (e.g., "profile.code")
- Added unit tests for nested and deeply nested field duplicate detection

BUG #3 FIX: insert_many is now atomic for unique constraint violations
- validate_batch_constraints() now checks against EXISTING index entries
  in addition to within-batch duplicates
- Previously, batch_add_to_indexes could fail mid-way leaving partial state
- All constraint checks now happen BEFORE any writes, ensuring atomicity

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@dependabot dependabot bot force-pushed the dependabot/cargo/thiserror-2.0 branch 8 times, most recently from 42dbdc6 to 859e743 Compare December 14, 2025 18:15
petitan added a commit that referenced this pull request Dec 19, 2025
…ch updates

BUG #3 FIX: Added clear() method to BPlusTree and call it before
rebuild in apply_batch_updates(). Without this, build_from_sorted
was adding entries to the existing tree instead of replacing them,
causing duplicate document entries after update_many operations.

BUG #1 FIX: Extended batch_update_indexes() to also update fulltext
indexes when document fields change. Previously only btree indexes
were updated, leaving fulltext indexes stale after update_many.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
petitan added a commit that referenced this pull request Dec 19, 2025
Added 4 regression tests to prevent these bugs from recurring:

BUG #1 (fulltext index not updated after update_many):
- test_fulltext_index_updated_after_update_many: Verifies fulltext
  search returns correct results after bulk document updates

BUG #3 (duplicate index entries after update_many):
- test_apply_batch_updates_no_duplicates: Unit test for B+ tree
- test_clear_resets_tree: Unit test for new clear() method
- test_no_duplicate_documents_after_update_many: Integration test

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Updates the requirements on [thiserror](https://github.com/dtolnay/thiserror) to permit the latest version.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](dtolnay/thiserror@1.0.0...2.0.17)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-version: 2.0.17
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot force-pushed the dependabot/cargo/thiserror-2.0 branch from 859e743 to 3205f31 Compare December 20, 2025 07:21
petitan added a commit that referenced this pull request Dec 20, 2025
Changes:
- Add WiX manifest (mcp-server/wix/main.wxs) with:
  - Windows Service installation (auto-start)
  - Start Menu shortcuts (HTTP + stdio modes)
  - ProgramData folder for config/database
  - Upgrade support (MajorUpgrade)
- Add MIT License in RTF format for installer
- Update release.yml to build MSI installer

Also includes:
- fix(core): WAL ABORT on persist failure (BUG #5)
- fix(core): batch_update_indexes for compound/fuzzy/fulltext
- fix(core): collection_write_locks cleanup in drop_collection
- feat(tui): fulltext search modal with F3 shortcut
- test: regression tests for BUG #1, #3, schema cache

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
petitan added a commit that referenced this pull request Dec 21, 2025
…ation

BUG #1: $pull unknown operator now returns false (was true - caused data loss)
BUG #2: $inc uses saturating_add to prevent integer overflow corruption
BUG #3: Query cache uses consistent lock ordering to prevent TOCTOU race
BUG #4: $inc validates numeric values and returns error for non-numeric
BUG #5: $push $position validates non-negative values
BUG #6: compare_values uses integer comparison first for precision
BUG #7: $first/$last returns null instead of error for missing fields

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
petitan added a commit that referenced this pull request Dec 21, 2025
CRITICAL:
- BUG #1: Transaction commit/rollback now uses write lock (was read lock - race condition)
- BUG #2: max_operations=0 now uses default limit (was unlimited - DoS vulnerability)
- BUG #3: switch_database acquires write lock before existence check (TOCTOU fix)
- BUG #4: API key serialization uses ? instead of unwrap (was panic risk)

HIGH:
- BUG #5: Script versioning uses optimistic locking with version check (race condition fix)
- BUG #6: API key cache logs errors instead of silent ignore
- BUG #7: Script delete checks for dependent scripts before deletion
- BUG #8: TLS key file read once into memory, no double-open
- BUG #9: Collection flags update uses write lock (was read lock)

MEDIUM:
- BUG #10: Projection validation checks values before truncating cast
- BUG #12: Script name validation added (same rules as collection names)
- BUG #13: Directory creation failures logged instead of silent ignore
- BUG #14: All unwrap/expect calls replaced with proper error handling

NOT A BUG:
- BUG #11: parking_lot::Mutex doesn't poison (verified)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
petitan added a commit that referenced this pull request Dec 21, 2025
BUG #1: Signal handler panic - .expect() replaced with graceful error handling
BUG #2: Error response body read - unwrap_or_default() replaced with proper error handling
BUG #3: JSON serialization - .ok() replaced with serialize_response() helper
BUG #4: stdout write errors - detect broken pipe and exit gracefully
BUG #5: DoS via unbounded batch - add MAX_BATCH_SIZE limit (1000)
BUG #6: DoS via response size - add MAX_RESPONSE_SIZE limit (10MB)
BUG #7: SSRF via URL parsing - use url crate for proper URL construction
BUG #8: Insecure TLS mode - add prominent warning banner
BUG #9: Notification errors silent - log notification forward errors
BUG #10: Health check sleep overflow - cap backoff to MAX_HEALTH_BACKOFF_MS
BUG #11: Empty batch allowed - reject per JSON-RPC 2.0 spec
BUG #12: Missing jsonrpc validation - validate "2.0" version field

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
petitan added a commit that referenced this pull request Dec 21, 2025
CRITICAL:
- BUG #1: UTF-8 byte slicing in error.rs wrap_text() - use char count
- BUG #2: UTF-8 byte slicing in main.rs command bar truncation

HIGH:
- BUG #3: UTF-8 byte slicing in fulltext.rs format_doc_preview()
- BUG #4: UTF-8 byte slicing in api_key.rs truncate()
- BUG #5: Added timeout to stdio transport to prevent deadlock
- BUG #6: Unsafe unwrap in detail.rs - use if-let pattern
- BUG #7: Unsafe iterator unwrap in detail.rs - use while-let

All string slicing operations now use .chars().count() and
.chars().take(n).collect() for UTF-8 safety with Hungarian text.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
petitan added a commit that referenced this pull request Dec 26, 2025
Security fixes:
- #13: HTTP header case-insensitivity - Authorization header now accepts
  both "Bearer" and "bearer" prefix, with fallback to lowercase header name
- #14: tools/list info leak - admin_* tools now hidden from non-localhost
  callers to prevent information disclosure about admin capabilities
- #3: ACL TOCTOU documentation - added security comments explaining the
  minimal TOCTOU window in current architecture

Implementation details:
- Added get_tools_list_filtered(is_localhost: bool) function in tools.rs
- Updated http_server.rs to detect localhost and filter tools accordingly
- Case-insensitive Bearer token extraction in extract_api_key()

All 141 tests passing (75 unit + 66 integration).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
petitan added a commit that referenced this pull request Jan 6, 2026
Bug fixes for timeout/cancellation not being enforced in several code paths:

## Critical fixes (BUG #3, #4, #11)
- filter_doc_ids_by_query: Now checks deadline BEFORE expensive regex matching
- collect_doc_ids_for_logical_operator: Propagates cancel_flag/deadline to all branches (And/Or/Nor)
- distinct_with_ctx: Was ignoring ctx parameter, now properly extracts and passes deadline

## Medium severity fixes (BUG #1, #2, #5)
- FAST PATH: Added deadline check before returning cached/fast results
- collect_doc_ids_from_plan: Added cancel_flag/deadline parameters
- find_with_index: Added ctx parameters for future support

## ACID Safety
Write operations (insert/update/delete) explicitly pass None for deadline
to preserve atomicity - only READ operations can be interrupted.

## Documentation
- Added deadline propagation docs to QueryExecutionContext
- Added timeout behavior docs to filter_doc_ids_by_query

Propagation chain:
collect_doc_ids_with_options → collect_doc_ids_from_plan
  → collect_doc_ids_for_logical_operator → filter_doc_ids_by_query
  → scan_documents_with_early_termination

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
petitan added a commit that referenced this pull request Jan 14, 2026
Bug fixes for timeout/cancellation not being enforced in several code paths:

## Critical fixes (BUG #3, #4, #11)
- filter_doc_ids_by_query: Now checks deadline BEFORE expensive regex matching
- collect_doc_ids_for_logical_operator: Propagates cancel_flag/deadline to all branches (And/Or/Nor)
- distinct_with_ctx: Was ignoring ctx parameter, now properly extracts and passes deadline

## Medium severity fixes (BUG #1, #2, #5)
- FAST PATH: Added deadline check before returning cached/fast results
- collect_doc_ids_from_plan: Added cancel_flag/deadline parameters
- find_with_index: Added ctx parameters for future support

## ACID Safety
Write operations (insert/update/delete) explicitly pass None for deadline
to preserve atomicity - only READ operations can be interrupted.

## Documentation
- Added deadline propagation docs to QueryExecutionContext
- Added timeout behavior docs to filter_doc_ids_by_query

Propagation chain:
collect_doc_ids_with_options → collect_doc_ids_from_plan
  → collect_doc_ids_for_logical_operator → filter_doc_ids_by_query
  → scan_documents_with_early_termination

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
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.

0 participants