Skip to content

Release 2.24.1#153

Merged
btoron merged 7 commits intomasterfrom
release/2.24.1
Mar 5, 2026
Merged

Release 2.24.1#153
btoron merged 7 commits intomasterfrom
release/2.24.1

Conversation

@btoron
Copy link
Owner

@btoron btoron commented Mar 4, 2026

Summary

  • Update version to 2.24.1
  • Improve README with clearer usage examples for sync and async clients
  • Replace root logger with named loggers across library code (ofsc/)
  • Remove leftover print() statements, including one leaking OAuth token
  • Downgrade pagination logging from INFO to DEBUG

Changes

  • pyproject.toml / uv.lock: Bump version to 2.24.1
  • README.md: Rewrite usage examples for clarity
  • ofsc/common.py: Add named logger, convert 5 logging.*()logger.*()
  • ofsc/core.py: Remove 2 debug prints, add named logger, convert 10 logging calls, downgrade 5 INFO→DEBUG in pagination
  • ofsc/models/_base.py: Remove print() that leaked OAuth bearer token (security fix), add named logger

Test plan

  • All 441 mocked tests pass
  • No pydantic deprecation warnings (-W error::DeprecationWarning passes)
  • ruff check and ruff format clean on all modified files
  • grep -rn "print(" ofsc/ returns no matches
  • grep -rn "logging\.(debug|info|warning|error|critical)(" ofsc/ returns no matches

🤖 Generated with Claude Code

btoron and others added 5 commits March 4, 2026 18:18
…tements

- Add `logger = logging.getLogger(__name__)` to common.py, core.py, and models/_base.py
- Replace all `logging.<level>()` calls with `logger.<level>()` in ofsc/ library code
- Remove debug print in `create_resource_location` (core.py)
- Remove print in pagination loop `get_all_activities` (core.py)
- Remove security leak: print of OAuth bearer token in models/_base.py
- Downgrade 5 INFO→DEBUG log calls in pagination loops (get_all_activities, get_all_properties)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
`core/_base.py` and `oauth.py` returned `self._config.baseURL` directly,
which can be None and causes a cryptic `urljoin(None, ...)` error instead
of a clear message.

Now both modules match the pattern already used in `capacity.py` and
`statistics.py`, raising `ValueError("Base URL is not configured")`.

Closes #150

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@btoron
Copy link
Owner Author

btoron commented Mar 4, 2026

This PR also fixes #150 — added validation to in core/_base.py and oauth.py (commit e9c021f), matching the pattern already in capacity.py and statistics.py.

@btoron btoron linked an issue Mar 4, 2026 that may be closed by this pull request
@btoron
Copy link
Owner Author

btoron commented Mar 4, 2026

This PR also fixes #150 — added None validation to baseUrl in core/_base.py and oauth.py (commit e9c021f), matching the pattern already in capacity.py and statistics.py.

@btoron
Copy link
Owner Author

btoron commented Mar 5, 2026

This PR also implements #110 — adds optional httpx event hooks for request/response logging via enable_logging=True on AsyncOFSC. Includes 6 new tests and README documentation.

@btoron btoron added release:patch Triggers patch version tag on merge labels Mar 5, 2026
@btoron btoron merged commit 9d5200d into master Mar 5, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release:patch Triggers patch version tag on merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bug: baseUrl property can return None in core and oauth modules

1 participant