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
13 changes: 13 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,16 @@ on:
type: boolean
required: true
default: true
is-preprelease:
description: "Is a Pre-Release"
type: boolean
required: true
default: false
is-latest:
description: "Is the latest release"
type: boolean
required: true
default: true

env:
CARGO_TERM_COLOR: always
Expand Down Expand Up @@ -272,6 +282,9 @@ jobs:
token: ${{ secrets.BOT_TOKEN }}
name: Version ${{ github.event.inputs.version }}
tag_name: v${{ github.event.inputs.version }}
body_path: ${{ github.workspace }}/changelogs/${{ github.event.inputs.version }}.md
prerelease: ${{ github.event.inputs.is-preprelease }}
make_latest: ${{ github.event.inputs.is-latest && !github.event.inputs.is-preprelease }}
files: |
target/release/tiny4linux-gui
target/release/tiny4linux-cli
Expand Down
27 changes: 27 additions & 0 deletions changelogs/1.1.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
## What's Changed

This is the first Release under the new OpenFoxes-Version of [Tiny2](https://github.com/cgevans/tiny2).

It contains a few refactorings and slight improvements:

- Formatting and basic refactorings by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/11
- General Refactorings by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/12
- UI Improvements by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/15
- Test-Pipeline & exact versioning by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/16
- #17: Added a release process by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/19

As well as the configuration of Renovate for automatically upgrading dependencies:

- Configure Renovate by @renovate[bot] in https://github.com/OpenFoxes/Tiny4Linux/pull/1
- ⬆️ Upgrade Rust crate hexdump to v0.1.2 by @renovate[bot] in https://github.com/OpenFoxes/Tiny4Linux/pull/10
- ⬆️ Upgrade Rust crate errno to v0.3.14 by @renovate[bot] in https://github.com/OpenFoxes/Tiny4Linux/pull/8
- ⬆️ Upgrade Rust crate nix to 0.30.0 by @renovate[bot] in https://github.com/OpenFoxes/Tiny4Linux/pull/3
- ⬆️ Upgrade Rust crate rosc to 0.11.0 by @renovate[bot] in https://github.com/OpenFoxes/Tiny4Linux/pull/4
- ⬆️ Upgrade Rust crate clap to v4.5.48 by @renovate[bot] in https://github.com/OpenFoxes/Tiny4Linux/pull/7

## New Contributors

- @Hirschfuchs made their first contribution in https://github.com/OpenFoxes/Tiny4Linux/pull/11
- @renovate[bot] made their first contribution in https://github.com/OpenFoxes/Tiny4Linux/pull/1

**Full Changelog**: https://github.com/OpenFoxes/Tiny4Linux/commits/v1.1.0
7 changes: 7 additions & 0 deletions changelogs/1.2.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
## What's Changed

This Release brings read and write controls for the sleep-mode of Tiny cameras. Sleep can be turned on or off.

- #13: Control for Sleep/Wake Mode by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/20

**Full Changelog**: https://github.com/OpenFoxes/Tiny4Linux/compare/v1.1.0...v1.2.0
15 changes: 15 additions & 0 deletions changelogs/1.3.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
## What's Changed

This Release brings the feature of controlling the cameras speed while tracking. Like in OBSBOT Center you have two speeds to choose from — Standard and Sport. You can switch these as you like from within Tiny4Linux now.

- #21: Implemented Tracking Speed Control by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/23

Furthermore the rework of the UI has begun. In the first iteration, the goal is something close to the visual appeal of OBSBOT Center. In the future, multiple themes with user preferences is thinkable.

- First GUI rework by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/22

Upgrades:

- ⬆️ Upgrade Rust crate thiserror to v2 by @renovate[bot] in https://github.com/OpenFoxes/Tiny4Linux/pull/5

**Full Changelog**: https://github.com/OpenFoxes/Tiny4Linux/compare/v1.2.0...v1.3.0
16 changes: 16 additions & 0 deletions changelogs/1.4.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
## What's Changed

The feature I was missing the most, apart from the Sleep-/Wake-Toggle, was the **Preset-Control**. This release brings you the ability to **apply the presets configured in OBSBOT Center** directly from Tiny4Linux. (The configuration still has to be done in OBSBOT Center, see README)

- #14: Preset Controls by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/29
- 🐛 Switch "Sleep"-Toggle on preset selection by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/31

Furthermore the manual **migration to iced**, the GUI framework, **version 0.13** was done:

- ⬆️ Migration to iced 0.13 by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/30

Small Changes:

- 🔥 Remove double license information by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/25

**Full Changelog**: https://github.com/OpenFoxes/Tiny4Linux/compare/v1.3.0...v1.4.0
1 change: 1 addition & 0 deletions changelogs/1.4.2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
This version exists only for deployment test purposes and is a dead end head. The deployment to the AUR was successfull with this state. Therefore, as described in #37, main will be reset and the corresponding PR will be reposted.
19 changes: 19 additions & 0 deletions changelogs/1.4.3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
## What's Changed

### AUR Deployment

This release focuses on the deployment in the Arch User Repository as described in #37

- #37: Deployment to the AUR by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/43

### Technical

In preparation the binary for the GUI-version was renamed. The binary for the OSCServer will be deleted in the scope of #36

- Renamed GUI-Binary by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/41

### Other Changes

- ⬆️ Lockfile-Maintenance by @renovate[bot] in https://github.com/OpenFoxes/Tiny4Linux/pull/32

**Full Changelog**: https://github.com/OpenFoxes/Tiny4Linux/compare/v1.4.0...v1.4.3
31 changes: 31 additions & 0 deletions changelogs/2.0.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
## What's Changed

This release introduces an entirely new way to use and integrate Tiny4Linux into everyday workflows: Starting with version 2.0, all webcam control functions are available not only through the graphical interface but also as a CLI tool.

### Breaking Changes

The OSCServer got entirely removed. Please refer to the original repository https://github.com/cgevans/tiny2 in order to use that feature.

- #36: Removed no longer supported parts of the project by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/45

### New Features

The big change with version 2.0 is the CLI Tool. Please refer to the README in order to install it and lookup the description at https://github.com/OpenFoxes/Tiny4Linux/blob/22f24be22eb327ee7e4bbed5531bc7429d128065/docs/cli.md

- #34: Implemented a CLI to control the camera by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/48
- New parts in Readme by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/51

<img width="600" alt="screenshot of the help command in the CLI" src="https://github.com/user-attachments/assets/852176d5-ec0a-4980-9bb7-7e43d1cac4dc" />

Also the GUI-version got a new icon, dynamically pulled from a designated repository:

- ➕ #46: Added dynamic assets by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/49

Currently there is an installation error though. It is known and documented in #52 and should be fixed shortly.

Other changes:

- 📝 #37: Installation over the AUR documented by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/44
- 🧑‍💻 Activated Github-Issues-Plugin by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/47

**Full Changelog**: https://github.com/OpenFoxes/Tiny4Linux/compare/v1.4.3...v2.0.0
16 changes: 16 additions & 0 deletions changelogs/2.0.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
## Changes in Version 2.0

Please look at https://github.com/OpenFoxes/Tiny4Linux/releases/tag/v2.0.0 for the major changes in v2.0

## What's Changed

This version brings just a small bugfix for an installation problem of version 2.0.0 of the GUI-version in the AUR:

- 🚑️ #52: Fixed wrong path for application icon by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/53

It also brings controls to the deployments, so that the CLI-version didn't get deployed without any changes:

- 👷 #54: Added controls for the deployments to AUR by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/55

**Full Changelog**: https://github.com/OpenFoxes/Tiny4Linux/compare/v2.0.0...v2.0.1
**Full Changelog since 1.4**: https://github.com/OpenFoxes/Tiny4Linux/compare/v1.4.3...v2.0.1
35 changes: 35 additions & 0 deletions changelogs/2.0.2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
## What's Changed

This is a small release with a few, primarily technical, improvements.

### Logging

Most important of all is the update to the logging: only with activated debug (GUI) or verbose-flag (CLI), the raw data of the communication to and from the camera is tracked.

- #64: Adjusted debug logging by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/65

### CLI-Description

On use of the `help`-command, the general description of the `Cargo.toml` file was shown. It faultfully represented specifically the GUI-version. Now it shows the more general description "Controls for the OBSBot Tiny2 on Linux".

- 📝 Updated description to fit the CLI version by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/63

### Technical: Renovate & Codecoverage

In the background, there were some minor changes. The dependency update bot couln't read the entries for the asset-repo:

- 🔧 #50: Switched out faulty renovate config entries by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/56

Furthermore there was an update to the tests. Now the test results are uploaded to Codecov to enable the project to track the code coverage in the future. Right now, there are no tests.

- 👷 Coverage is tracked and uploaded to Codecov by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/24
- Separate manual test pipeline by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/60
- 👷 Renamed manual test job by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/61

### Dependency Updates

- ⬆️ Upgrade Rust crate clap to v4.5.49 by @renovate[bot] in https://github.com/OpenFoxes/Tiny4Linux/pull/33
- ⬆️ Lockfile-Maintenance by @renovate[bot] in https://github.com/OpenFoxes/Tiny4Linux/pull/57
- ⬆️ Upgrade Rust crate clap to v4.5.50 by @renovate[bot] in https://github.com/OpenFoxes/Tiny4Linux/pull/59

**Full Changelog**: https://github.com/OpenFoxes/Tiny4Linux/compare/v2.0.1...v2.0.2
11 changes: 11 additions & 0 deletions changelogs/2.0.3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
## What's Changed

This update brings an improvement regarding the amount of dependencies. Installing a specific version (GUI/CLI), you now don't have to download all the dependencies the selected version doesn't need:

- #58: Improve number of necessary dependenices by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/68

### Other

- 🚚 Change file type of license by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/66

**Full Changelog**: https://github.com/OpenFoxes/Tiny4Linux/compare/v2.0.2...v2.0.3
19 changes: 19 additions & 0 deletions changelogs/2.1.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
## What's Changed

This release focuses on the rework of the GUI. With more features, a more intuitive and flexible UI became necessary.

### UI Version 2

The new UI is available in two modes — Dashboard Mode, containing all the available features, and Widget Mode, targeted for the smallest possible window for everyday use.

- #35: UI 2.0 by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/77
- New Icon for Widget Mode by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/79

### Dependencies

- ⬆️ Upgrade GitHub Artifact Actions (major) by @renovate[bot] in https://github.com/OpenFoxes/Tiny4Linux/pull/70
- ⬆️ Lockfile-Maintenance by @renovate[bot] in https://github.com/OpenFoxes/Tiny4Linux/pull/71
- ⬆️ Upgrade Rust crate clap to v4.5.51 by @renovate[bot] in https://github.com/OpenFoxes/Tiny4Linux/pull/74
- ⬆️ Upgrade Rust crate clap_complete to v4.5.60 by @renovate[bot] in https://github.com/OpenFoxes/Tiny4Linux/pull/75

**Full Changelog**: https://github.com/OpenFoxes/Tiny4Linux/compare/v2.0.3...v2.1.0
7 changes: 7 additions & 0 deletions changelogs/2.1.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
## What's Changed

This is a small addition to version 2.1.0 (https://github.com/OpenFoxes/Tiny4Linux/releases/tag/v2.1.0).
It contains a bugfix regarding the version number. The command `t4l version` delivered the wrong version number, indicating that the tarballs that are packed on release contained the wrong version number. That issue was solved successfully in 60ed5e7.
Also, the version number has been added to the GUI in bfb7868.

**Full Changelog**: https://github.com/OpenFoxes/Tiny4Linux/compare/v2.1.0...v2.1.1
38 changes: 38 additions & 0 deletions changelogs/2.1.2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
## What's Changed

This Patch updates **mainly the codebase and documentation**. For the **CLI-version** there is a **small bugfix** for the command `preset`. When given no specific preset number, a prompt is shown requesting to submit a number. That prompt contained the wrong literal:

- 💬 Corrected faulty cli prompt by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/96

### Updated Documentation

The documentation hasn't fully been updated for the new GUI (https://github.com/OpenFoxes/Tiny4Linux/releases/tag/v2.0.0) yet. Now, the screenshot at the top is switched out and a table shows a comparison of the GUI modes.
Also the developer documentation now contains instructions to run the CLI locally.

- #82: Updated Screenshots by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/90
- 📝 Guide to run the CLI as a developer by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/93

### Updated Codebase

A good project should have a clean, readable and maintainable codebase. Using `cargo fmt` the central `rust`-code was already formatted correctly.
For other file formats, such as markdown (documentation, `.md`) or YAML (configurations, `.yml`), there hasn't been a formatter yet. Now, prettier cleans those parts, that are not formatted by cargo.

- #91: Formatting with Prettier by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/92
- 🧑‍💻 #91: Configured automatic prettier apply by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/95

### Dependency Updates

- ⬆️ Lockfile-Maintenance by @renovate[bot] in https://github.com/OpenFoxes/Tiny4Linux/pull/83
- ⬆️ Upgrade Rust crate clap to v4.5.52 by @renovate[bot] in https://github.com/OpenFoxes/Tiny4Linux/pull/87
- ⬆️ Upgrade Rust crate clap to v4.5.53 by @renovate[bot] in https://github.com/OpenFoxes/Tiny4Linux/pull/88
- ⬆️ Upgrade Rust crate clap_complete to v4.5.61 - autoclosed by @renovate[bot] in https://github.com/OpenFoxes/Tiny4Linux/pull/89
- ⬆️ Upgrade Rust crate iced_font_awesome to 0.3.0 by @renovate[bot] in https://github.com/OpenFoxes/Tiny4Linux/pull/84
- ⬆️ Lockfile-Maintenance by @renovate[bot] in https://github.com/OpenFoxes/Tiny4Linux/pull/85
- ⬆️ Upgrade tiny4linux_assets digest to 57c10f2 by @renovate[bot] in https://github.com/OpenFoxes/Tiny4Linux/pull/98

Also, there was an upgrade to the github action `checkout`, that is used in all pipelines. It caused the deployment to fail. Thats why it was reverted later on:

- ⬆️ Upgrade actions/checkout action to v6 by @renovate[bot] in https://github.com/OpenFoxes/Tiny4Linux/pull/94
- Revert "⬆️ Upgrade actions/checkout action to v6" 2 by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/101

**Full Changelog**: https://github.com/OpenFoxes/Tiny4Linux/compare/v2.1.1...v2.1.2
44 changes: 44 additions & 0 deletions changelogs/2.2.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
## What's Changed

This update focuses on the **Internationalization** (I18n) of the application. It is now available in the following **languages**:

- German
- English
- Spanish
- French
- Italian
- Turkish
- Ukranian

The app automatically **detects your systems language**. You can also use the new `lang`-flag on startup.

- 🌐 #69: I18n (Multiple Language Support) by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/122

Known Bugs:

- #125 Some languages, like arabic and certain asian languages, get set by the automation, but have no supported font yet. I will address this issue shortly.
- #126 The deployed t4l command doesn't support the new `lang`-flag

### Further Changes

Under the hood, the first unit tests were established:

- ✅ #106: Added Unit tests for the lib-elements by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/118

And refactorings were done:

- 🏗️ Refactoring of the Lib by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/109
- #111: Builder Pattern Refactoring by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/112
- ⚰️ Removed redundant position id check by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/117

Also in #103, all labels on this repository have been improved with corresponding emoji.

- 🔧 #103: Updated the label for renovate PRs by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/104

### Dependency Upgrades

- ⬆️ Lockfile-Maintenance by @renovate[bot] in https://github.com/OpenFoxes/Tiny4Linux/pull/105
- ⬆️ Upgrade Dependency prettier to v3.7.4 by @renovate[bot] in https://github.com/OpenFoxes/Tiny4Linux/pull/110, https://github.com/OpenFoxes/Tiny4Linux/pull/113 & https://github.com/OpenFoxes/Tiny4Linux/pull/115
- ⬆️ Lockfile-Maintenance by @renovate[bot] in https://github.com/OpenFoxes/Tiny4Linux/pull/114

**Full Changelog**: https://github.com/OpenFoxes/Tiny4Linux/compare/v2.1.2...v2.2.0
8 changes: 8 additions & 0 deletions changelogs/2.2.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
## What's Changed

This patch fixes two bugs regarding the new internationalization, introduced in https://github.com/OpenFoxes/Tiny4Linux/releases/tag/v2.2.0

- 🔥 #125: Updated languages by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/127
- 🐛 #126: Added missing arg `lang` by @Hirschfuchs in https://github.com/OpenFoxes/Tiny4Linux/pull/128

**Full Changelog**: https://github.com/OpenFoxes/Tiny4Linux/compare/v2.2.0...v2.2.1
28 changes: 28 additions & 0 deletions changelogs/2.2.2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
## Major-Version-Repositories (AUR)

This release adds separate deployments to major version repositories in the AUR.
What does it mean for you?

If you are using Arch Linux and pull this application from the AUR, you now have two options to install it:

- The latest (released) version `tiny4linux-gui` and `tiny4linux-cli`
- A specific major version `tiny4linux-gui-v2` and `tiny4linux-cli-v2`

Major updates usually contain great new features, but also breaking changes.
There could always be features missing, that you need and have integrated into your workflows.

### Example

You currently use the version fictitious version `42.6.9` of the CLI. You use the feature `t4l sleep` in an automated script.
Now there is an update to version `43.0.0` of the CLI, which for some reason renames the feature `t4l sleep` to `t4l sleep-time`. You use a package manager to update your system. That will break your automation, because of the breaking change.
If you want to avoid unexpected breakages, you can use the major version repository, in this case the fictitious `tiny4linux-cli-v42`. You would then have to manually replace the package by `tiny4linux-cli-v43`, as soon as you want to update.

### Planned Breaking Changes

In version 3 it is planned to add access to your file system to store user preferences and settings. It is not a direct breaking change, but it will be a major change, that you might not want.
The will also be a portable version, which won't write to your file system. But the main repo (`tiny4linux-gui`/`tiny4linux-cli`) will contain this change.
If you want to keep your app stable, you can now switch to the major version repository `tiny4linux-gui-v2`/`tiny4linux-cli-v2`.

## Further Changes

The changelog is now checked into this repository as code (#134).