Changes for version 0.49 - 2026-01-22

  • [IMPROVEMENT] Fixed ResultSet->slice to correctly return a ResultSet in scalar context.
  • [IMPROVEMENT] Fixed ResultSet->count to respect slices (LIMIT/OFFSET) by using subqueries in the async worker.
  • [IMPROVEMENT] Ensure result_class persists across chained search() calls.
  • [IMPROVEMENT] Fixed constructor (new) to correctly store and inherit result_class, rows, and pager attributes.
  • [IMPROVEMENT] Fixed argument passing in Async.pm to ensure attributes ($attrs) reach the background worker for count operations.
  • [TEST] Fixed t/43-result-class.t to verify result_class persistence.
  • [TEST] Fixed t/26-slice.t to test comprehensive slicing and chaining behaviour against a real SQLite database.
  • [TEST] Added t/57-count-performance.t to benchmark and verify the overhead of asynchronous subquery counting.

Modules

Asynchronous database operations for DBIx::Class
Non-blocking row-level CRUD for DBIx::Class::Async
Asynchronous resultset for DBIx::Class::Async
Asynchronous pagination handling for Async ResultSets
Asynchronous row object for DBIx::Class::Async
Asynchronous schema for DBIx::Class::Async
Storage Layer for DBIx::Class::Async
DBI-based async storage backend for DBIx::Class::Async
Asynchronous cursor for DBIx::Class ResultSets using Futures