Skip to content

Release 0.5.0

Choose a tag to compare

@AlexMercedCoder AlexMercedCoder released this 29 Dec 20:42
· 9 commits to main since this release

Release v0.5.0 - Service Users, Pagination & RBAC Hardening

This release introduces comprehensive support for Service Users, API Key Authentication, and rigorous RBAC Enforcement, alongside major scalability improvements (Pagination, Indexing).

🚀 Key Features

🤖 Service User Management

Full lifecycle management for machine-to-machine integration.

  • Service Users: Create, list, delete, and rotate keys for service accounts.
  • X-API-Key Auth: Authenticate using standard API keys via the X-API-Key header.
  • Granular Permissions: Assign specific permissions (e.g., create_warehouse) to Service Users via custom roles.
  • Cross-Platform Support:
    • API: New endpoints for service user management.
    • CLI: pangolin-admin service-users commands.
    • UI: Dedicated pane at /admin/service-users (Manage users, One-time key display).
    • SDK: pypangolin v0.5.0 support.

📄 Universal Pagination

Scalability upgrade for listing massive catalogs.

  • Implemented limit and offset pagination across:
    • API: /api/v1/catalogs, /api/v1/warehouses, etc.
    • CLI: --limit and --offset flags.
    • UI: Server-side pagination for DataTables.
    • SDK: Paginated iterators in Python client.

🛡️ RBAC Hardening

  • Principal Decoupling: Backend now strictly distinguishes between Root and Tenant contexts.
  • Permission Enforcement: Verified enforcement of granular permissions for sensitive operations (Warehouse/Catalog/User modification).
  • Service User Constraints: Service Users are scoped strictly to their Tenant.

⚡ UI Enhancements

  • Login Convenience: New /login/{uuid} route for auto-filling Tenant IDs.
  • Performance: Optimized list rendering for large datasets.
  • Fixes: Resolved critical crashes in Service User lists and auth persistency.

🐛 Bug Fixes

  • Relational Joins: Fixed incorrect internal joins that blocked Service Users from listing permissions.
  • CORS Identity: Fixed middleware state to correctly resolve identities across tenant boundaries.
  • CLI Handoff: Fixed context switching bugs in multi-tenant CLI sessions.

📦 Docker Images

  • alexmerced/pangolin-api:0.5.0
  • alexmerced/pangolin-cli:0.5.0
  • alexmerced/pangolin-ui:0.5.0

🐍 Python SDK

  • pip install pypangolin==0.5.0