- Added GitHub Actions workflows for Continuous Integration and Release builds.
- The
CI.mdfile documents the new CI/CD pipeline. AGENTS.mdprovides instructions for setting up the development environment.TODO.mdtracks the remaining build issues.- Created a new
MaterialisticApplicationclass to initialize Dagger 2. - Created a new
ApplicationComponentandApplicationModulefor Dagger 2.
- Upgraded build environment to support Java 21.
- Gradle: 7.5.1 → 8.12.
- Android Gradle Plugin: 7.4.2 → 8.9.1.
- Kotlin: 1.8.20 → 2.3.0.
- CI/CD workflows: Updated to use Java 21.
- Migrated the dependency injection framework from Dagger 1 to Dagger 2.51.1.
- Replaced all Dagger 1 annotations and modules with their Dagger 2 equivalents.
- Refactored all activities and fragments to use the new Dagger 2 component for injection.
- Replaced Mercury Web Parser with local Readability.js implementation.
- Fixed
R.attrresource resolution issues by migrating toandroidx.appcompat.R.attr. - Updated various AndroidX and Google Material dependencies to their latest versions.
- Set
compileSdkandtargetSdkto 36. - Target SDK 36 Compatibility (PR #51):
- Suppressed various deprecation warnings (NetworkInfo, Fragment APIs, Parcellable, etc.) to ensure a clean build with
targetSdk36 (Issue #46). - Added TODOs for future refactoring and migration of suppressed APIs.
- Suppressed various deprecation warnings (NetworkInfo, Fragment APIs, Parcellable, etc.) to ensure a clean build with
- Modernized Fragment and View Pager Implementations (PR #56):
- Migrated from deprecated
ViewPagertoViewPager2usingFragmentStateAdapter. - Replaced
onActivityCreatedwithonViewCreated. - Replaced
setRetainInstancewithLazyLoadViewModelfor state retention. - Implemented
MenuProviderAPI for handling menus, replacingsetHasOptionsMenu.
- Migrated from deprecated
- Resolved
NetworkOnMainThreadExceptioncrash inReadabilityClientby offloading database caching to background thread. - Fixed memory leaks and resource management in
ReadabilityClientandWebFragmentby implementing properdestroy()lifecycle and usingCompositeDisposable.
- Removed the obsolete Dagger 1 dependency (
com.squareup.dagger:dagger:1.2.5). - Removed all Dagger 1-related classes and interfaces, including
InjectableActivityandInjectable. - Removed temporary
CustomCrashHandlerused for debugging.