8834 commits in all time Dec 25, 2025 09:20 – Mar 25, 2026 09:20 UTC
filipetamota pera-ios
Merge b223ae8cc276172638a0f33f5536e8e5ac740569 into 283520145e33742f6451cf099525211c4e42dda9
Git Commit f209ed5d Branch pull/312/merge Document No file changes
TruszczynskiA pera-ios
PERA-3810 - [IOS] - Joint Account - Finding 23 - Bottom Sheet should adjust once transaction has been completed or cancelled
- Updated JointAccountPendingTransactionOverlayRow. Now it will not show spinner when transaction is no longer in progress.
Git Commit 28352014 Branch main Document 3/15 ++ 7 --
jannotti go-algorand
Merge c406f9ba4f04a53d536d4705c255ae3a60b83259 into 35fbfd45094f0af0dfcd38755360acb1c7ac0747
Git Commit a5d2e232 Branch pull/6588/merge Document 10/533 ++ 87 --
mitsinsar pera-android
Merge 4e1f861ab7c407711a8b19bbcb3365301621a2b4 into d965927e0227a6bc0cfbccf31e3c1de47380664b
Git Commit 260416e8 Branch pull/527/merge Document 12/101 ++ 54 --
Merge d969a94209e1b5fe6aaada39c3cf48d36c783251 into 63d2296fabd68535ead93b531bb45a9f7a4099f5
Git Commit bc9c0051 Branch pull/1060/merge Document 1/83 ++ 18 --
Merge bf8d3a4ba48a7d2b5656d02b1110c35e2274872a into 19f5ab2ff478ffe15e9019142dd022a3dd811991
Git Commit e6f85bb5 Branch pull/785/merge Document 2/75 ++ 4 --
Merge 57949f0dad4e63529e4b22b799ecaf9cceb81d67 into 4e38dadc4eec827ed8742c8bb272e0545c801932
Git Commit f0ca7745 Branch pull/895/merge Document 4/75 ++ 6 --
algorandskiy go-algorand
Merge eb0e30b9b4357db3cb02e665423adad45eaeb861 into 35fbfd45094f0af0dfcd38755360acb1c7ac0747
Git Commit 3bb63eed Branch pull/6593/merge Document 1/2 ++ 0 --
algorandskiy go-algorand
tests: fix data race in catchpoint tests
Git Commit eb0e30b9 Branch pull/6593/head Document 1/2 ++ 0 --
mrcointreau puya-ts
Merge 2d567b2fb8ea9f5db2f2e3240d0bc0c9ea2674f9 into c126c0e7cdb69c245338f207e10ddcbbc9ff2b35
Git Commit 6f7ab5f5 Branch pull/341/merge Document No file changes
mrcointreau puya-ts
chore: add example compilation outputs and test:examples script
Git Commit 2d567b2f Branch updated-examples Document 300/216,178 ++ 3 --
algorandskiy go-algorand
Merge 7432012fb8cf7a3e904f629dd76f2d1918553d59 into 35fbfd45094f0af0dfcd38755360acb1c7ac0747
Git Commit 7e31340c Branch pull/6584/merge Document 1/106 ++ 53 --
onetechnical go-algorand
Merge 029447df17196c41992a7dbfc18dff83b43483b0 into 35fbfd45094f0af0dfcd38755360acb1c7ac0747
Git Commit 6ed39f79 Branch pull/6567/merge Document 12/1,301 ++ 3 --
chore: add independent schema validation script for api client models (#263)
* feat: adds runtime validation using Pydantic schemas

Implements runtime validation of API client responses using Pydantic schemas.
This provides an additional layer of sanity checks on top of generated API clients.

The schemas are generated from OpenAPI specifications using a new script.
Adds a new `poe` task to easily regenerate schemas.
Adds tests to validate the generated schemas.

Pydantic is added as a development dependency.

Validation schemas are optional, requiring `pydantic>=2.0` to be installed.

* chore: generate the validation schemas

* chore: move schemas to tests folder to avoid polluting prod packages exposed to end users

* fix: unblock check-python after alpha merge

* fix: enforce required fields, fix docs, restore targeted lint rules

- Generator: required fields no longer get default=None (Pydantic
  actually validates them now)
- Generator: only emit `from typing import Any` when used
- Generator: add timeout and error handling to fetch_spec
- Docs: fix stale import paths in README.md and VALIDATION.md after
  schema move to tests/fixtures/
- Lint: revert global PLC0415/FBT001/FBT002/PLW1641 suppression,
  restore targeted noqa comments on specific lines
- Tests: provide all required fields, add test_missing_required_fields
- Snapshots: update mock server snapshots to match current HAR data

* feat: add schema validation to polytests, aligned with TS approach

Mirrors the TypeScript variant's pattern of calling Schema.parse(result)
in every polytest to validate real API responses against OAS-generated
schemas, closing the gap between spec and implementation.

Schema generator improvements:
- Use IdentifierSanitizer-compatible _to_snake() for field naming
  (handles camelCase, Python builtins, x-algokit-field-rename)
- Handle string/enum types as RootModel[str]
- Handle byte arrays (uint8[]) as RootModel[str] (base64)
- Handle opaque empty schemas as RootModel[str]

Polytest changes:
- Added validate_with_schema() to 55 polytests across algod, indexer,
  and kmd clients
- Serializer now handles Python Enum values correctly
- Updated snapshots for enum serialization changes
- 1 known OAS spec mismatch documented (apps-local-states required
  but API returns null)

* chore: deduplicate RootModel templates, fix missing newlines at EOF

- Refactor generate_schema() to extract _root_model() and
  _is_byte_array() helpers, eliminating 3 copies of identical
  RootModel[str] template
- Fix missing newline at EOF in 6 docs/config files (pre-commit)

* fix: update snapshots for enum serialization (repr → value)

Snapshots now use enum .value ("noop") instead of repr
("<OnCompletion.NOOP: 'noop'>") to match the corrected
_dataclass_to_dict serializer. Only enum formatting changed —
no mock server data diffs.

* refactor: consolidate 211 schema files into 3 modules

Replace per-class file structure (algod/82 files + indexer/72 files +
kmd/54 files + 3 __init__.py) with one module per client (algod.py,
indexer.py, kmd.py).

Benefits:
- 211 files → 3 files
- Eliminates __init__.py boilerplate (imports, model_rebuild, __all__)
- Eliminates forward reference strings — topological sort enables
  direct class references
- from __future__ import annotations handles remaining edge cases
- No ruff per-file overrides needed (was 9 suppressed rules)
- Import paths unchanged: `from tests.fixtures.schemas.algod import X`

Generator improvements:
- Topological sort of schemas by dependency order
- PascalCase class names (ed25519PublicKey → Ed25519PublicKey)
- Docstring escaping and truncation for ruff compliance
- Cleaner module assembly — shared imports at top
Git Commit 7f660b75 Branch alpha Document 85/3,172 ++ 181 --
mrcointreau puya
Merge ef0e3c28d2c42ed183d7d04d2b8a91879ffc95d5 into 849e87ab2dbe46afc5cd7f06cbdb2dc8247a70f7
Git Commit 676a8ed7 Branch pull/670/merge Document 70/13,389 ++ 5 --
giuliop go-algorand
Merge 74bc65a4f7ec45e141a96c4a7b155f69e43c9f6f into 35fbfd45094f0af0dfcd38755360acb1c7ac0747
Git Commit e583e0b6 Branch pull/6592/merge Document 10/560 ++ 207 --