Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
119 changes: 119 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
# Changelog

The version lives in `versionName` in `android/app/build.gradle` (`v2`) and in
`app/build.gradle` (`basic`). Builds are published only as the
[`latest`](https://github.com/OpenIPC/decoder/releases/tag/latest) release, which holds the
newest `v2` and `basic` builds, and in the OpenIPC Telegram channel; there are no releases
per version (#194). This file is the change history: one section per `v2` version, newest
first, then the legacy `basic` line.

## 2.17 — 2026-10-17

- Turn in the camera settings (Auto, 0°, 90°, 180°, 270°), stored per slot; H.264/H.265 are
turned by the decoder (Android 6+), MJPEG by the view; Auto keeps the URL's `?rotate=` and
the toys' defaults (PR #225, part of #201).

## 2.16 — 2026-10-16

- Jieli YL3 toys: frames built from several pieces in one datagram, no more freezes and
broken colours (PR #224, closes #187).
- A flaky unit test of the RTSP heartbeat is stable again (PR #227).

## 2.15 — 2026-10-16

- Toy drones: FLOW-UFO (`flowufo://`), KY UFO RTSP (MJPEG turned 270°, `?rotate=`
overrides it) and Jieli (PR #215, part of #187, closes #200).

## 2.13 — 2026-10-16

- A swipe from the screen edge (pulling the status bar) no longer opens the menu
(PR #216, #213).

## 2.12 — 2026-10-15

- The system bars stay hidden over the video on Android 15, the debug page shows only LAN
addresses, the menu no longer leaks over other windows (PR #206, #202, #203, #205).

## 2.11 — 2026-10-15

- Save report: stats and the log in one file, from the app and from the debug page
(PR #208, #207).

## 2.10 — 2026-10-15

- A transient decoder loss no longer drops the learnt decoding capacity to the floor
(PR #190, #189).
- Releases: only `latest` and test pre-releases, no release per version (PR #195, #194);
docs on `mapping.txt` (#193).

## 2.09 — 2026-10-15

- The single view draws on a SurfaceView instead of a TextureView, which stalled on some TV
boxes (PR #185, #76).

## 2.08 — 2026-10-15

- Smaller APK: launcher icon / TV banner and the debug page (PR #184, part of #181).

## 2.07 — 2026-10-14

- WebUI inside the system bars on Android 15 (PR #180, #169).
- CI keeps the R8 `mapping.txt` of every build and release, to read obfuscated stack traces
(PR #183, #181).

## 2.06 — 2026-10-14

- The menu as an 8 / 4 / 4 grid with words; the debug page's Info is off by default
(PR #178, #174, #176, #177).

## 2.05 — 2026-10-14

- Reset in the menu clears all settings after a confirmation; the menu in two columns
(PR #172, #171, #173).

## 2.04 — 2026-10-14

- The picture size comes from the decoder's crop rectangle: 1080p streams are no longer
shown as 1920×1088, and the single view keeps the aspect ratio (PR #167, #166).

## 2.03 — 2026-10-14

- The debug page keeps the grid in the single view, with short stream checks (PR #163,
#100).

## 2.02 — 2026-10-14

- WebUI full screen, resized above the on-screen keyboard (PR #161, #160).
- Issue forms in English, Chinese and Russian; a fixed title for device reports (PR #164).

## 2.01 — 2026-10-13

- S is the playback mode (every frame or key frames only) in every view, Q is the view
(PR #155, #153).
- A release of its own for every 2.xx version (PR #158, #157); replaced by `latest` only in
2.10.

## 2.00 — 2026-10-13

- Version 2.00 for the `v2` branch (`versionCode` 25); `basic` stays 1.07.1, so a `v2` build
installs over it. The version is shown from `versionName` everywhere: the menu, the debug
page, `/stats.json`, the user agent (PR #154, #152).

## Before 2.00

Versions 1.x of the `v2` line, up to 1.28 (2026-05-04) and the work merged until
2026-10-13 (PRs up to #147): see the git history and the merged pull requests.

## basic (legacy)

`basic` is the original app, `decoder.apk` in the `latest` release; it gets fixes only.

### 1.07.1 — 2026-10-12

- Robust RTSP handshake, end-of-stream handling, thread lifecycle and SDP parsing (PR #41,
#36–#40).

### 1.07 — 2025-11-11

- The WebUI window works on older devices. Earlier versions (1.04–1.06): see "Version
history" in the README of the `basic` branch.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@ Ready-to-install builds are in the [**latest** release](https://github.com/OpenI

Every build is replaced in `latest` by the next one. Development is continuous, so there are no releases per version; every `v2` and `basic` build is also posted with its version and commit to the OpenIPC Telegram channel ([our channels](https://openipc.org/our-channels)).

The change history of every version is in [CHANGELOG.md](CHANGELOG.md).

A beta channel is available on [Google Play](https://play.google.com/apps/internaltest/4701231141824898735). To join it, send your e-mail through the [OpenIPC Telegram channels](https://openipc.org/our-channels).

## Requirements
Expand Down
2 changes: 2 additions & 0 deletions README.ru.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@

Каждая новая сборка заменяет предыдущую в `latest`. Разработка идёт непрерывно, поэтому отдельных релизов по версиям нет; каждая сборка веток `v2` и `basic` с номером версии и коммитом публикуется в Telegram-канале OpenIPC ([наши каналы](https://openipc.org/our-channels)).

История изменений по версиям — в [CHANGELOG.md](CHANGELOG.md).

Есть бета-канал в [Google Play](https://play.google.com/apps/internaltest/4701231141824898735). Чтобы попасть в него, пришлите свой e-mail через [Telegram-каналы OpenIPC](https://openipc.org/our-channels).

## Требования
Expand Down
2 changes: 2 additions & 0 deletions README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@

每次新构建都会替换 `latest` 中的上一个构建。开发是持续进行的,因此不再按版本单独发布;`v2` 和 `basic` 分支的每个构建连同版本号和提交都会发布到 OpenIPC 的 Telegram 频道([我们的频道](https://openipc.org/our-channels))。

各版本的变更记录见 [CHANGELOG.md](CHANGELOG.md)。

[Google Play](https://play.google.com/apps/internaltest/4701231141824898735) 上提供测试渠道。如需加入,请通过 [OpenIPC Telegram 频道](https://openipc.org/our-channels)发送您的电子邮箱。

## 系统要求
Expand Down
1 change: 1 addition & 0 deletions docs/testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ CI is the reference: the project does not depend on local builds.

- `v2` is **2.xx** (from 2.00). Every pull request that changes the app bumps `android/app/build.gradle` as its last commit before the merge: `versionName` +0.01, `versionCode` +1. Docs-only and CI-only pull requests do not.
- `basic` keeps its 1.07.x line.
- **`CHANGELOG.md`** is the change history: the version bump commit of a pull request that changes the app adds the version's section (`## <version> — <date>`, newest first) in the same pull request.
- Development is continuous, so there is **no release per version** (#194). The [`latest`](https://github.com/OpenIPC/decoder/releases/tag/latest) release always holds the newest `v2` and `basic` builds. Every `v2` and `basic` build is also posted to the OpenIPC Telegram channel with its version and commit, and that is where their older builds can be found. Builds of other branches are only workflow artifacts of their runs (90 days).
- **Test pre-releases**: to let a reporter test a branch, a pre-release named after the issue is made by hand from the branch's CI artifact, e.g. [`toys-187-test2`](https://github.com/OpenIPC/decoder/releases/tag/toys-187-test2) for #187. It is deleted when the test is over, or replaced by the next one.

Expand Down
Loading