RevenueCat / RevenueCat/purchases-flutter

Support Equatable 3.x in purchases_flutter

Open
#1,908 1 comment 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Dart
Stars
720
Forks
209
Avg merge
11h 29m
Merged PRs (30d)
30

Description

Request

Could you please evaluate support for Equatable 3.x and update the equatable dependency constraint in purchases_flutter accordingly?

Equatable 3.0.0 has been released, but purchases_flutter 10.13.1 still declares:

equatable: ^2.0.0

This excludes 3.x and prevents applications from using Equatable 3 alongside the current RevenueCat Flutter SDK through normal dependency resolution.

Observed impact

In our Flutter application, running flutter pub upgrade with both direct dependencies unconstrained produced the following changes:

> equatable 3.0.0 (was 2.1.0)
< purchases_flutter 3.8.0 (was 10.12.0)

The resulting RevenueCat downgrade broke compilation because our integration uses modern APIs such as CustomerInfo, PurchaseParams, and VerificationResult.

Adding purchases_flutter: ^10.12.0 prevented that downgrade, but the resolved Equatable version remained 2.1.0. We observed this with Flutter 3.47.4 / Dart 3.13.3. The downgrade observation is from 10.12.0; we separately verified that 10.13.1 retains the same Equatable constraint.

Compatibility considerations

We are requesting verified 3.x support, rather than assuming that widening the constraint alone is safe. Equatable 3.0.0 includes breaking changes to equality (runtimeType comparison), toString, and removal of EquatableMixin.

If both major versions can be supported safely, a constraint allowing both 2.x and 3.x would help applications upgrade without forcing a RevenueCat SDK downgrade. Otherwise, an update with any necessary model adaptations would be appreciated.

References

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with pubspec.yaml at the 10.13.1 dependency declaration and read the Equatable changelog, focusing on the listed breaking changes. Inspect the affected package models and run the existing Flutter test suite to verify compatibility. Done means Equatable 3.x is supported safely, with any required adaptations covered by passing tests and dependency resolution.

Written by the indexing model from the issue text.

Assessment

Tech stack
dart, flutter
Domain
mobile
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.