Releases: AlexMercedCoder/Pangolin
v0.5.1
Release Notes v0.5.1
Summary
This release focuses on stability and documentation accuracy. It resolves a critical initialization error in the SQLite backend and aligns the CLI/API documentation with the strict case-sensitivity of the RBAC system.
🐛 Bug Fixes
- SQLite Backend: Fixed a "duplicate column name: created_at" error that prevented the
active_tokenstable from being created during initialization. Thepangolin_store/sql/sqlite_schema.sqlfile was corrected to remove the redundant column definition.
📝 Documentation
- RBAC & User Roles: Corrected all references to user roles in the CLI and API documentation.
- Fixed: Examples incorrectly referencing
TenantAdminorTenantUser(PascalCase). - Clarified: API payloads MUST use
tenant-adminandtenant-user(kebab-case). - Files Updated:
docs/cli/admin-users.md,docs/cli/admin-service-users.md,docs/features/rbac.md,docs/api/authentication.md.
- Fixed: Examples incorrectly referencing
🛠 Infrastructure
- pangolin_api: Version bumped to
0.5.1. - Docker: Rebuilt and pushed
alexmerced/pangolin-api:0.5.1(andlatest) forlinux/amd64. - Release Workflow: Triggered release
v0.5.1via GitHub Actions to generate multi-platform binaries.
📦 Upgrading
- Docker:
docker pull alexmerced/pangolin-api:0.5.1 - SQLite: No manual migration is required for existing databases. The fix ensures new SQLite databases initialize correctly.
Release 0.5.0
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-Keyheader. - 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-userscommands. - UI: Dedicated pane at
/admin/service-users(Manage users, One-time key display). - SDK:
pypangolinv0.5.0 support.
📄 Universal Pagination
Scalability upgrade for listing massive catalogs.
- Implemented
limitandoffsetpagination across:- API:
/api/v1/catalogs,/api/v1/warehouses, etc. - CLI:
--limitand--offsetflags. - UI: Server-side pagination for DataTables.
- SDK: Paginated iterators in Python client.
- API:
🛡️ RBAC Hardening
- Principal Decoupling: Backend now strictly distinguishes between
RootandTenantcontexts. - 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.0alexmerced/pangolin-cli:0.5.0alexmerced/pangolin-ui:0.5.0
🐍 Python SDK
pip install pypangolin==0.5.0
Release v0.4.0
Release v0.4.0 - Performance & Cloud Integration
This release focused on Performance Optimization, Cloud Security Integration, and stabilizing the new modular backend architecture.
🚀 Key Features
☁️ AWS STS & Pre-signed URLs
- Pre-signed URL Support: Secure, direct-to-storage access for
presign_getoperations, enabling high-performance data retrieval without proxying through the API. - AWS STS Integration: Native support for AWS Security Token Service (STS) assume-role workflows.
⚡ Optimizations
- Pagination Foundation: Laid the groundwork for universal pagination (fully realized in v0.5.0).
- Listing performance: Optimized
list_assetsandlist_catalogsqueries.
🛠️ Backend Hardening
- Relational Schema Fixes: Addressed regressions in Postgres and SQLite schema definitions.
- Join Logic: Fixed internal join logic for permissions and token validation.
📦 Docker Images
alexmerced/pangolin-api:0.4.0alexmerced/pangolin-cli:0.4.0alexmerced/pangolin-ui:0.4.0
Release v0.3.1
Fixed a minor api issue that was preventing listing of assets in the UI data explorer
v0.3.0
Release v0.3.0 - Parity & Modularization
This release marked a major milestone in achieving Feature Parity across all interfaces (API, CLI, UI, SDK) and completing the Modular Backend Refactor.
🚀 Key Features
🏗️ Backend Refactor
- Modular Architecture: Completely refactored
pangolin_storeinto modular, easier-to-maintain components (Memory, SQLite, Postgres, Mongo). - Branching Support: Full support for Branching/Git-like operations across all storage backends.
🐍 Python SDK (PyPangolin)
- 100% API Coverage: The Python client reached full feature parity with the API.
- Generic Assets: Robust support for managing arbitrary file formats, table formats, and database references.
🤝 Interface Parity
- Unified Experience: Capabilities aligned across:
- API: Locked v0.3.0 spec.
- CLI: Admin and User tools fully functional.
- UI: Visual management for all core resources.
🤖 Service Users (Beta)
- Initial support for Service Users and
X-API-Keyauthentication (solidified in subsequent releases).
📦 Docker Images
alexmerced/pangolin-api:0.3.0alexmerced/pangolin-cli:0.3.0alexmerced/pangolin-ui:0.3.0