Skip to content

Chore: Dependency updates and cleanup #35

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jun 18, 2025

Conversation

ivanalvarado
Copy link
Owner

Dependency Update Summary

Updated Libraries

AndroidX Libraries

  • AppCompat: 1.7.0 → 1.7.1
    • Latest stable version with bug fixes and NavigationEvent compatibility improvements
  • ConstraintLayout: 2.2.0 → 2.2.1
    • Latest stable version with binary compatibility fixes

Dependency Injection

  • Dagger: 2.51.1 → 2.56
    • Major version update with performance improvements and bug fixes
  • Hilt: 2.51.1 → 2.56
    • Updated to match Dagger version for compatibility

UI Components

  • CardView: Migrated from legacy support library (28.0.0) to AndroidX (1.0.0)
    • BREAKING CHANGE: Migrated from com.android.support:cardview-v7 to
      androidx.cardview:cardview
    • This is a necessary migration from the deprecated support library to AndroidX

Configuration Updates

Repository Management

  • Removed deprecated jcenter() from both project-level and app-level build.gradle files
    • JCenter has been sunset and is no longer maintained
    • All dependencies are now resolved through Google Maven and Maven Central

Target SDK Version

  • Updated targetSdkVersion: 33 → 35
    • Aligns with the latest Android API level for better compatibility and access to new features
    • Note: Review Android 34 and 35 behavior changes for potential impact

Libraries Assessed but Not Updated

Current and Stable

  • Kotlin Coroutines: 1.9.0 (latest stable)
  • OkHttp: 4.12.0 (latest stable)
  • Retrofit: 2.11.0 (latest stable)
  • Room: 2.6.1 (current stable)
  • AndroidX Core: 1.15.0 (current stable)
  • Mockito: 5.14.1 (current stable)
  • Moshi: 1.15.1 (current stable)
  • Timber: 5.0.1 (current stable)

Intentionally Not Updated

  • RxJava: 2.2.21 (older version but widely used for compatibility)
    • Consider migrating to Kotlin Coroutines/Flow for new features
  • RxBinding: 3.1.0 (stable for RxJava 2.x)
  • RxKotlin: 2.4.0 (stable for RxJava 2.x)

Recommendations

Immediate Actions Required

  1. Test the CardView migration - The change from support library to AndroidX may require code
    updates if you're using CardView-specific features
  2. Review Android 35 behavior changes - The targetSdkVersion update may introduce new permission
    requirements or behavior changes
  3. Test Dagger/Hilt updates - The major version bump may have breaking changes in advanced usage
    scenarios

Future Considerations

  1. RxJava to Coroutines Migration: Consider migrating from RxJava to Kotlin Coroutines and Flow
    for better performance and maintainability
  2. Regular Dependency Updates: Set up automated dependency updates using tools like Dependabot
    or Renovate

Breaking Changes

  • CardView library change: Update imports from android.support.v7.widget.CardView to
    androidx.cardview.widget.CardView
  • Potential Dagger/Hilt changes: Review code for any deprecated APIs or behavior changes in the
    major version update

Validation Steps

  1. Clean and rebuild the project
  2. Run all tests to ensure compatibility
  3. Test CardView functionality specifically
  4. Verify Hilt dependency injection works correctly
  5. Test on different Android versions to ensure targetSdkVersion compatibility

@ivanalvarado ivanalvarado marked this pull request as ready for review June 18, 2025 01:40
@ivanalvarado ivanalvarado merged commit f7b3510 into main Jun 18, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant