Releases: zapdev360/PermLens
v1.1.0
PermLens v1.1.0 introduces a desktop navigation system upgrade and improved slug input UX, enhancing usability while preserving the stable v1 API contract.
This release focuses on frontend architecture and interaction refinements. No backend or schema changes were made.
✨ What’s new
- Responsive desktop Sidebar (md+) replacing TopNav on larger screens
- Collapsible navigation with persistent state
- Lucide outline icon system for consistent visual language
- Animated active route indicator for clearer navigation state
- “Try me” sample app buttons for quick slug testing
- Clearer communication of fallback behavior when a slug cannot be resolved
🧠 Improvements
- Improved slug input clarity and UX flow
- Fixed sensitivity label overflow and responsive wrapping issues
- Refined tooltip spacing and layout responsiveness
- Hide Home link when already on the home route
- Preserved existing TopNav behavior on mobile
🔒 Stability and compatibility
- The v1 API response schema remains unchanged
- No changes to label computation or sensitivity logic
- No backend behavior modifications
➡️ What’s next
Future releases will focus on expanding and refining the permission taxonomy, improving data category modeling, and broadening real-world GitHub App coverage while preserving the v1 API contract.
v1.0.0 - Stable Public Release
PermLens v1.0.0 marks the first stable public release of the project. This release establishes a predictable, versioned API contract and production-ready deployments for both the backend API and frontend interface.
✨ Highlights
- Stable, versioned API response schema
- GitHub App metadata included in every privacy label response
- Explicit cache status and rate-limit reporting
- Clear resolution and fallback behavior when an app slug cannot be resolved
- Deterministic sensitivity computation based on declared permissions
- Deployment-ready configuration for Vercel (backend API + frontend)
✅ Stability and compatibility
- The v1.0.0 response schema is considered stable
- Future releases will extend functionality without breaking the v1 contract
- No private GitHub data is accessed or stored
⚠️ Scope and limitations
- PermLens is an informational transparency tool. It reflects declared GitHub App permissions, not runtime behavior, security posture, or compliance guarantees.
➡️ What’s next
- Future releases may introduce additional permission categorization, richer metadata, and extended presentation features while preserving compatibility with v1.0.0.
v0.3.0
✨ What’s new
- In-memory caching for GitHub App label lookups (reduces API calls + faster repeat searches)
- Cache transparency in API response (
cache.hit,cache.cached_at) - API request tracking flags (
api.unauthenticated_hit,api.authenticated_hit) - Dual rate-limit reporting for unauthenticated vs authenticated GitHub API requests
🧠 Improvements
- More reliable fallback flow when slugs cannot be resolved
- Frontend shows clearer status indicators (cached vs fresh, fallback, rate-limit)
- Updated README documentation with full API response reference table
- Schema file updated to match the current API response structure
⚠️ Notes
- Cache is in-memory only (clears when the backend restarts)
- GitHub rate limits can still apply, but caching greatly reduces repeated hits
v0.2.0
✨ What’s new
- Web frontend for inspecting GitHub App permissions by marketplace slug
- Privacy-label-style UI with grouped data categories and sensitivity levels
- Support for resolving and inspecting any public GitHub App on the marketplace
- Explicit resolution status with safe fallback behavior
🧠 Improvements
- Expanded permission taxonomy and data access categories
- Improved sensitivity computation (low / moderate / high)
- Clearer permission explanations derived from declared metadata
- Updated schema to reflect current API responses
- Improved UX with loading states and error handling
⚠️ Notes
- Rate limiting may apply for unauthenticated GitHub API requests
- Caching and enhanced rate-limit handling are planned for v0.3.0+
v0.1.0
Initial public release of PermLens.
This release introduces a working backend API for generating privacy-label-style summaries of GitHub App permissions based on declared public metadata.
Included in this release:
- GitHub App authentication using JWT
- Dynamic permission fetching from the GitHub API
- Permission-to-category mapping with sensitivity scoring
- Stable and documented API response format
This is an early release focused on core functionality.
A frontend interface is planned for a future version.