Releases: DelfinaCare/rls
Release list
v0.3.2
v0.3.1
[pre-commit.ci] pre-commit autoupdate (#124) updates: - [github.com/astral-sh/ruff-pre-commit: v0.15.10 → v0.15.11](https://github.com/astral-sh/ruff-pre-commit/compare/v0.15.10...v0.15.11) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
v0.3.0
What's Changed
- ref: clean up dependencies by @Ghaithq in #19
- Update pre-commit configuration. by @aebrahim in #37
- Regenerate poetry lock. by @aebrahim in #38
- Add files to gitignore. by @aebrahim in #40
- Use ruff to enforce input sorting. by @aebrahim in #41
- Remove poetry in favor of pip. by @aebrahim in #44
- Fix mypy issues by @Ofahmy143 in #46
- Test workflow by @Ofahmy143 in #43
- Run quality checks on push. by @aebrahim in #47
- Use sqla 2.0 to generate alembic queries. by @aebrahim in #49
- Add main to unittests. by @aebrahim in #48
- Refactor fastapi demo. by @aebrahim in #50
- Add devcontainer setup. by @aebrahim in #54
- Fix bug in pyproject.toml. by @aebrahim in #55
- Remove unused files by @Ofahmy143 in #53
- Fix policy comparator null issue by @Ofahmy143 in #52
- Run unit tests on multiple python versions by @Ofahmy143 in #56
- Shorten examples in README.md. by @aebrahim in #57
- Add fastapi sample tests by @Ofahmy143 in #58
- Shorten examples in README.md. by @aebrahim in #59
#75 - Fix all
# type: ignoresuppressions using proper typing by @Copilot in #81 - Use submodule imports instead of direct. by @aebrahim in #83
- Fix FastAPI test asyncio setup by @Copilot in #84
- Add Python 3.14 to CI test matrix by @Copilot in #85
- Fix typos and incorrect links in codebase by @Copilot in #86
- Remove files generated during testing. by @aebrahim in #88
- Upgrade devcontainer. by @aebrahim in #89
- Add Copilot coding instructions by @Copilot in #87
- Add more test cases. by @aebrahim in #90
- Migrate from psycopg2 to psycopg3 by @Copilot in #91
- Add async RLS session support with psycopg3 by @Copilot in #93
- Fix SQL injection in RLS context variable setting; add test coverage by @Copilot in #95
- Merge multiple set_config calls into a single SQL statement by @Copilot in #97
- Fix and test None-valued nullable pydantic fields resetting RLS settings and returning no rows by @Copilot in #99
- Use
set_config('', false)forNonevalues instead ofRESETby @Copilot in #100 - perf: pre-compute RLS set-query template at session init by @Copilot in #101
- Convert f-string SQL in
_precompute_set_templateto SQLAlchemyselect()by @Copilot in #102 - Fix shared Policy state, session lifecycle, and alembic comparator bugs; harden tests by @Copilot in #103
- Enforce one import per line across codebase by @Copilot in #104
- refactor: modernize typing annotations for Python 3.11+ by @Copilot in #105
- Rewrite README for clarity and add FastAPI integration motivation by @Copilot in #106
- Update release workflow. by @aebrahim in #107
- Fix another release workflow bug. by @aebrahim in #108
- Replace
# type: ignorein autogenerate renderers withRLSOpProtocol +castby @Copilot in #109 - Support nested bypass_rls contexts by @Copilot in #110
- Remove upload wheel test. by @aebrahim in #113
- Persist RLS state (bypass and context variables) across flush and commit by @Copilot in #112
- refactor: simplify user visibility assertions with a shared id query by @Copilot in #114
- fix: bypass RLS hook in test
get_pg_rls_settingand inject settings onbegin()by @Copilot in #115 - Fix RLS bypass in scalar()/scalars() and add coverage for begin/flush/scalar/scalars by @Copilot in #116
- Make test more explicit. by @aebrahim in #117
- Defer bypass re-application after commit until next command by @Copilot in #118
- Add missing async commit test cases to match sync coverage by @Copilot in #119
- Add copilot-setup-steps.yml for agent environment setup by @Copilot in #120
- Clarify Python code linting and formatting instructions by @aebrahim in #122
- Add idempotency test for alembic autogenerate by @Copilot in #121
- Fix code quality issues: circular imports, dead code, unsafe rendering, and missing helpers by @Copilot in #123
- Detect mutable RLS context changes and avoid redundant session-variable reapplication by @Copilot in #125
- Improvements to readability. by @aebrahim in #126
- Restrict bypass_rls field name. by @aebrahim in #127
- Clean up tests. by @aebrahim in #128
- test: add None context tests for sync and async RLS sessions by @Copilot in #129
- Fix ResourceWarning for unclosed async sessions in test_async_rls.py by @Copilot in #131
- Add concurrent request test for FastAPI RLS session isolation by @Copilot in #130
- Fix connection pool exhaustion deadlock in concurrent FastAPI test by @Copilot in #132
Full Changelog: v0.2.0...v0.3.0
v0.2.0
v0.2.0 (2024-10-06)
Build
- build(deps): bump actions/setup-python from 4 to 5
Bumps actions/setup-python from 4 to 5.
updated-dependencies:
- dependency-name: actions/setup-python
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com> (fbffce6)
- build(deps): bump actions/checkout from 3 to 4
Bumps actions/checkout from 3 to 4.
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com> (4a523a6)
- build(deps): bump python-semantic-release/python-semantic-release
Bumps python-semantic-release/python-semantic-release from 9.8.8 to 9.9.0.
updated-dependencies:
- dependency-name: python-semantic-release/python-semantic-release
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com> (add1c17)
Feature
- feat: added pytyped
Co-authored-by: Omar Fahmy <ofahmy1234@gmail.com> (b62b28d)
- feat: add depandabot
Co-authored-by: Omar Fahmy <ofahmy1234@gmail.com> (78df511)
Fix
Refactor
- refactor: removed try catch blocks
Co-authored-by: Omar Fahmy <ofahmy1234@gmail.com> (897ed6e)
- refactor: removed unnecessary code
Co-authored-by: Omar Fahmy <ofahmy1234@gmail.com> (d4a3306)
Unknown
-
Merge branch 'main' of https://github.com/DelfinaCare/rls (
29a4e1d) -
ref: handled deps versioning (
015fbae)
v0.1.0
v0.1.0 (2024-10-01)
Documentation
- docs: sessioner example update
Co-authored-by: Ghaith Kdimati <gaoia123@gmail.com>" (223ec46)
- docs: update readme
Co-authored-by: Ghaith Kdimati <gaoia123@gmail.com>" (2cde372)
- docs: update readme
Co-authored-by: Ghaith Kdimati <gaoia123@gmail.com> (e8240b6)
Feature
-
feat: update release workflow to run on main branch (
fb468de) -
feat: update bypass rls execution and move alembic files to test
Co-authored-by: Ghaith Kdimati <gaoia123@gmail.com>" (7f3b711)
- feat: add the release workflow to pipeline
Co-authored-by: Ghaith Kdimati <gaoia123@gmail.com>" (f7e02b2)
-
feat: add publish to pypi step in workflow (
c621183) -
feat: add pypi publish config (
a2ecd55) -
feat: add release workflow
Co-authored-by: Ghaith Kdimati <gaoia123@gmail.com>" (16a9d29)
- feat: update structure
- add Session class and context getter abstract class
- integrate with alembic and add alembic operations to detect rls policies
Co-authored-by: Ghaith Kdimati <gaoia123@gmail.com> (6bb58c8)
- feat: add custom expression support and start testing
Co-authored-by: Ghaith Kdimati <gaoia123@gmail.com>" (60b9aed)
- feat: add custom expressions
Co-authored-by: Ghaith Kdimati <gaoia123@gmail.com> (94b076e)
- feat: add bypassing rls
Co-authored-by: Omar Fahmy <ofahmy1234@gmail.com> (5bf4ed3)
- feat: bind engine to session and make sure the bind is called only once and support multiple sources of comparison with nested fields
Co-authored-by: Ghaith Kdimati <gaoia123@gmail.com> (d47f5d8)
- feat: install once-py package to be used with binding engine
Co-authored-by: Ghaith Kdimati <gaoia123@gmail.com> (4a6e633)
- feat: add MIT license
Co-authored-by: Ghaith Kdimati <gaoia123@gmail.com> (08f28f9)
- feat: add quality test workflow
Co-authored-by: Ghaith Kdimati <gaoia123@gmail.com> (76b820d)
- feat: add pre-commit hooks
Co-authored-by: Ghaith Kdimati <gaoia123@gmail.com> (b8747c7)
- feat: add pyproject.toml and poetry
Co-authored-by: Ghaith Kdimati <gaoia123@gmail.com> (6587edc)
- feat: update rls api
- change the way expressions are passed in the policy
- set the session variables automatically from header variables
Co-authored-by: Ghaith Kdimati <gaoia123@gmail.com> (ffd3ef6)
Fix
-
fix: mypy static analysis error (
b7b3df3) -
fix: mypy static analysis issues
Co-authored-by: Ghaith Kdimati <gaoia123@gmail.com>" (6ba0802)
-
fix: remove userId from test route in main.py (
5b91827) -
fix: change repo name in pipeline workflow
Co-authored-by: Ghaith Kdimati <gaoia123@gmail.com> (a06ff38)
- fix: mypy static analysis errors
Co-authored-by: Ghaith Kdimati <gaoia123@gmail.com> (981a88d)
Refactor
- refactor: remove req.txt (
cbf3326)
Test
- test: add tests setup
Co-authored-by: Ghaith Kdimati <gaoia123@gmail.com> (bf0cc9f)
Unknown
- doc: add README.md
Co-authored-by: Ghaith Kdimati <gaoia123@gmail.com> (3efa5aa)
- Initial Commit: package structure (
108750b)