Android SDK changelog
All notable changes to the Android SDK are documented here. This project follows Keep a Changelog and Semantic Versioning.
[0.4.3] - 2026-10-12​
New​
FedoLogHandler: setlogHandlerin theFedo.initializeconfig to forward SDK logs (level, message, throwable) to your own logging or error tracking service. It receives every level, so filter bylevelin your handler. Exceptions thrown by the handler are caught and can't break the SDKFedoLogHandler.Logcat: a ready-made handler that logs to Logcat under theFedotag
Deprecated​
debug: uselogHandler = FedoLogHandler.Logcatinstead.debug = truestill logs to Logcat when nologHandleris set. It will be removed in 0.5.0
[0.4.2] - 2026-10-03​
Breaking Changes​
FedoNotInitializedandIconWarningare now internal: they were public by mistake and were never meant to be used directly- Fewer transitive dependencies: the SDK no longer pulls in
appcompat,material,compose-shimmerorcomponents-resources. If your app used any of these without declaring them, add them to your ownbuild.gradle
Improvements​
- Wider toolchain compatibility: the SDK now builds against Kotlin
2.2.21, Ktor3.3.0and kotlinx-serialization1.9.0, so apps on older Kotlin and Ktor versions can use it - Safer credential storage: SDK files now use a
getfedo_prefix and the SDK no longer writes to your app's defaultSharedPreferences, so they can't clash with your app's own files or keys. Existing sessions are migrated on first launch, so users stay signed in - No backup rules needed: credentials are stored outside Android Auto Backup, so a restore or device transfer can't bring back credentials that can no longer be decrypted. You don't need to add any backup rules to your app
- Single initialization: calling
Fedo.initializeagain now logs a warning and does nothing, instead of creating a second SDK instance
Fixed​
- Session start after restore: if stored credentials can't be decrypted (for example after a backup was restored on a new device), the SDK starts a fresh anonymous session instead of leaving the user without one
- Logout:
logout()now clears the previous user's session, feedbacks and comments right away. A request still in flight or a token refresh finishing after logout can no longer bring back the previous user - Token refresh loop: a
401from the authentication endpoint no longer causes endless refresh attempts. It now fails once withAuthError - Token refresh scope: only requests that carry a user token trigger a token refresh on
401. Requests that use only the API key never do - New feedback or comment not showing: feedbacks and comments created before the list first loaded now show up right away, and the comment count updates
- Comment length limit: the UI and the API now agree on the maximum comment length
[0.4.1] - 2026-09-21​
Hotfix
- Remove
kotlin-test,kotlin-test-junitorktor-client-mockfrom POM
[0.4.0] - 2026-09-17​
Breaking Changed​
0.4.0 renames public API and is NOT backward compatible — integrators must update their call sites.
-
FeedbacksScreenis nowFedoFeedbackScreen -
FedoSlotsis nowFedoFeedbackScreenSlots: scoped to the feedback screen; it is now a plain class withvalproperties instead of a data class -
FeedbackScreencustomization API has changed.- The
configparameter has been removed. - Customizations are now provided through the
slotsparameter usingFedoFeedbackScreenDefaults.
following compose api best practices
// beforeFeedbacksScreen(onDismiss = { /*...*/ },config = {backButtonIcon = { /*...*/ }})// afterFedoFeedbackScreen(onDismiss = { /*...*/ },slots = FedoFeedbackScreenDefaults.slots().copy(backButtonIcon = { /*...*/ }),) - The
-
FedoDefaultsis nowFedoFeedbackScreenDefaults -
Fedo.initializeparametercfgBuilderrenamed toconfig -
Logcat tag is now
Fedo: wasFedoLogger; filter withadb logcat -s Fedo -
Feedback sort order: feedbacks are sorted by status, then votes, then creation date
New​
- FedoCreateFeedbackSheet: a lightweight bottom sheet for collecting feedback from any screen in your app.
- FedoFeedbackScreenStyle: customize the appearance of the feedback screen. Set it transparent to preserve custom backgrounds and graphics. Defaults to app theme background color.
Improvements​
- Not-initialized handling:
FedoCreateFeedbackSheetshows an error message inside the sheet andFeedbackScreenshows a full-screen error when Fedo is not initialized;setUserID,setUserEmail,setUserDisplayName,setUserPropertyandlogoutare no-ops instead of throwing - Discard confirmation: leaving the feedback editor or the create sheet with a non-empty title or details now asks for confirmation
- Feedback details screen refreshed with improved badges, simplified status styling, smaller avatars, and a cleaner comment layout.
Fixed​
- Blank API key:
Fedo.initializenow logs an error instead of throwingIllegalArgumentException - Duplicate comments: Prevented duplicate comments when the send button is tapped repeatedly.
- Token refresh: concurrent refreshes now share one in-flight request instead of each re-authenticating
- Internet Disconnection: Improved handling of slow or lost internet connections. Retry actions are now provided where feasible.
[0.3.0] - 2026-08-11​
Added​
- Support Comment Editing: users now can edit their own comment by pressing 'vert' (3 vertical dots) on the right of comment, then click edit.
[0.2.1] - 2026-07-23​
Changed​
- Package version aligned with sdk-core (no user-facing changes).
[0.2.0] - 2026-07-23​
Added​
- Text Field Capitalization: When creating feedback or adding comments, the first letter of each new sentence is now automatically capitalized.
- Anonymous User Support: Anonymous users are now supported. Board users are merged when a user authenticates.
- Admin Comment Badge: An Admin badge is now displayed next to comment authors when applicable.
- User Device Properties: Device information is now collected and set as user properties, including: manufacturer, brand, model, device name, OS version, SDK version, screen dimensions (width and height in pixels), display density (DPI), locale, time zone, and app version (name and code).
[0.1.5] - 2026-07-11​
Changed​
- sdk-core is now pulled as a dependency from Maven Central.
Fixed​
- Resolved an infinite loop issue that occurred when creating a new user due to a failure in the creation process.
[0.1.4] - 2026-07-11​
Added​
- Initial public release, published to Maven Central.