Releases: fderuiter/imednet-python-sdk
Releases · fderuiter/imednet-python-sdk
v0.3.0
What's Changed
- refactor: optimize variable type validation lookup by @fderuiter in #548
- feat(cli): improve list, boolean, and date formatting in table outputs by @fderuiter in #549
- refactor(security): centralize CSV injection sanitization by @fderuiter in #550
- feat(utils): remove unused _or_default validator by @fderuiter in #551
- test(utils): fix date parsing on legacy python versions by @fderuiter in #552
- docs: fix README links and clarify Quick Start examples by @fderuiter in #553
- fix(security): sanitize csv exports in pandas utility by @fderuiter in #555
- perf(validation): remove dead code checking for required variables by @fderuiter in #556
- 🧹 Polish: Refactor BaseEndpoint duplication by @google-labs-jules[bot] in #557
- 🛡️ Shield: Improve legacy date parsing coverage by @google-labs-jules[bot] in #558
- refactor: extract _format_filter_value helper by @fderuiter in #561
- Update urllib3 to 2.6.3 to fix decompression bomb vulnerability by @google-labs-jules[bot] in #563
- ⚡ Bolt: Optimize datetime parsing and validation by @google-labs-jules[bot] in #565
- feat(tui): add interactive dashboard by @google-labs-jules[bot] in #566
- 🏗️ Architect: Generic Endpoints Refactor by @google-labs-jules[bot] in #567
- Fix: Remove obsolete comment from CSV injection test by @google-labs-jules[bot] in #569
- 🛡️ Shield: Fix CSV injection bypass via whitespace by @google-labs-jules[bot] in #572
- Add Form Designer Module and TUI Integration by @google-labs-jules[bot] in #568
- docs: document missing TUI command in README and CLI docs by @fderuiter in #577
- Update Form Builder Models to Composite Pattern by @google-labs-jules[bot] in #576
- Bump version to 0.3.0 by @google-labs-jules[bot] in #578
- Unified Artifact Pipeline for CI/CD by @google-labs-jules[bot] in #579
Full Changelog: v0.2.3...v0.3.0
v0.2.3
What's Changed
- feat(cli): implement summary views for complex list commands by @fderuiter in #536
- 🛡️ Sentinel: [HIGH] Fix Terminal Markup Injection by @google-labs-jules[bot] in #537
- ⚡ Bolt: Optimized list item parsing loop by @google-labs-jules[bot] in #538
- 🧹 Polish: Extract context resolution in endpoints by @google-labs-jules[bot] in #539
- 🎨 Palette: Improved CLI feedback and table readability by @google-labs-jules[bot] in #542
- 🛡️ Sentinel: [MEDIUM] Fix CSV Injection in Export by @google-labs-jules[bot] in #543
- ⚡ Bolt: Optimize filter string construction by @google-labs-jules[bot] in #541
- 🛡️ Shield: Add async validation tests for records by @google-labs-jules[bot] in #540
- Consolidate AGENTS.md files by @google-labs-jules[bot] in #544
- test(validators): add comprehensive table-driven tests for parse_bool by @fderuiter in #546
- refactor(records): extract record validation logic by @fderuiter in #545
- Security: Upgrade filelock to ^3.20.1 to fix CVE-2025-68146 by @google-labs-jules[bot] in #547
Full Changelog: v0.2.2...v0.2.3
v0.2.2
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
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
What's Changed
- Refactor by @fderuiter in #345
- Update README.md by @fderuiter in #346
- Refactor by @fderuiter in #348
- Dev by @fderuiter in #383
- Add smoke test workflow by @fderuiter in #385
- Add sanitizer for chatgpt links by @fderuiter in #387
- Potential fix for code scanning alert no. 1: Workflow does not contain permissions by @fderuiter in #389
- Update smoke tests to show skip reasons by @fderuiter in #393
- Dev by @fderuiter in #403
- Docs to Dev by @fderuiter in #472
- Dev to Prod by @fderuiter in #461
Full Changelog: v0.1.3.1...v0.2.0
v0.1.3
v0.1.2
What's Changed
- Dev by @fderuiter in #350
Full Changelog: v0.1.0...v0.1.2
What's Changed
- Dev by @fderuiter in #350
Full Changelog: v0.1.0...v0.1.2
What's Changed
- Dev by @fderuiter in #350
Full Changelog: v0.1.0...v0.1.2
Initial Release 0.1.0
Initial Release
What's Changed
- feat: add data models for coding, forms, intervals, jobs, queries, record revisions, records, sites, subjects, users, variables, and visits by @fderuiter in #1
- feat: add issue templates for bug reports and feature requests; enhan… by @fderuiter in #2
- chore: update documentation and templates for clarity; add spacing fo… by @fderuiter in #3
- Refactor iMedNet SDK: Update documentation, remove example scripts, a… by @fderuiter in #4
- chore: add permissions for GitHub Actions to enable documentation dep… by @fderuiter in #5
- Development by @fderuiter in #10
- Add docs build make target by @fderuiter in #75
- Add SDK entrypoint tests by @fderuiter in #128
- Add extensive endpoint unit tests by @fderuiter in #125
- Add model validation tests by @fderuiter in #126
- Add workflow and mapper tests by @fderuiter in #127
- Add CLI unit tests by @fderuiter in #129
- Add core module tests by @fderuiter in #131
- Add respx fixtures and client tests by @fderuiter in #132
- Add env var authentication by @fderuiter in #133
- Add convenience endpoint wrappers by @fderuiter in #134
- Improve autodoc setup by @fderuiter in #137
- Add pandas utilities by @fderuiter in #135
- Remove hello command from CLI by @fderuiter in #139
- Add JSON logging with request metrics by @fderuiter in #136
- Add caching for study and variable listings by @fderuiter in #146
- Expand CLI command tests by @fderuiter in #145
- Add record validation with schema caching by @fderuiter in #147
- Add records subcommand group to CLI by @fderuiter in #150
- Add async client support by @fderuiter in #151
- Add PEP 621 project section by @fderuiter in #152
- Add SchemaValidator for record validation by @fderuiter in #153
- Update metadata in pyproject by @fderuiter in #154
- Add Airflow operators by @fderuiter in #155
- Add versioning instructions by @fderuiter in #157
- Add async client and SDK by @fderuiter in #158
- Add Airflow DAG examples by @fderuiter in #159
- Implement job polling utilities by @fderuiter in #156
- Update package metadata by @fderuiter in #160
- Update docs version handling by @fderuiter in #161
- Add package classifiers by @fderuiter in #162
- Add Airflow integration docs by @fderuiter in #163
- Add py.typed for typed package by @fderuiter in #164
- Update AGENTS guidelines by @fderuiter in #165
- Add export helpers by @fderuiter in #167
- Add export CLI group by @fderuiter in #171
- Add Airflow export utilities by @fderuiter in #172
- Enable pydantic mypy plugin by @fderuiter in #175
- Update docs for setup script by @fderuiter in #174
- Clean up comments and remove unused state variable by @fderuiter in #176
- Add optional e2e tests by @fderuiter in #173
- Add async methods across endpoints by @fderuiter in #177
- Expose Role model by @fderuiter in #178
- Fix duplicate OpenTelemetry section by @fderuiter in #179
- Update register_subjects workflow return type by @fderuiter in #180
- Fix async tests setup by @fderuiter in #182
- Improve e2e live tests by @fderuiter in #184
- Add async study structure workflow by @fderuiter in #185
- Add caching for forms and intervals list endpoints by @fderuiter in #186
- Clean workflows init by @fderuiter in #187
- Add E2E coverage for more list endpoints by @fderuiter in #188
- Fix Study retrieval using list filtering by @fderuiter in #189
- Add list-get checks in e2e tests by @fderuiter in #190
- Add schema validator tests by @fderuiter in #191
- Add job status & wait CLI tests by @fderuiter in #192
- Add version command to CLI by @fderuiter in #194
- Revert "Add version command to CLI" by @fderuiter in #196
- Add new CLI subcommands by @fderuiter in #195
- Add coverage details to live test plan by @fderuiter in #199
- Add API overview docs by @fderuiter in #198
- Add subject-data CLI command by @fderuiter in #193
- Add API overview docs by @fderuiter in #197
- docs: integrate live test plan by @fderuiter in #200
- Organize live tests by @fderuiter in #201
- Organize live tests by @fderuiter in #202
- Update README badges by @fderuiter in #203
- Add tests for date and filter utilities by @fderuiter in #204
- Add architecture diagram by @fderuiter in #206
- Add integration tests for core client and endpoints by @fderuiter in #205
- Fix MyPy execution by @fderuiter in #207
- Move examples out of package by @fderuiter in #208
- Refactor CLI into package by @fderuiter in #213
- Move validators to utils by @fderuiter in #214
- Add pip-audit to CI by @fderuiter in #212
- Update ruff config and rename endpoint path constants by @fderuiter in #215
- Refactor AsyncImednetSDK location by @fderuiter in #216
- Refactor RecordMapper dataframe by @fderuiter in #219
- Refactor Airflow integration layout by @fderuiter in #220
- Refactor HTTP error handling by @fderuiter in #221
- Refactor SDK initializer by @fderuiter in #222
- Refactor type checking registry by @fderuiter in #223
- Refactor utils getattr lookup by @fderuiter in #224
- Move schema validation to dedicated package by @fderuiter in #226
- Fix base URL handling by @fderuiter in #227
- Refactor record updates with job poller by @fderuiter in #228
- Revert "Refactor record updates with job poller" by @fderuiter in https://gi...