element-x-ios/CHANGES.md

6.3 KiB

Changes in 1.0.3 (2022-09-23)

Features

  • UITests: Add screenshot tests. (#9)
  • Logout from the server & implement soft logout flow. (#104)
  • Implemented timeline item repyling (#114)
  • Room: New bubbles design implementation. (#177)
  • HomeScreen: Add user options menu to avatar and display name. (#179)
  • Settings screen: Implement new design. (#180)

🙌 Improvements

  • Use unstable MSC2967 values for OIDC scopes + client registration metadata updates. (#154)
  • DesignKit: Update design tokens and add system colours to a local copy of ElementColors. (#186)
  • DesignKit: Update fonts to match Figma. (#187)
  • Include redacted events in the timeline. (#199)
  • Rename RoomTimelineProviderItem to TimelineItemProxy for clarity. (#162)
  • Style the session verification banner to match Figma. (#181)

🐛 Bugfixes

  • Replace blocking detached tasks with Task.dispatch(on:). (#201)

🧱 Build

  • Disable danger for external forks due to missing secret and run SwiftFormat as a pre-build step to fail early on CI. (#157)
  • Run SwiftFormat as a post-build script locally, with an additional pre-build step on CI. (#167)
  • Add validate-lfs.sh check from Element Android. (#203)
  • Python 3 support for localizer script. (#191)

📄 Documentation

  • CONTRIBUTING.md: Fix broken link to the createScreen.sh script. (#153)

🚧 In development 🚧

  • Begin adding the same Analytics used in Element iOS. (#106)
  • Add isEdited and reactions properties to timeline items. (#111)
  • Add a redactions context menu item (disabled for now whilst waiting for SDK releases). (#178)

Others

  • Add a pull request template. (#156)
  • Use standard file headers. (#150)

Changes in 1.0.2 (2022-07-28)

Features

  • Implement rageshake service. (#23)
  • Add filtering for rooms by name. (#26)
  • Settings screen minimal implementation. (#37)
  • Perform password login using the Rust authentication service. (#40)
  • DesignKit: Add initial implementation of DesignKit to the repo as a Swift package. (#43)
  • Room timeline: Add plain styler and add timeline option in settings screen. (#92)
  • Implement and use background tasks. (#99)

🙌 Improvements

  • Implement new ClientBuilder pattern for login (#120)
  • Flatten the room list by removing the encrypted groups. (#121)
  • Add AuthenticationService and missing UI tests on the flow. (#126)
  • Room: Use bubbles in the timeline. (#34)
  • Room: Add header view containing room avatar and encryption badge. (#35)
  • Add the splash, login and server selection screens from Element iOS along with a UserSessionStore. (#40)
  • DesignKit: Add DesignKit to the ElementX project, style the login screen with it and tint the whole app. (#43)
  • Settings: Auto dismiss bug report screen and show a success indicator when bug report completed. (#76)
  • Bug report: Add GH labels. (#77)
  • Danger: Add a check for png files and warn to use SVG and PDF files. (#87)
  • Add localizations to UI tests target and add some checks. (#101)

🐛 Bugfixes

  • ElementInfoPlist: Use custom template for Info.plist. (#71)
  • Add a sync limit of 20 timeline items and prefill rooms with this number of events when calculating the last message. (#93)

🧱 Build

  • Add swiftformat to the project and run it for the first time. (#129)
  • Use v0.0.1 of the DesignTokens package. (#78)
  • Update to v0.0.2 of the DesignTokens package. (#90)
  • Fix Danger's changelog detection. (#74)

🚧 In development 🚧

  • Add a proof of concept implementation for login with OIDC. (#42)

Others

  • Add Screen as a suffix to all screens and tidy up the template. (#125)
  • Fix project urls in Towncrier configuration. (#96)