‹ Reports
The Dispatch

OSS Report: Permify/permify


Permify Enhances Core API with Batch Processing and Entity Lookup Features

Permify is an open-source authorization service designed to implement fine-grained, scalable, and extensible access controls for applications and services. It is inspired by Google's Zanzibar system and aims to provide consistent and scalable authorization solutions.

The project has seen significant recent activity focused on enhancing its core API functionality. Two new feature requests, #1520 and #1519, aim to add batch processing support to the permission-check API and enhance the lookup-entity API filter, respectively. These improvements suggest a focus on scalability and performance optimization for large-scale deployments.

Recent Activity

The development team has been primarily focused on API enhancements, dependency updates, and bug fixes. Notable recent issues include:

The development team's recent activities, in reverse chronological order:

  1. Tolga Ozen (tolgaOzen): Led numerous updates across the project, focusing on build system updates, dependency management, and API improvements including pagination and bulk checking features.

  2. Ege Aytın (EgeAytin): Primarily focused on documentation improvements, updating README and other documentation files, and working on API reference updates.

  3. Ufuk: Implemented garbage collection tests, improved tenant deletion functionality, and worked on pagination features.

  4. Vikash Prem Sharma: Expanded support for both HTTP and gRPC protocols in meter/logging/tracing exporters.

  5. Steven Turturo (theoriginalstove): Added documentation for deploying Permify as a Fly.io app and updated installation instructions.

  6. Palakurthi Durga Kiran Kumar (durgakiran): Fixed documentation issues related to the list schema API.

Of Note

  1. The project is actively addressing scalability concerns, as evidenced by the new batch processing feature request (#1520) and ongoing work on pagination (#1466).

  2. There's a strong focus on improving developer experience, with recent updates to documentation and the addition of deployment guides for platforms like Fly.io.

  3. The team is actively maintaining dependencies, with multiple recent pull requests dedicated to updating various packages.

  4. Ongoing work on OpenTelemetry integrations (PRs #1507, #1506) indicates a commitment to robust observability features.

  5. The presence of long-standing pull requests (e.g., #1133, over 160 days old) may require attention to prevent code conflicts and ensure timely feature integration.

Quantified Reports

Quantify Issues



Recent GitHub Issues Activity

Timespan Opened Closed Comments Labeled Milestones
7 Days 5 6 9 0 1
30 Days 8 10 18 0 1
90 Days 20 16 33 3 2
1 Year 81 71 301 4 2
All Time 194 157 - - -

Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.

Quantify commits



Quantified Commit Activity Over 30 Days

Developer Avatar Branches PRs Commits Files Changes
Tolga Ozen 1 29/29/0 52 98 30529
ufuk 2 0/0/0 9 34 7815
dependabot[bot] 19 70/51/2 56 10 937
Steven Turturo 1 2/2/0 5 2 303
Vikash Prem Sharma 1 0/0/0 2 8 252
Ege Aytın 1 8/8/0 6 9 162
Johan Bergström 1 1/1/0 1 6 16
Palakurthi Durga Kiran Kumar 1 1/1/0 1 5 10
Ufuk 0 5/4/1 0 0 0
Vikash Prem Sharma (vikashsprem) 0 1/1/0 0 0 0
None (ankitsheoran1) 0 3/1/1 0 0 0

PRs: created by that dev and opened/merged/closed-unmerged during the period

Detailed Reports

Report On: Fetch issues



Here is a brief analysis of the recent GitHub issue activity for the Permify project:

Recent Activity Analysis

Recent issues show active development and community engagement around Permify. There is a mix of feature requests, bug reports, and documentation improvements being worked on.

Some notable themes and issues:

  • Performance and scalability improvements, like optimizing PostgreSQL indexes (#863) and implementing cursor pagination (#1253).

  • Expanding platform support, including requests for Java and Python SDKs (#1352, #1351).

  • Enhancing core functionality, such as implementing data bundles for the memory database (#875) and supporting batch processing for permission checks (#1520).

  • Improving developer experience through better error handling (#955) and configuration options (#1009).

  • Bug fixes for issues like garbage collection behavior (#1471) and playground visualization (#764).

The most recently created and updated issues focus on:

  1. Adding batch processing support to the permission-check API (#1520, created 0 days ago)
  2. Enhancing the lookup-entity API filter (#1519, created 0 days ago)
  3. Fixing a garbage collection bug (#1471, created 8 days ago, updated 0 days ago)

These recent issues demonstrate ongoing efforts to improve Permify's performance, usability, and reliability. The project appears to be actively maintained with regular updates and community contributions.

Issue Details

Most recently created and updated issues:

  1. Issue #1520: Add Support for Batch Processing in permission-check API

    • Created 0 days ago
    • Priority: Feature request
    • Status: Open
  2. Issue #1519: Add Scope of EntityIds to lookup-entity API Filter

    • Created 0 days ago
    • Priority: Feature request
    • Status: Open
  3. Issue #1471: [BUG] Garbage Collector removing relation still valid

    • Created 8 days ago
    • Updated 0 days ago
    • Priority: Bug
    • Status: Open

These issues represent ongoing work to enhance API functionality and fix critical bugs in the system.

Report On: Fetch pull requests



Overview

I received information about 10 open pull requests for the Permify project, ranging from dependency updates to new feature implementations and documentation improvements.

Summary of Pull Requests

  1. #1516: Bump web-vitals from 3.5.2 to 4.2.3 in /playground
  2. #1515: Bump query-string from 8.2.0 to 9.1.0 in /playground
  3. #1514: Bump monaco-editor from 0.50.0 to 0.51.0 in /playground
  4. #1513: Bump react-simple-code-editor from 0.13.1 to 0.14.1 in /playground
  5. #1507: Bump go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc from 0.53.0 to 0.54.0
  6. #1506: Bump go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp from 1.28.0 to 1.29.0
  7. #1466: Add pagination in lookupSubject (WIP)
  8. #1465: Add support for list of permissions in lookup-entity
  9. #1133: Bump follow-redirects from 1.15.3 to 1.15.6 in /docs
  10. #1113: Integrate scenario-specific relationships and attributes

Analysis of Pull Requests

There are several themes evident in these pull requests:

  1. Dependency Updates: Many PRs (#1516, #1515, #1514, #1513, #1507, #1506, #1133) are focused on updating various dependencies. This indicates an active effort to keep the project's dependencies current, which is crucial for security and performance.

  2. Feature Enhancements: PRs #1466 and #1465 introduce new features or improvements to existing functionality. The pagination feature for lookupSubject (#1466) is particularly noteworthy as it's marked as a work in progress, suggesting ongoing development of core features.

  3. Documentation and Code Quality: PR #1113 aims to integrate scenario-specific relationships and attributes, which could improve the project's documentation or examples.

  4. OpenTelemetry Updates: Several PRs (#1507, #1506) are updating OpenTelemetry-related packages, indicating that the project is maintaining its observability infrastructure.

  5. Frontend Updates: PRs #1516, #1515, #1514, and #1513 are updating frontend-related packages in the playground directory, suggesting active development or maintenance of a web-based interface.

It's notable that many of these PRs are automated dependency updates created by Dependabot. This automation helps keep the project up-to-date but also requires careful review to ensure compatibility.

The presence of WIP features like pagination (#1466) indicates ongoing development of core functionality. This PR in particular could significantly improve the performance and usability of the lookupSubject feature, especially for large datasets.

The PR adding support for a list of permissions in lookup-entity (#1465) suggests that the project is expanding its permission model, potentially offering more flexibility to users.

One potential concern is the age of some PRs. For example, #1133 and #982 are over 160 days old. Long-standing PRs can become outdated and may require rebasing or reassessment.

Overall, these PRs reflect an actively maintained project with a focus on keeping dependencies updated, improving core features, and enhancing developer experience through better documentation and examples. The mixture of automated updates and manual feature additions suggests a balanced approach to project maintenance and evolution.

Report On: Fetch commits



Based on the provided information, here is a summary of the recent activities of the Permify development team:

Development Team and Recent Activity

Key Contributors:

  1. Tolga Ozen (tolgaOzen)
  2. Ege Aytın (EgeAytin)
  3. Ufuk
  4. Vikash Prem Sharma
  5. Steven Turturo (theoriginalstove)
  6. Palakurthi Durga Kiran Kumar (durgakiran)

Recent Activities:

  1. Tolga Ozen:

    • Led numerous updates and improvements across the project
    • Focused on build system updates, dependency management, and version updates
    • Worked on API improvements, including pagination and bulk checking features
    • Addressed various bugs and made performance optimizations
  2. Ege Aytın:

    • Primarily focused on documentation improvements
    • Updated README and other documentation files
    • Worked on API reference updates and OpenAPI specification improvements
  3. Ufuk:

    • Implemented garbage collection tests
    • Made improvements to tenant deletion functionality
    • Worked on pagination features for various components
  4. Vikash Prem Sharma:

    • Expanded support for both HTTP and gRPC protocols in meter/logging/tracing exporters
  5. Steven Turturo (theoriginalstove):

    • Added documentation for deploying Permify as a Fly.io app
    • Updated installation instructions for better clarity
  6. Palakurthi Durga Kiran Kumar (durgakiran):

    • Fixed documentation issues, particularly related to the list schema API

Ongoing Work:

  • Pagination improvements for various lookup and filtering operations
  • Enhancements to the playground functionality
  • Continuous updates to OpenTelemetry integrations
  • Documentation refinements and API reference updates

Patterns and Themes:

  1. Strong focus on improving developer experience through better documentation and examples
  2. Continuous integration of the latest dependencies and security updates
  3. Performance optimizations, particularly in data querying and filtering
  4. Expansion of telemetry capabilities (logging, tracing, metrics)
  5. Refinement of multi-tenancy features
  6. API improvements for better scalability (e.g., pagination)

Conclusions:

The Permify team is actively maintaining and improving the project with frequent updates. There's a clear emphasis on keeping the project up-to-date with the latest dependencies, enhancing performance, and improving developer experience through better documentation and tooling. The team is also focused on expanding the project's capabilities in areas like telemetry and multi-tenancy support, indicating a mature and forward-thinking approach to development.