|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to this project will be documented in this file. |
| 4 | + |
| 5 | +## [3.0.0] - 2025-02-06 |
| 6 | + |
| 7 | +### Breaking Changes |
| 8 | +- **Async-first**: All API methods are now async and require `await` |
| 9 | +- Replaced `requests` library with `httpx` for async HTTP support |
| 10 | +- Removed `webhook_sync` and `webhook_update` methods (use `patch_item` instead) |
| 11 | + |
| 12 | +### Added |
| 13 | +- Full async/await support using `httpx` |
| 14 | +- `custom_headers` parameter for server-to-server authentication |
| 15 | +- `create_reference_linked_field` method |
| 16 | +- Per-request header override support |
| 17 | + |
| 18 | +### Changed |
| 19 | +- `x_api_key` is now optional (can use `custom_headers` for auth) |
| 20 | +- `patch_item` is now the recommended method for updating document fields |
| 21 | +- Updated all method signatures to be async |
| 22 | + |
| 23 | +### Migration Guide |
| 24 | + |
| 25 | +**Before (v2.x):** |
| 26 | +```python |
| 27 | +from ShipthisAPI import ShipthisAPI |
| 28 | + |
| 29 | +client = ShipthisAPI(organisation="org_id", x_api_key="key") |
| 30 | +client.connect() |
| 31 | +items = client.get_list("shipment") |
| 32 | +client.patch_item("fcl_load", doc_id, {"status": "done"}) |
| 33 | +``` |
| 34 | + |
| 35 | +**After (v3.x):** |
| 36 | +```python |
| 37 | +import asyncio |
| 38 | +from ShipthisAPI import ShipthisAPI |
| 39 | + |
| 40 | +async def main(): |
| 41 | + client = ShipthisAPI(organisation="org_id", x_api_key="key") |
| 42 | + await client.connect() |
| 43 | + items = await client.get_list("shipment") |
| 44 | + await client.patch_item("fcl_load", doc_id, {"status": "done"}) |
| 45 | + |
| 46 | +asyncio.run(main()) |
| 47 | +``` |
| 48 | + |
| 49 | +## [2.2.0] - 2025-02-06 |
| 50 | + |
| 51 | +### Added |
| 52 | +- `custom_headers` parameter for overriding default headers |
| 53 | +- `create_reference_linked_field` method |
| 54 | +- Per-request header override in `_make_request` |
| 55 | + |
| 56 | +### Changed |
| 57 | +- `x_api_key` is now optional |
| 58 | +- Enhanced `patch_item` documentation |
| 59 | + |
| 60 | +## [2.1.0] - 2025-01-15 |
| 61 | + |
| 62 | +### Added |
| 63 | +- `primary_workflow_action` method for workflow transitions |
| 64 | +- `secondary_workflow_action` method for sub-status changes |
| 65 | +- `bulk_edit` method for batch updates |
| 66 | + |
| 67 | +## [2.0.0] - 2024-12-01 |
| 68 | + |
| 69 | +### Added |
| 70 | +- Complete rewrite with better error handling |
| 71 | +- `ShipthisAPIError`, `ShipthisAuthError`, `ShipthisRequestError` exceptions |
| 72 | +- Comprehensive CRUD operations |
| 73 | +- Workflow operations |
| 74 | +- Report views |
| 75 | +- Third-party integrations (currency, places) |
| 76 | +- Conversation methods |
| 77 | +- File upload support |
| 78 | + |
| 79 | +## [1.0.0] - 2024-06-01 |
| 80 | + |
| 81 | +### Added |
| 82 | +- Initial release |
| 83 | +- Basic API client functionality |
0 commit comments