> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://buildwithfern.com/learn/llms.txt. ## 5.14.8 **`(fix):`** Fix `construct_type` crash on bare unparameterized `dict`, `list`, and `set` types. Previously, `get_args()` on a bare container returned an empty tuple, causing `ValueError` (dict) or `IndexError` (list/set). Now falls back to returning the object unchanged, matching `Dict[Any, Any]` / `List[Any]` / `Set[Any]` semantics. ## 5.14.7 **`(fix):`** Fix offset pagination so generated `list` endpoints emit a real `_has_next` instead of the literal `True`. When the API declares `has-next-page` on the pagination config, the generator now reads that response field (`bool(_parsed_response.)`); otherwise it falls back to `len(_items or []) > 0`, matching the TypeScript generator's `(r?.data ?? []).length > 0` semantics. Previously every offset-paginated method hardcoded `_has_next = True`, so `while pager.has_next: pager = pager.next_page()` loops never terminated. `for x in pager` worked only because the core paginator stops iteration when `get_next()` returns an empty page. Also harden the offset paginator against two latent crashes: nested `has-next-page` paths (e.g. `$response.metadata.hasNext`) are now wrapped in a `_parsed_response.metadata is not None` guard mirroring the cursor paginator, and `_has_next`/`_get_next` are pre-initialized so endpoints with an optional response type no longer raise `NameError` when the server returns a null body.