# Merged pull requests by Sumaia Aktar

Total: 97 merged across laravel/framework and laravel/ai. Laravel 13 release contributor (https://github.com/laravel/framework/releases/tag/v13.0.0). GitHub: https://github.com/sumaiazaman

## laravel/framework - 60 merged

Focus: Queues · Cache · Validation. Search: https://github.com/laravel/framework/pulls?q=is%3Apr+author%3Asumaiazaman+is%3Amerged

- #62178 [13.x] Fix `distinct:ignore_case` throwing on values that are not valid UTF-8 (quality, Oct 26, 2026) - https://github.com/laravel/framework/pull/62178
- #62083 [13.x] Release the unique lock when dispatching a scheduled job fails (quality, Oct 18, 2026) - https://github.com/laravel/framework/pull/62083
- #62084 [13.x] Fix altering SQLite tables with a foreign key to a table name that needs quoting (quality, Oct 18, 2026) - https://github.com/laravel/framework/pull/62084
- #62032 [13.x] Fix `encrypted:object` and `encrypted:collection` casts always being dirty (quality, Oct 15, 2026) - https://github.com/laravel/framework/pull/62032
- #62009 [13.x] Fix `has()` and `withCount()` on self-referencing one-of-many relations (quality, Oct 14, 2026) - https://github.com/laravel/framework/pull/62009
- #62010 [13.x] Release the unique lock when pushing a job to the queue fails (quality, Oct 14, 2026) - https://github.com/laravel/framework/pull/62010
- #61991 [13.x] Fix extra attributes skipping casts when incrementing or decrementing a model (quality, Oct 13, 2026) - https://github.com/laravel/framework/pull/61991
- #61974 [13.x] Fix unique queued listener locks not being released when the transaction is rolled back (quality, Oct 12, 2026) - https://github.com/laravel/framework/pull/61974
- #61973 [13.x] Fix scheduled callbacks rethrowing a previous exception on later runs (quality, Oct 12, 2026) - https://github.com/laravel/framework/pull/61973
- #61960 [14.x] Fix route binding rejecting string keys on non-incrementing models (quality, Oct 11, 2026) - https://github.com/laravel/framework/pull/61960
- #61959 [13.x] Fix `Notification::locale()` being applied to later notifications (quality, Oct 11, 2026) - https://github.com/laravel/framework/pull/61959
- #61747 [13.x] Fix `wherePivotBetween()` being ignored by `sync()`, `detach()` and `updateExistingPivot()` (quality, Sep 28, 2026) - https://github.com/laravel/framework/pull/61747
- #61749 [14.x] Fix faking the on-demand disk hijacking scoped and read-through disks (quality, Sep 28, 2026) - https://github.com/laravel/framework/pull/61749
- #61748 [13.x] Fix Redis throttle returning a timestamp as the remaining attempts (quality, Sep 28, 2026) - https://github.com/laravel/framework/pull/61748
- #61750 [14.x] Fix `report()` passing a `null` log level to the exception handler (quality, Sep 27, 2026) - https://github.com/laravel/framework/pull/61750
- #61742 [13.x] Fix Memcached locks longer than 30 days expiring immediately (quality, Sep 26, 2026) - https://github.com/laravel/framework/pull/61742
- #61702 [14.x] Forward `isReporting()` and `buildContextForException()` in `ExceptionHandlerFake` (quality, Sep 24, 2026) - https://github.com/laravel/framework/pull/61702
- #61699 [13.x] Fix `sortBy()` with multiple columns and `SORT_NUMERIC` truncating fractional values (quality, Sep 24, 2026) - https://github.com/laravel/framework/pull/61699
- #61703 [14.x] Fix `findOr()` and `findOrFail()` with an array of enum ids (quality, Sep 24, 2026) - https://github.com/laravel/framework/pull/61703
- #61701 [14.x] Fix `queue:pause` passing the connection and queue in the wrong order (quality, Sep 24, 2026) - https://github.com/laravel/framework/pull/61701
- #61700 [13.x] Fix `trans_choice()` picking the wrong plural form for negative numbers (quality, Sep 24, 2026) - https://github.com/laravel/framework/pull/61700
- #61690 [13.x] Fix `PhpRedisLock::refresh()` when phpredis serialization is enabled (quality, Sep 23, 2026) - https://github.com/laravel/framework/pull/61690
- #61691 [13.x] Fix `Number::parseInt()` returning false for values above 32-bit range (quality, Sep 23, 2026) - https://github.com/laravel/framework/pull/61691
- #59850 [13.x] Implement CanFlushLocks on NullStore and MemoizedStore (quality, Apr 27, 2026) - https://github.com/laravel/framework/pull/59850
- #59844 [13.x] Fix flaky DynamoBatchTest timing assertions (fix, Apr 24, 2026) - https://github.com/laravel/framework/pull/59844
- #59821 [13.x] Fix PendingDispatch resolving Cache for every dispatched job (performance, Apr 23, 2026) - https://github.com/laravel/framework/pull/59821
- #59738 [13.x] Implement CanFlushLocks on FailoverStore (quality, Apr 18, 2026) - https://github.com/laravel/framework/pull/59738
- #59761 [13.x] Ignore PHPUnit security advisory GHSA-qrr6-mg7r-m243 (security, Apr 18, 2026) - https://github.com/laravel/framework/pull/59761
- #59739 [13.x] Cast to string before preg_match in decimal, max_digits, and min_digits rules (quality, Apr 17, 2026) - https://github.com/laravel/framework/pull/59739
- #59713 [13.x] Add enum support to BroadcastManager (quality, Apr 16, 2026) - https://github.com/laravel/framework/pull/59713
- #59714 [13.x] Add enum support to PasswordBrokerManager (quality, Apr 16, 2026) - https://github.com/laravel/framework/pull/59714
- #59717 [13.x] Fix TypeError in digits_between validation rule on non-string values (quality, Apr 16, 2026) - https://github.com/laravel/framework/pull/59717
- #59580 [13.x] Support #[Delay] attribute on queued mailables (quality, Apr 7, 2026) - https://github.com/laravel/framework/pull/59580
- #59574 [13.x] Add flushState to FormRequest to reset global strict mode between tests (quality, Apr 7, 2026) - https://github.com/laravel/framework/pull/59574
- #59576 [13.x] Fix deprecation warning in In and NotIn rules when values contain null (quality, Apr 7, 2026) - https://github.com/laravel/framework/pull/59576
- #59554 [13.x] Fix Str::markdown() and Str::inlineMarkdown() crash on null input (quality, Apr 6, 2026) - https://github.com/laravel/framework/pull/59554
- #59561 [13.x] Fix deprecation warning in Contains and DoesntContain rules when values contain null (quality, Apr 6, 2026) - https://github.com/laravel/framework/pull/59561
- #59541 [13.x] Fix TypeError in starts_with/ends_with validation rules on non-string values (quality, Apr 5, 2026) - https://github.com/laravel/framework/pull/59541
- #59513 [13.x] Use #[Delay] attribute in NotificationSender (quality, Apr 3, 2026) - https://github.com/laravel/framework/pull/59513
- #59514 [13.x] Use #[Delay] attribute in Bus Dispatcher (quality, Apr 3, 2026) - https://github.com/laravel/framework/pull/59514
- #59493 [13.x] Fix static closure binding in remaining manager classes (quality, Apr 2, 2026) - https://github.com/laravel/framework/pull/59493
- #59494 [13.x] Add --ignore-scripts to yarn in BroadcastingInstallCommand (security, Apr 2, 2026) - https://github.com/laravel/framework/pull/59494
- #59435 [13.x] Cache getLockForPopping() result in DatabaseQueue (performance, Mar 30, 2026) - https://github.com/laravel/framework/pull/59435
- #59443 [13.x] Add assertHasNoAttachments() method to Mailable (quality, Mar 30, 2026) - https://github.com/laravel/framework/pull/59443
- #59444 [13.x] Fix sum() docblock to include key parameter in callback signature (quality, Mar 30, 2026) - https://github.com/laravel/framework/pull/59444
- #59413 [13.x] Add withoutFragment() method to Uri class (quality, Mar 28, 2026) - https://github.com/laravel/framework/pull/59413
- #59391 [13.x] Add enum support to LogManager channel and driver methods (quality, Mar 27, 2026) - https://github.com/laravel/framework/pull/59391
- #59407 [13.x] Add missing capitalize parameter to Stringable::initials() (quality, Mar 27, 2026) - https://github.com/laravel/framework/pull/59407
- #59408 [13.x] Add isNotEmpty() method to Uri class (quality, Mar 27, 2026) - https://github.com/laravel/framework/pull/59408
- #59389 [13.x] Add enum support to QueueManager connection methods (quality, Mar 26, 2026) - https://github.com/laravel/framework/pull/59389
- #59098 [13.x] Use constructor promotion and typed properties in cache flush events (quality, Mar 5, 2026) - https://github.com/laravel/framework/pull/59098
- #59064 [13.x] Rename $key to $offset in ArrayAccess methods to match PHP interface contract (quality, Mar 4, 2026) - https://github.com/laravel/framework/pull/59064
- #57924 [13.x] Simplify preg_replace_array callback by removing unnecessary foreach loop (quality, Nov 26, 2025) - https://github.com/laravel/framework/pull/57924
- #57902 [12.x] Fix flaky test in ArraySessionHandler (expired session) (fix, Nov 25, 2025) - https://github.com/laravel/framework/pull/57902
- #57903 [12.x] Fix flaky test in ArraySessionHandler (almost expired session) (fix, Nov 25, 2025) - https://github.com/laravel/framework/pull/57903
- #57904 [12.x] Fix flaky test in ArraySessionHandler (garbage collection) (fix, Nov 25, 2025) - https://github.com/laravel/framework/pull/57904
- #57905 [12.x] Fix flaky test in CacheArrayStore (increment) (fix, Nov 25, 2025) - https://github.com/laravel/framework/pull/57905
- #57644 [12.x] Remove unused closure parameters in DatabaseServiceProvider (quality, Nov 3, 2025) - https://github.com/laravel/framework/pull/57644
- #57452 [12.x] Add missing @throws annotations to Database Connection class (quality, Oct 20, 2025) - https://github.com/laravel/framework/pull/57452
- #57451 [12.x] Add missing @throws annotations to Encrypter class (quality, Oct 20, 2025) - https://github.com/laravel/framework/pull/57451

## laravel/ai - 37 merged

Focus: Provider gateways · Failover. Search: https://github.com/laravel/ai/pulls?q=is%3Apr+author%3Asumaiazaman+is%3Amerged

- #644 Add JSON_UNESCAPED_UNICODE to schema instruction encoding (feature, May 22, 2026) - https://github.com/laravel/ai/pull/644
- #633 Apply model attribute and explicit model to all providers in a failover list (feature, May 22, 2026) - https://github.com/laravel/ai/pull/633
- #613 Reject blank URL in RemoteDocument, RemoteImage, and RemoteAudio constructors (security, May 17, 2026) - https://github.com/laravel/ai/pull/613
- #610 Capture missing usage details across OpenAI-shaped providers (performance, May 17, 2026) - https://github.com/laravel/ai/pull/610
- #606 Throw InsufficientCreditsException for OpenRouter and DeepSeek credit errors (feature, May 17, 2026) - https://github.com/laravel/ai/pull/606
- #587 Rehydrate attachments when loading conversation history (feature, May 14, 2026) - https://github.com/laravel/ai/pull/587
- #589 Respect configured database connection in Conversation and ConversationMessage models (feature, May 14, 2026) - https://github.com/laravel/ai/pull/589
- #536 Broadcast stream_failed event when BroadcastAgent job fails (feature, May 9, 2026) - https://github.com/laravel/ai/pull/536
- #474 Add config option to disable LLM-generated conversation titles (feature, May 7, 2026) - https://github.com/laravel/ai/pull/474
- #469 Allow configuring the database connection for DatabaseConversationStore (feature, May 6, 2026) - https://github.com/laravel/ai/pull/469
- #502 Add error handling tests for xAI image generation (feature, May 5, 2026) - https://github.com/laravel/ai/pull/502
- #498 Add error handling tests for OpenRouter embeddings (feature, May 5, 2026) - https://github.com/laravel/ai/pull/498
- #501 Add error handling tests for OpenAI transcription (feature, May 5, 2026) - https://github.com/laravel/ai/pull/501
- #497 Add error handling tests for Azure OpenAI embeddings (feature, May 5, 2026) - https://github.com/laravel/ai/pull/497
- #494 Add diarize and error handling tests for Mistral transcription (feature, May 5, 2026) - https://github.com/laravel/ai/pull/494
- #496 Add error handling tests for Ollama embeddings (feature, May 5, 2026) - https://github.com/laravel/ai/pull/496
- #495 Add error handling tests for Mistral embeddings (feature, May 5, 2026) - https://github.com/laravel/ai/pull/495
- #473 Reindex tool calls and results before persisting to prevent JSON object encoding (quality, May 2, 2026) - https://github.com/laravel/ai/pull/473
- #471 Add audio feature tests for OpenAI provider (feature, Apr 29, 2026) - https://github.com/laravel/ai/pull/471
- #468 Add transcription feature tests for OpenAI provider (feature, Apr 29, 2026) - https://github.com/laravel/ai/pull/468
- #467 Add embedding feature tests for OpenAI provider (feature, Apr 29, 2026) - https://github.com/laravel/ai/pull/467
- #472 Support configurable base URL for ElevenLabs provider (feature, Apr 29, 2026) - https://github.com/laravel/ai/pull/472
- #470 Support configurable base URL for Jina provider (feature, Apr 29, 2026) - https://github.com/laravel/ai/pull/470
- #449 Add image generation feature tests for Gemini provider (feature, Apr 25, 2026) - https://github.com/laravel/ai/pull/449
- #451 Add base URL feature tests for VoyageAi provider (feature, Apr 25, 2026) - https://github.com/laravel/ai/pull/451
- #450 Add embedding feature tests for Gemini provider (feature, Apr 25, 2026) - https://github.com/laravel/ai/pull/450
- #447 Add image generation feature tests for xAI provider (feature, Apr 25, 2026) - https://github.com/laravel/ai/pull/447
- #448 Add error handling feature tests for ElevenLabs, Cohere, Jina, and VoyageAi (feature, Apr 24, 2026) - https://github.com/laravel/ai/pull/448
- #452 Add configurable URL support and base URL tests for Cohere provider (feature, Apr 24, 2026) - https://github.com/laravel/ai/pull/452
- #438 Add message mapping test suite for DeepSeek provider (feature, Apr 23, 2026) - https://github.com/laravel/ai/pull/438
- #439 Add provider options test suite for DeepSeek provider (feature, Apr 23, 2026) - https://github.com/laravel/ai/pull/439
- #440 Add tool mapping test suite for DeepSeek provider (feature, Apr 23, 2026) - https://github.com/laravel/ai/pull/440
- #437 Add agent fake test suite for DeepSeek provider (feature, Apr 22, 2026) - https://github.com/laravel/ai/pull/437
- #422 Remove redundant match expressions in ElevenLabsGateway (quality, Apr 20, 2026) - https://github.com/laravel/ai/pull/422
- #423 Add HandlesFailoverErrors to CohereGateway and JinaGateway (feature, Apr 18, 2026) - https://github.com/laravel/ai/pull/423
- #424 Add HandlesFailoverErrors to VoyageAiGateway (feature, Apr 18, 2026) - https://github.com/laravel/ai/pull/424
- #353 [0.x] Fix HasTools::tools() return type to accept ProviderTool (quality, Apr 15, 2026) - https://github.com/laravel/ai/pull/353
