Skip to content

Releases: fderuiter/imednet-python-sdk

v0.5.0

30 Apr 15:20
d121d80

Choose a tag to compare

What's Changed

  • 🧪 Add tests for parse_bool with unusual and edge-case inputs by @fderuiter in #833
  • 🧹 Consolidated duplicated export setup logic by @fderuiter in #834
  • 🔒 Insecure Randomness Fix in Form Designer by @fderuiter in #832
  • 🛡️ Shield: Add async coverage to RecordUpdateWorkflow by @fderuiter in #836
  • ⚡ Performance Optimization: Resolve N+1 Query in export_to_sql_by_form by @fderuiter in #835
  • 🏛️ Architect: [MRO Inheritance Refactor] by @fderuiter in #837
  • 🛠️ Refactor: Fix MRO for GenericListGetEndpoint and JobsEndpoint by @fderuiter in #838
  • 🏛️ Architect: Endpoints - Fix property overriding by @fderuiter in #839
  • 🏛️ Architect: Endpoint Configuration Flags by @fderuiter in #840
  • 🖋️ Scribe: Clarify README Troubleshooting for Invalid API Keys by @fderuiter in #842
  • 🛡️ Shield: Add sad path validation tests for register_subjects by @fderuiter in #843

Full Changelog: v0.4.3...v0.5.0

v0.4.3

27 Apr 22:56

Choose a tag to compare

What's Changed

  • 🏗️ Architect: Modularize CLI Utils by @fderuiter in #652
  • Refactor: JobsEndpoint uses ListPathGetEndpoint abstraction by @fderuiter in #653
  • 🖋️ Scribe: Remove stale TUI documentation by @fderuiter in #654
  • 🏗️ Architect: Refactor Endpoint Mixins by @fderuiter in #655
  • Refactor JobPoller and CLI Output Utilities by @fderuiter in #658
  • Refactor endpoints to use ABC and strict typing by @fderuiter in #660
  • 🛡️ Shield: Fix inconsistent boolean parsing for float strings by @fderuiter in #659
  • Refactor Endpoints and JobPoller by @fderuiter in #661
  • 🏗️ Architect: Modularize HTTP Core & Fix Retry Logic by @fderuiter in #666
  • Refactor CreateEndpointMixin for explicit sync/async execution by @fderuiter in #667
  • Refactor Endpoint Mixins for DRY and SOLID Principles by @fderuiter in #663
  • 🏗️ Architect: Refactor Endpoint State Passing by @fderuiter in #670
  • Refactor: Extract CLI export logic to utility by @fderuiter in #672
  • Docs: Add Veeva Vault Integration Developer Documentation by @fderuiter in #669
  • 🏗️ Architect: Decouple Generic and EDC Endpoint Logic by @fderuiter in #674
  • Refactor endpoints for DRY and SOLID principles by @fderuiter in #675
  • Refactor endpoint mixins for explicit sync/async dispatch by @fderuiter in #676
  • Refactor RecordsEndpoint for explicit sync/async execution by @fderuiter in #677
  • 🏗️ Architect: Refactor RequestExecutor for Modularity by @fderuiter in #680
  • Refactor Endpoint Mixins for DRY and SOLID by @fderuiter in #681
  • Refactor ListEndpointMixin to remove implicit _prepare_execution by @fderuiter in #682
  • 🏗️ Architect: Refactor ParamMixin to use Strategy Pattern by @fderuiter in #683
  • docs: fix broken CLI export sql example and clarify table argument behavior by @fderuiter in #678
  • Shield: Fix Pandas warning and improve export sanitization tests by @fderuiter in #684
  • docs: document airflow extra in README and docs by @fderuiter in #685
  • Refactor HTTPClientBase to use polymorphism by @fderuiter in #692
  • 🛡️ Shield: Harden BasePaginator against invalid API response types by @fderuiter in #694
  • 🛡️ Shield: Enforce strict validation for site and interval identifiers by @fderuiter in #689
  • docs: clarify manual installation requirement for Airflow integration by @fderuiter in #695
  • docs: remove misleading Veeva integration documentation by @fderuiter in #699
  • 🛡️ Shield: Fix silent failure in JsonListPaginator by @fderuiter in #698
  • Refactor endpoint caching to be explicit and typed by @fderuiter in #700
  • 🖋️ Scribe: Fix broken Airflow installation instructions by @fderuiter in #706
  • Refactor ParamMixin to use StudyKeyStrategy by @fderuiter in #707
  • Shield: Fix retry policy for 5xx/429 and improve error reporting by @fderuiter in #705
  • Refactor RecordsEndpoint validation and security logic by @fderuiter in #711
  • 🏗️ Architect: Refactor List Operations and Param Processing by @fderuiter in #713
  • 🛡️ Shield: Fix Paginator crash on invalid 'pagination' field by @fderuiter in #714
  • Standardize configuration in example scripts by @fderuiter in #715
  • Refactor RecordsEndpoint to use RecordCreateOperation by @fderuiter in #716
  • refactor: cleanup endpoints and mixins (DRY/SOLID) by @fderuiter in #718
  • Migrate to src layout by @fderuiter in #719
  • 🛡️ Shield: Robust numeric timestamp parsing by @fderuiter in #720
  • 🛡️ Shield: Expand JSON roundtrip tests for all fake data payloads by @fderuiter in #724
  • 🏗️ Architect: Strongly typed HTTPClientBase and model cleanup by @fderuiter in #723
  • 🛠️ Refactor: Core - Extract PathGetOperation by @fderuiter in #722
  • Refactor: Extract inline normalizer closures in json_base.py by @fderuiter in #721
  • 🖋️ Scribe: Fix broken mypy command in documentation by @fderuiter in #726
  • 🖋️ Scribe: Update README to specify CLI usage with poetry run in dev environment by @fderuiter in #727
  • 🖋️ Scribe: Fix broken mypy command path in README by @fderuiter in #725
  • 🖋️ Scribe: Fix broken quickstart examples using .env files by @fderuiter in #728
  • 🏗️ Architect: Add intervals CLI command by @fderuiter in #730
  • 🖋️ Scribe: Fix examples README execution command by @fderuiter in #731
  • 🏗️ Architect: Refactor SchemaValidator to use explicit is_async argument by @fderuiter in #733
  • 🛡️ Shield: Complete core parsing and endpoint ABC test coverage by @fderuiter in #732
  • 🛠️ Refactor: SubjectsEndpoint - Extract list filter attribute logic by @fderuiter in #734
  • 🖋️ Scribe: fix broken mypy command in contributing docs by @fderuiter in #735
  • 🏛️ Architect: Refactor SchemaValidator into explicit Sync/Async classes by @fderuiter in #738
  • 🛠️ Refactor: SDK Core - Remove obsolete legacy endpoint base classes by @fderuiter in #737
  • 🛡️ Shield: Ensure 100% test coverage for get endpoint mixins and operations by @fderuiter in #736
  • 🏗️ Architect: Extract FilterGetOperation to enforce SOLID in endpoints by @fderuiter in #740
  • 🛡️ Shield: Add test coverage for SchemaValidator form identifier edge cases by @fderuiter in #739
  • 🖋️ Scribe: Update README Quick Start to use explicit environment variables by @fderuiter in #741
  • 🛡️ Shield: test validation schema deprecation warning and exports by @fderuiter in #742
  • 🖋️ Scribe: Clarify .env file usage for standalone scripts by @fderuiter in #745
  • 🏛️ Refactor: Paginator - Generic strict typing & Explicit fetch logic by @fderuiter in #744
  • 🛠️ Refactor: Endpoint Mixins - Decouple FilterGet from Dummy List Methods (ISP) by @fderuiter in #743
  • 🛡️ Shield: ImednetSDK Client Cleanup Context Manager Test Defenses by @fderuiter in #746
  • 🏗️ Architect: Centralize exception hierarchy in imednet/errors by @fderuiter in #747
  • 🏗️ Architect: Refactor build_filter_string by @fderuiter in #748
  • 🖋️ Scribe: Fix broken example onboarding paths by using explicit exports by @fderuiter in #749
  • 🏗️ Architect: Endpoints - Composition over Inheritance by @fderuiter in #752
  • 🏗️ Architect: Fix hidden mutable state bug in ParamMixin._resolve_params by @fderuiter in #751
  • 🛡️ Shield: Add sad path boundary tests for pagination by @fderuiter in #750
  • 🏗️ Architect: Statically ...
Read more

v0.4.2

11 Feb 01:14
0b5ae6c

Choose a tag to compare

What's Changed

  • fix(ci): robustify security audit step and patch cryptography vulnerability by @fderuiter in #651

Full Changelog: v0.4.1...v0.4.2

v0.4.1

11 Feb 00:48
45a6e01

Choose a tag to compare

What's Changed

  • feat(security): validate email_notify for header injection by @fderuiter in #580
  • Refactor BaseClient to remove forced logging configuration by @google-labs-jules[bot] in #586
  • Remove requests dependency and migrate FormDesignerClient to httpx by @google-labs-jules[bot] in #587
  • docs: fix missing prerequisites in README and CONTRIBUTING by @google-labs-jules[bot] in #600
  • Refactor by @fderuiter in #597
  • Refactor: Implement Auth Strategy and Client Protocols by @fderuiter in #620
  • 🏗️ Architect: Refactor Endpoints by @fderuiter in #622
  • 🛡️ Shield: Add tests for AsyncPaginator and empty results by @fderuiter in #625
  • 🛠️ Refactor: SubjectsEndpoint - DRY filtering logic by @fderuiter in #623
  • 🧹 Polish: Extract truncation helper in CLI utils by @fderuiter in #624
  • Refactor: Use PathGetEndpointMixin for JobsEndpoint by @fderuiter in #630
  • ⚡ Bolt: Optimize CLI display_list performance by @fderuiter in #628
  • feat(cli): add color coding to status columns by @fderuiter in #626
  • 🛡️ Sentinel: [MEDIUM] Fix sensitive data leakage in logs by @fderuiter in #627
  • 🛠️ Refactor: Core - DRY RequestExecutor & Method-Aware Retry State by @fderuiter in #634
  • 🖋️ Scribe: Document optional dependencies in README by @fderuiter in #632
  • 🏗️ Architect: Refactor Endpoint Core and SDK by @fderuiter in #633
  • Refactor: SDK Convenience Mixin and JobsEndpoint DRY by @fderuiter in #638
  • Refactor ListEndpointMixin into focused mixins by @fderuiter in #641
  • 🛡️ Shield: Robust Integer Parsing for Float Strings by @fderuiter in #643
  • 🛡️ Shield: Fix paginator crash on null pagination key by @fderuiter in #642
  • 🧹 Polish: Refactor CLI status coloring to use constant map by @fderuiter in #636
  • 🛡️ Shield: Verify and enforce retry policy behavior by @fderuiter in #631
  • Refactor endpoints to use shared mixins and paginators by @fderuiter in #645
  • Refactor Endpoint Mixins for Modularity and Type Safety by @fderuiter in #644
  • 🏗️ Architect: Decouple Endpoint Registry and Client Factory by @fderuiter in #647
  • Bump version from 0.3.0 to 0.4.0 by @fderuiter in #648
  • 🛠️ Refactor: JobsEndpoint - Extract ListEndpoint (DRY/OCP) by @fderuiter in #649
  • Bump version to 0.4.1 by @fderuiter in #650

Full Changelog: v0.3.0...v0.4.1

v0.4.0

15 Jan 15:59
1b9d775

Choose a tag to compare

What's Changed

  • feat(security): validate email_notify for header injection by @fderuiter in #580
  • Refactor BaseClient to remove forced logging configuration by @google-labs-jules[bot] in #586
  • Remove requests dependency and migrate FormDesignerClient to httpx by @google-labs-jules[bot] in #587
  • docs: fix missing prerequisites in README and CONTRIBUTING by @google-labs-jules[bot] in #600
  • Refactor by @fderuiter in #597
  • Refactor: Implement Auth Strategy and Client Protocols by @fderuiter in #620
  • 🏗️ Architect: Refactor Endpoints by @fderuiter in #622
  • 🛡️ Shield: Add tests for AsyncPaginator and empty results by @fderuiter in #625
  • 🛠️ Refactor: SubjectsEndpoint - DRY filtering logic by @fderuiter in #623
  • 🧹 Polish: Extract truncation helper in CLI utils by @fderuiter in #624
  • Refactor: Use PathGetEndpointMixin for JobsEndpoint by @fderuiter in #630
  • ⚡ Bolt: Optimize CLI display_list performance by @fderuiter in #628
  • feat(cli): add color coding to status columns by @fderuiter in #626
  • 🛡️ Sentinel: [MEDIUM] Fix sensitive data leakage in logs by @fderuiter in #627
  • 🛠️ Refactor: Core - DRY RequestExecutor & Method-Aware Retry State by @fderuiter in #634
  • 🖋️ Scribe: Document optional dependencies in README by @fderuiter in #632
  • 🏗️ Architect: Refactor Endpoint Core and SDK by @fderuiter in #633
  • Refactor: SDK Convenience Mixin and JobsEndpoint DRY by @fderuiter in #638
  • Refactor ListEndpointMixin into focused mixins by @fderuiter in #641
  • 🛡️ Shield: Robust Integer Parsing for Float Strings by @fderuiter in #643
  • 🛡️ Shield: Fix paginator crash on null pagination key by @fderuiter in #642
  • 🧹 Polish: Refactor CLI status coloring to use constant map by @fderuiter in #636
  • 🛡️ Shield: Verify and enforce retry policy behavior by @fderuiter in #631
  • Refactor endpoints to use shared mixins and paginators by @fderuiter in #645
  • Refactor Endpoint Mixins for Modularity and Type Safety by @fderuiter in #644
  • 🏗️ Architect: Decouple Endpoint Registry and Client Factory by @fderuiter in #647

Full Changelog: v0.3.0...v0.4.0

v0.2.3

17 Dec 16:02
df46320

Choose a tag to compare

What's Changed

Full Changelog: v0.2.2...v0.2.3

v0.2.2

15 Dec 16:00

Choose a tag to compare

What's Changed

  • refactor: remove implicit Paginator reflection in endpoints by @fderuiter in #516
  • fix(endpoints): ensure record validation runs for snake_case keys by @fderuiter in #517
  • refactor: remove implicit Paginator reflection in endpoints by @fderuiter in #518
  • feat(cli): add loading spinners to list commands by @fderuiter in #519
  • feat: optimize ISO date parsing performance by @fderuiter in #520
  • fix(security): prevent backslash injection in filter strings by @fderuiter in #521
  • 🧹 Polish: Extract cache update logic in ListGetEndpointMixin by @fderuiter in #522
  • feat(cli): improve records list UX and remove pandas dependency by @fderuiter in #524
  • perf(models): optimize JsonModel validator for 13% speedup by @fderuiter in #525
  • 🛡️ Sentinel: [MEDIUM] Fix sensitive data leak in Config.repr by @fderuiter in #526
  • feat(cli): Improve subjects list output by @fderuiter in #531
  • fix(security): escape user input in CLI output to prevent terminal in… by @fderuiter in #530
  • refactor: optimize SchemaCache refresh to avoid N+1 queries by @fderuiter in #529
  • perf: optimize boolean parsing for common api responses by @fderuiter in #527
  • refactor: de-duplicate schema cache population logic by @fderuiter in #532
  • docs: consistency and completeness sweep by @google-labs-jules[bot] in #534
  • test(config): add boundary tests for empty/whitespace keys by @fderuiter in #533
  • Bump version to 0.2.2 and remove CHANGELOG.md by @google-labs-jules[bot] in #535

Full Changelog: v0.2.1...v0.2.2

v0.2.1

11 Dec 17:12

Choose a tag to compare

What's Changed

  • release: Version 0.2.0 by @fderuiter in #478
  • feat: Enhance README with professional redesign by @fderuiter in #479
  • feat(cli): enhance list output with formatted tables by @fderuiter in #510
  • docs: add .env.example and update config instructions by @fderuiter in #512
  • 🛡️ Shield: Add tests for BaseEndpoint sad paths by @fderuiter in #511
  • fix(security): encode path segments in BaseEndpoint to prevent traversal by @fderuiter in #513
  • feat(cli): improve table output formatting for lists by @fderuiter in #514
  • perf: optimize JsonModel field normalization with caching by @fderuiter in #515

Full Changelog: v0.2.0...v0.2.1

v0.1.9

18 Aug 18:19

Choose a tag to compare

What's Changed

Full Changelog: v0.1.3.1...v0.2.0

v0.1.3

07 Jul 16:00
7b8a19d

Choose a tag to compare

What's Changed

Full Changelog: v0.1.3...v0.1.3.1