Skip to content
This repository was archived by the owner on Aug 14, 2026. It is now read-only.

Commit 31bff15

Browse files
committed
Bumped version to v1.2.0
1 parent e58b747 commit 31bff15

5 files changed

Lines changed: 238 additions & 71 deletions

File tree

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
## v1.2.0 (2026-08-11)
2+
3+
### What's Changed
4+
5+
* Payload handlers are now **stateless**: the request model is built per-call instead of being stored on the handler, so shared/singleton handlers are safe under concurrent (including async) requests.
6+
* Handler `req_model`, `resp_model` and `dry` can now be declared as class attributes, in addition to `__init__` arguments (backward compatible).
7+
* Added sync/async type markers `_Sync`, `_Async` and the `_Mode` `TypeVar`, enabling correctly-typed async clients through overloads.
8+
* `APIClient` now dispatches requests via `__getattr__` instead of `__getattribute__` (faster; only triggered on an attribute miss).
9+
* The `httpx` client is now created lazily and can be closed: added `close()`/`aclose()` and (async) context-manager support. Importing a client no longer opens connections.
10+
* Request `timeout` is now configurable (default: 10s).
11+
* Non-JSON or empty response bodies no longer raise `JSONDecodeError`; `APIResponse` now decodes defensively.
12+
* `PayloadBaseModel.from_args` now raises on duplicate or excess positional arguments.
13+
14+
115
## v1.1.1 (2026-08-08)
216

317
### What's Changed

pyproject.toml

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
44

55
[project]
66
name = "integrify-core"
7-
version = "1.1.1"
7+
version = "1.2.0"
88
description = "Integrify API inteqrasiyalarını rahatlaşdıran bünovrə (core) kitabxanadır."
99
authors = [{ name = "mmzeynalli", email = "miradil.zeynalli@gmail.com" }]
1010
requires-python = ">=3.9"
@@ -91,15 +91,12 @@ src = ["src", "tests", "duties.py"]
9191

9292
[tool.ruff.lint]
9393
select = [
94-
# Pyflakes
95-
"F",
96-
# Pycodestyle
97-
"E",
98-
"W",
99-
# isort
100-
"I",
101-
# Print statements
102-
"T201",
94+
"F", # Pyflakes
95+
"E", # Pycodestyle
96+
"W", # warnings
97+
"I", # isort
98+
"T", # Ban print statements (T201)
99+
"UP", # pyupgrade (modern typing / syntax fixes)
103100
]
104101
ignore-init-module-imports = true
105102

0 commit comments

Comments
 (0)