-
-
Notifications
You must be signed in to change notification settings - Fork 32
Announcement: Suspension of Prisma Dart Client Development #471
Description
Announcement: Suspension of Prisma Dart Client Development
Dear Prisma Dart Client Community,
After careful consideration, I have decided to suspend development of the Dart client until after June 2025. This decision was made in light of the Prisma ORM Manifesto published by the Prisma team, which aims to address challenges brought by rapid growth and set a direction for future development. Meanwhile, Go and Rust client developers have announced similar suspension plans. Below are the details.
Background
Prisma is a popular open-source ORM tool that provides type-safe database queries, migration management, and visualization tools. However, as the project expanded, the Prisma team faced challenges in maintenance complexity and community collaboration. To address this, they published the Prisma Manifesto, emphasizing clarity and collaboration, and inviting the community to participate in future development. This change not only affects the Prisma core project but also impacts the ecosystem of third-party clients.
Contributions and Uniqueness of the Dart Client
The Prisma Dart client has evolved over several years, accumulating more than 1,400 code commits and growing into an active project with over 470 stars. Throughout this process, as the main maintainer, I have invested significant time and effort to ensure it stays synchronized with the official API, providing Dart and Flutter developers with the latest database operation capabilities.
These years of development have been completely self-funded, without any sponsorship from Prisma official. This contrasts sharply with the Go and Rust clients, whose developers received financial sponsorship under Prisma's FOSS (Free and Open Source Software) program. Despite the lack of official resource support, the Dart client remains the only third-party language client that continuously keeps fully synchronized with the Prisma API.
Throughout these years of development, the project has grown continuously, with nearly 100 versions released, the latest being orm-v5.3.3 in March 2025.
Suspension of Go and Rust Client Development
Go and Rust client developers have announced suspension of development work, as detailed in the following links:
- Go Client: In the Go client official repository, maintainer steebchen announced that due to Prisma migrating its core from Rust to TypeScript, which will change Prisma's basic architecture, the Go client will not be able to upgrade to Prisma v7, thus deciding to suspend development.
- Rust Client: In the Rust client official announcement, maintainer Brendonovich announced the cessation of Prisma Client Rust maintenance, one reason being that Prisma is moving from Rust to TypeScript, meaning upgrading to new versions of Prisma would require maintaining query interpreters and database driver adapters themselves.
These decisions reflect third-party client developers' response to Prisma's technological direction shift, particularly the impact of Prisma's migration from Rust engine to TypeScript on unofficial clients.
Reasons for Suspending Dart Client Development
Influenced by the Prisma Manifesto and the suspension of Go and Rust client development, I have decided to suspend work on the Dart client for the following reasons:
- Technological Uncertainty: Prisma's architectural change from Rust engine to TypeScript will require extensive restructuring of the Dart client, increasing development risk.
- Resource Allocation: Continuing development before Prisma's next steps become clear could lead to wasted resources. As an independent maintainer without FOSS program funding, these resource constraints are more significant.
- Ecosystem Synchronization: Suspending development helps ensure the Dart client can remain consistent with Prisma's evolution in the future.
Future Plans
I plan to reassess the development prospects of the Dart client after June 2025 (after the expected release of Prisma v7), at which time I will decide whether to resume work based on Prisma's official developments. If Prisma provides a clear path for third-party client support, I will formulate detailed follow-up plans.
Recommendations for the Community
For developers currently using the Dart client, I understand this decision may cause inconvenience. Here are some suggestions:
- Stay Updated: Regularly check the Prisma blog for the latest information, especially regarding the transition from Rust to TypeScript.
- Explore Alternatives: Consider exploring Prisma's official client or other ORM tools suitable for your project.
- Provide Feedback: If you have any opinions or suggestions, please contact me through GitHub issues, and I will respond to the best of my ability.
Conclusion
Thank you for your support of the Dart client. Being able to provide a modern ORM tool for the Dart community during these years of independent maintenance has been a valuable experience. I will continue to monitor Prisma's developments and look forward to bringing more valuable contributions to the Dart community in the future. If you have any questions, please feel free to contact me through GitHub issues or other means.
Sincerely,
Seven Du · Prisma Dart Client Maintainer