Skip to content

Releases

v1.0.2 릴리즈

Choose a tag to compare

@gaon12 gaon12 released this 10 Apr 02:58

Typoon 1.0.2 릴리즈 노트

직접 릴리즈 페이지에서 apk 파일을 다운로드 받거나, 구글 플레이 스토어에서 다운로드/업데이트하세요!

이번 업데이트는 일부 텍스트가 변환이 잘 되지 않았던 문제를 해결했습니다. 업데이트를 하는 것을 권장합니다.

1.0.1 이후 반영된 변경사항 (커밋/이슈 기준 전체)

  • 텍스트 공유 시 받은 모달에서 버튼 내 글자가 두줄 이상으로 나오는 문제 수정
  • 모달에서 기본 출력 시 버튼들이 하단 컨트롤러 바(뒤로가기/홈/최근 항목) 아래에 겹치게 나오는 문제 수정
  • 광고를 추가했습니다. 구글 애드몹으로 광고가 나오기 시작했습니다. 광고가 차단되거나 인터넷에 연결되어 있지 않다면, 기존처럼 배너 이미지가 나옵니다. 광고가 불편할 수 있겠지만, 많은 양해 부탁드립니다.
  • 맥OS 등에서 한글은 NFD 형식을 사용하는데, NFD 형식의 한글을 입력받으면 제대로 처리 하지 못하는 문제 수정
  • 특정 텍스트의 경우, 반대로 버튼을 두번 눌러야 제대로 처리되던 문제 수정
  • deprecated된 API(LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES)를 사용하던 문제 수정
  • 일부 사용자에게는 더 넓은 화면이 표시되지 않을 수 있던 문제 수정(안드로이드 15 이상)
  • 기타 코드들을 최적화
    • 홈 화면 변환과 클립보드 suggestion 계산을 백그라운드 디스패처로 통일해서 UI 스레드 부담을 줄임
    • ConversionEngine의 예외 단어/피드백 페널티를 원자적 스냅샷으로 관리하게 해서 동시성 리스크를 줄이고, 입력 sanitizer도 zero-width/control 문자와 줄바꿈 처리를 더 엄격하게 정리
    • 클립보드 관련 설정은 no-backup 저장소로 분리해서 일반 설정과 백업 경계를 나눴고, 검색은 쿼리 길이 상한, 초성 검색 스캔 범위 축소, 디바운스를 넣음

Typoon 1.0.2 Release Notes

You can download the apk file directly from the release page, or download/update it from the Google Play Store!

This update fixes an issue where some text was not being converted properly. Updating is recommended.

Changes since 1.0.1

  • Fixed an issue where text inside buttons appeared on two or more lines in the modal received when sharing text
  • Fixed an issue where buttons overlapped with the bottom controller bar (Back/Home/Recent) when the modal was displayed by default
  • Added advertisements. Ads now appear via Google AdMob. If ads are blocked or there is no internet connection, a banner image will appear as before. We understand ads may be inconvenient and appreciate your understanding.
  • Fixed an issue where Korean text in NFD format (used in macOS, etc.) was not processed correctly when input
  • Fixed an issue where certain text required pressing a button twice to be processed properly
  • Fixed the use of a deprecated API (LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES)
  • Fixed an issue where some users could not see a wider screen (Android 15 and above)
  • Various code optimizations
    • Unified home screen conversion and clipboard suggestion calculations under a background dispatcher to reduce UI thread load
    • Managed exception words/feedback penalties in `ConversionEngine

v1.0.1 릴리즈

Choose a tag to compare

@gaon12 gaon12 released this 07 Apr 12:30

Typoon 1.0.1 릴리즈 노트

직접 릴리즈 페이지에서 apk 파일을 다운로드 받거나, 구글 플레이 스토어에서 다운로드/업데이트하세요!

이번 업데이트는 반드시 업데이트 하시길 강력 권장합니다. 업데이트로 인해 기존 기록이 삭제/초기화 될 수 있습니다. 이번 업데이트 이후에는 그대로 유지될 것입니다.

1.0.0 이후 반영된 변경사항 (커밋/이슈 기준 전체)

  • [커밋 0ff5508] 앱 아이콘을 교체해 브랜드 식별성을 개선했습니다. 이전에는 런처에서 구분감이 약했는데, 아이콘 변경으로 앱 인지가 쉬워졌습니다.
  • [#8 / f093fcd] 문제: 릴리즈 산출물이 Git에 섞여 저장소가 오염될 수 있었습니다. 수정: .gitignore를 정리하고 추적되던 산출물을 제외 처리했습니다. 결과: 릴리즈 파일이 버전관리 품질을 해치지 않게 됐습니다.
  • [#7 / e0f0e8f] 문제: 앱 시작 시 로케일 초기화 과정에서 메인 스레드 블로킹 가능성이 있었습니다. 수정: 시작 경로에서 runBlocking 의존을 제거하고 비동기 흐름으로 전환했습니다. 결과: 콜드 스타트 안정성과 응답성이 좋아졌습니다.
  • [#6 / 92e6fb0] 문제: 설정 화면 CSV 내보내기 결과 스낵바가 실제 UI에서 보이지 않는 경로가 있었습니다. 수정: 스낵바 호스트를 Scaffold에 올바르게 연결했습니다. 결과: 성공/실패 피드백이 사용자에게 정상 노출됩니다.
  • [#5 / 1982a03] 문제: 업데이트 시 Room fallback 경로로 인해 기존 데이터가 삭제될 위험이 있었습니다(치명적). 수정: 파괴적 fallback을 제거하고 명시적 마이그레이션 경로로 전환했습니다. 결과: 업데이트 시 데이터 보존 안정성이 크게 올라갔습니다.
  • [#4 / 74c3b84] 문제: 예외 단어 중복 저장 및 키 충돌로 크래시 가능성이 있었습니다. 수정: 중복 방지 및 충돌 안전 처리를 추가했습니다. 결과: 예외 단어 관리가 더 안정적으로 동작합니다.
  • [#3 / fd516a1] 문제: 온보딩에서 콘텐츠가 잘리는 화면이 있었습니다. 수정: 온보딩 콘텐츠를 스크롤 가능하게 변경했습니다. 결과: 작은 화면/긴 텍스트에서도 온보딩이 잘리지 않습니다.
  • [#2 / f52440e] 문제: Edge-to-edge 관련 deprecated API를 사용하고 있었습니다. 수정: 최신 권장 경로로 교체했습니다. 결과: 최신 Android 동작과의 호환성이 개선됐습니다.
  • [#1 / 6e83d0d] 문제: 메인 화면군에서 safe drawing 처리 일관성이 부족해 기기별 여백/겹침 문제가 생길 수 있었습니다. 수정: 주요 화면 인셋 처리 로직을 정리했습니다. 결과: 다양한 화면/시스템바 환경에서 레이아웃 안정성이 좋아졌습니다.
  • [커밋 0f851e3] 코드 품질 파이프라인을 강화했습니다. Checkstyle/PMD/SpotBugs/ErrorProne 및 qualityGate를 추가해 정적 분석 기준을 자동화했습니다.
  • [#9 / 5c0941f] 문제: 최신 버전 확인과 릴리즈 노트 표시 기능이 제한적이었습니다. 수정: GitHub 릴리즈 조회, 언어별 노트 파싱(<!-- lang:ko -->, <!-- lang:en -->), 업데이트 권장 다이얼로그를 구현했습니다. 결과: 앱 안에서 최신 변경사항과 업데이트 안내를 더 명확히 확인할 수 있습니다.
  • [#10 / 787db64] 문제: ConversionEngine 책임이 뭉쳐 유지보수 난도가 높았습니다. 수정: 엔진 내부 책임을 분리하고 불필요 suppress 의존을 줄였습니다. 결과: 코드 가독성과 변경 안정성이 향상됐습니다.
  • [#11 / 787db64] 문제: 리스트 indexOf 중심 조회로 변환 경로 성능 저하 여지가 있었습니다. 수정: 핵심 조회를 O(1) 룩업 중심으로 바꿨습니다. 결과: 변환 처리 성능이 개선됐습니다.
  • [#12 / 787db64] 문제: 하드코딩된 단어 데이터가 코드와 강하게 결합되어 있었습니다. 수정: 데이터/상수를 외부 구조로 분리했습니다. 결과: 데이터 유지보수와 확장이 쉬워졌습니다.
  • [#13 / 787db64] 문제: 복합 자모(겹받침/복합 모음) 엣지 케이스 정확도가 부족했습니다. 수정: 한글 조합/복원 로직을 보강했습니다. 결과: 난이도 높은 입력에서 복원 정확도가 개선됐습니다.
  • [#14 / 787db64] 문제: apple안녕처럼 붙은 혼합 토큰 처리 품질이 기대에 못 미쳤습니다. 수정: 혼합 문자열 분해/스코어링 경로를 개선했습니다. 결과: 붙어 있는 영한 텍스트 변환 품질이 올라갔습니다.
  • [#15 / 787db64] 문제: Dynamic Color 옵션이 있어도 실제 적용이 약했습니다. 수정: Android 12+에서 dynamicDarkColorScheme/dynamicLightColorScheme를 실적용하고 하위 버전은 fallback 팔레트를 사용하도록 정리했습니다. 결과: 시스템 테마와 색상 일관성이 개선됐습니다.
  • [#20 / 787db64] 문제: 저신뢰 변환 결과에 대한 사용자 가이드가 약했습니다. 수정: confidence 기반 경고/가이드를 결과 UI에 반영했습니다. 결과: 사용자가 결과를 더 안전하게 검토할 수 있습니다.
  • [#22 / 787db64] 문제: Quick Settings Tile 접근성 안내가 부족했습니다. 수정: label/description/상태 안내 문구를 보강했습니다. 결과: 접근성 서비스 사용 시 문맥 전달이 좋아졌습니다.
  • [#23 / 787db64 + 5ed1d7a] 문제: 기록 저장 원자성, direction 파싱 안전성, 외부 인텐트 처리 안정성, 시스템바/레이아웃 경계 이슈가 복합적으로 존재했습니다. 수정: 저장/파싱/오프로딩 경로를 하드닝하고, 스플래시·서브페이지·상하단 인셋·배너 표시를 재정렬했습니다. 결과: 전체 앱 안정성과 화면 일관성이 크게 향상됐습니다.
  • [#9/#23 / 5ed1d7a] 문제: 릴리즈 노트가 길면 읽기 어려웠고, 일부 화면에서 하단 시스템바 겹침/광고 다크모드 미반영이 있었습니다. 수정: 릴리즈 노트 다이얼로그 스크롤 보강, 서브 페이지 safe inset 처리, 광고 배너 다크 리소스 선택 로직 개선 및 투명 여백 트리밍을 적용했습니다. 결과: 읽기성/시각 품질/레이아웃 완성도가 좋아졌습니다.
  • [#17 / d8ca72a] 문제: 클립보드 오타 의심 텍스트를 선제적으로 제안하는 UX가 부족했습니다. 수정: 홈 화면 추천 카드(적용/닫기), 오탐 완화 휴리스틱, 설정 ON/OFF를 추가했습니다. 결과: 홈 플로우를 방해하지 않으면서 빠른 복구 제안을 받을 수 있습니다.
  • [#19 / d8ca72a] 문제: 검색에서 한글/초성/특수문자 입력 안정성이 부족했습니다. 수정: 안전한 FTS prefix 쿼리, LIKE fallback(와일드카드 이스케이프), 초성 전용 매칭 경로, 결과 병합/중복제거를 구현했습니다. 결과: 검색 정확도와 예외 입력 안정성이 향상됐습니다.
  • [#18 / d8ca72a] 문제: 테스트가 엔진 중심으로 편중되어 데이터 계층 회귀 탐지가 약했습니다. 수정: HistoryRepositoryImpl, HistorySearchPolicy, TextPayloadSanitizer, CsvExporter, AppPreferences 테스트를 추가하고 GitHub Actions unit-test 워크플로우를 구성했습니다. 결과: 회귀 탐지 범위와 CI 신뢰성이 강화됐습니다.
  • [빌드/품질 / d8ca72a+5ed1d7a] 빌드 스크립트 경고(redundant qualifier)를 정리하고 테스트 의존성을 확장해 빌드 가독성과 유지보수를 개선했습니다.

Close 되었지만 1.0.1 기능으로는 포함하지 않은 항목

  • [#16] 접근성 서비스 기반 전역 텍스트 즉시 변환은 프라이버시 민감도, 정책 심사 리스크, 오탐 운영비용을 고려해 이번 버전에서는 비채택으로 close 처리했습니다.
  • [#21] 이슈는 close 상태이나, 1.0.1 기준으로 별도 신규 migration instrumented 테스트 파일 추가는 포함되지 않았습니다(대신 unit test/CI 강화는 #18에 반영).

Typoon 1.0.1 Release Notes

You can download the apk file directly from the release page, or download/update it from the Google Play Store!

This update is strongly recommended and should be installed without fail. Due to this update, existing records may be deleted/reset. After this update, they will be preserved as is.

Complete Changes Since 1.0.0 (Commit/Issue Based)

  • [commit 0ff5508] Updated the app icon for better visual identity and launcher recognition.
  • [#8 / f093fcd] Problem: release artifacts could pollute source control. Fix: tightened .gitignore and untracked build outputs. Result: cleaner repository hygiene.
  • [#7 / e0f0e8f] Problem: app startup had potential main-thread blocking during locale initialization. Fix: removed startup runBlocking dependency and switched to async flow. Result: smoother cold start and better responsiveness.
  • [#6 / 92e6fb0] Problem: CSV export snackbar feedback in Settings could fail to appear. Fix: correctly wired snackbar host into Scaffold. Result: success/failure feedback now consistently visible.
  • [#5 / 1982a03] Problem: update path risked data loss due to destructive Room fallback (critical). Fix: replaced destructive fallback with explicit migrations. Result: much safer data preservation on updates.
  • [#4 / 74c3b84] Problem: duplicate exception-word inserts and key collisions could cause crashes. Fix: added duplicate prevention and collision-safe handling. Result: more stable dictionary/exception management.
  • [#3 / fd516a1] Problem: onboarding content could be clipped on some screens. Fix: made onboarding content scrollable. Result: no clipping on small screens or long text.
  • [#2 / f52440e] Problem: deprecated edge-to-edge API path was in use. Fix: migrated to current recommended API path. Result: improved platform compatibility.
  • [#1 / 6e83d0d] Problem: inconsistent safe-drawing behavior across major screens could cause overlap/spacing issues. Fix: normalized inset handling across main UI surfaces. Result: more predictable layout across devices.
  • [commit 0f851e3] Added stronger static analysis gates: Checkstyle/PMD/SpotBugs/ErrorProne and a unified qualityGate.
  • [#9 / 5c0941f] Problem: latest-version and release-note UX was limited. Fix: added GitHub release fetch, localized note parsing (<!-- lang:ko -->, <!-- lang:en -->), and update recommendation dialog. Result: clearer in-app update visibility.
  • [#10 / 787db64] Problem: ConversionEngine responsibilities were tightly coupled. Fix: refactored into clearer responsibilities and reduced suppression-heavy structure. Result: improved maintainability.
  • [#11 / 787db64] Problem: list indexOf-style lookups could degrade performance. Fix: moved key lookup paths to O(1)-oriented structures. Result: faster conversion paths.
  • [#12 / 787db64] Problem: hardcoded conversion data was tightly coupled to logic. Fix: separated data/constants from core logic. Result: easier updates and cleaner architecture.
  • [#13 / 787db64] Problem: edge cases with complex Hangul composition (double finals/compound vowels) reduced accuracy. Fix: reinforced Hangul composition/recovery logic. Result: better recovery quality on difficult inputs.
  • [#14 / 787db64] Problem: mixed-token strings like apple안녕 were not handled accurately enough. Fix: improved token split/scoring pipeline. Result: better mixed Korean/English conversion quality.
  • [#15 / 787db64] Problem: Dynamic Color setting existed but wasn’t fully applied. Fix: applied dynamicDarkColorScheme/dynamicLightColorScheme on Android 12+ with fallback palettes below. Result: better theme consistency with system colors.
  • [#20 / 787db64] Problem: low-confidence output lacked actionable UI guidance. Fix: added confidence-based warnings and user guidance in Result UI. Result: safer interpretation of uncertain outputs.
  • [#22 / 787db64] Problem: Quick Settings Tile accessibility context was limited. Fix: improved label/description/state messaging. Result: better accessibility clarity.
  • [#23 / 787db64 + 5ed1d7a] Problem: combined stability concerns around atomic history writes, direction parsing safety, external intent processing, and edge-to-edge behavior. Fix: hardened write/parse/off-main-thread paths and reworked splash/sub-page/system-bar/bottom-area layout handling. Result: stronger runtime stability and visual consistency.
  • [#9/#23 / 5ed1d7a] Problem: long release notes were hard to read; some pages had bottom-system-bar overlap; dark-mode ad banner selection had inconsistencies. Fix: improved release-note dialog scrolling, applied safe bottom inset on non-bottom-nav pages, and fixed dark-resource ad banner selection with transparent-edge trimming. Result: better readability and polished UI behavior.
  • [#17 / d8ca72a] Problem: no proactive typo suggestion for suspicious clipboard text. Fix: added a non-intrusive home suggestion card (Apply/Dismiss), heuristic filtering, and Settings toggle. Result: faster recovery without disrupting the home flow.
  • [#19 / d8ca72a] Problem: history search stability/quality for Hangul/choseong/special chars needed improvement. Fix: added safe FTS prefix builder, LIKE fallback with escaping, choseong-only matching path, and merged deduplicated result strategy. Result: better search quality and safer handling of edge inputs.
  • [#18 / d8ca72a] Problem: tests were too concentrated on engine logic, leaving data-layer regressions less protected. Fix: added tes...
Read more

v1.0.0 릴리즈

Choose a tag to compare

@gaon12 gaon12 released this 02 Apr 14:04

첫번째 버전입니다. 버그가 있을 수 있습니다.

버그나 기능 개선 등은 언제든 환영입니다!

This is the first version. There may be bugs.

Bug reports or feature improvements are always welcome!