Skip to content

Release: v2.71.0 - #2705

Merged
CarterLi merged 31 commits into
masterfrom
dev
Nov 6, 2026
Merged

CarterLi merged 31 commits into
masterfrom
dev

Conversation

@CarterLi

@CarterLi CarterLi commented Nov 5, 2026

Copy link
Copy Markdown
Member

Checklist

  • I have tested my changes locally.

UnixUserDev and others added 30 commits October 16, 2026 16:41
* Logo (Builtin): add Tiny Core Linux

* Logo (Builtin): use only the TinyCore name for Tiny Core

---------

Co-authored-by: UnixUserDev <172555708+UnixUserDev@users.noreply.github.com>
* Format: fix substring ends before the start of the string

Closes #2668

Signed-off-by: Don Yin <Don_Yin@outlook.com>

* Doc: moves changelog entry to Unreleased [ci skip]

I moved the unreleased fix out of the 2.70.0 section.

Signed-off-by: Don Yin <Don_Yin@outlook.com>

---------

Signed-off-by: Don Yin <Don_Yin@outlook.com>
ffGetTerminalResponse() polls only before the first read(). If the terminal
sends a response that is cut short (e.g. `\e[4;800` without the rest), the
following read() in the loop blocks forever because the tty is in
non-canonical mode with VMIN=1.

Wait with the same timeout before every subsequent read() as well.
Same issue as on Unix: ffGetTerminalResponse() waits for input only before
the first ReadFile(). If the terminal answers only part of the request
(e.g. one of the two OSC 10/11 replies), the next ReadFile() blocks forever.

Wait with the same timeout before every subsequent ReadFile() as well, and
restore the console mode on that error path. While waiting, also skip
key-up records: ReadFile() returns no data for them, so one left alone in
the buffer would end the wait and the following ReadFile() would block.
In libdrm/amdgpu.ids, device IDs are formatted with 4 hex digits and
revision IDs with 2 uppercase hex digits (e.g. `1681,\t0B,`). Using
`%04X,\t%02X,` ensures both fields match the file syntax even when
values have leading zeros.
When a `{?arg}` / `{/arg}` conditional is skipped, the end of the skipped part
was the next `{?}` / `{/}` in the format string, even if it closed a
conditional nested in it. The text after the nested conditional was printed
and the real closing `{?}` / `{/}` was reported as an invalid placeholder.
A literal `{{?}}` inside the skipped part also ended it.

Skip to the `{?}` / `{/}` that matches the opening one, like the printing path
already does.
Numbers that don't fit in 32 bits were truncated, so `{4294967297}` was read
as `{1}`, `{4294967296}` as the next argument, and `{$4294967297}` as the
first constant. The same applied to the start, end and length of `~`, `:`, `<`,
`>` and `|`. Clamp them instead, so that they stay out of range.

Also avoid negating INT32_MIN for the ellipsis length of `{1:-2147483648}`,
which is a signed integer overflow.
`{1~20,30}` printed the placeholder as is, because the `,end` part was only
checked when the start index was inside the string. `{1~20}` printed nothing.
Parse and check the whole range first, so that a valid range that lies outside
of the string gives an empty result.
* Logo: add AstrOS

* Update ASCII art in astros.txt

---------

Co-authored-by: Carter Li <CarterLi@users.noreply.github.com>
* Logo: add ArmadaOS builtin ASCII logo

Closes #2641

* Change logo name from 'armada' to 'Armada'

* Update ASCII art in armada.txt

---------

Co-authored-by: Abhipsita-coder <76418226+Abhipsita-coder@users.noreply.github.com>
Co-authored-by: Carter Li <CarterLi@users.noreply.github.com>
Bumps the github-actions group with 6 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [actions/upload-artifact](https://github.com/actions/upload-artifact) | `7.0.1` | `7.0.2` |
| [actions/download-artifact](https://github.com/actions/download-artifact) | `8.0.1` | `8.0.2` |
| [cross-platform-actions/action](https://github.com/cross-platform-actions/action) | `1.6.0` | `1.7.0` |
| [github/codeql-action/init](https://github.com/github/codeql-action) | `4.38.2` | `4.39.1` |
| [github/codeql-action/analyze](https://github.com/github/codeql-action) | `4.38.2` | `4.39.1` |
| [vmactions/solaris-vm](https://github.com/vmactions/solaris-vm) | `1.4.1` | `1.4.2` |



Updates `actions/upload-artifact` from 7.0.1 to 7.0.2
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](actions/upload-artifact@043fb46...cf430e0)

Updates `actions/download-artifact` from 8.0.1 to 8.0.2
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](actions/download-artifact@3e5f45b...9000827)

Updates `cross-platform-actions/action` from 1.6.0 to 1.7.0
- [Release notes](https://github.com/cross-platform-actions/action/releases)
- [Changelog](https://github.com/cross-platform-actions/action/blob/master/changelog.md)
- [Commits](cross-platform-actions/action@e0b9770...82668f1)

Updates `github/codeql-action/init` from 4.38.2 to 4.39.1
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@2892aa5...9b32540)

Updates `github/codeql-action/analyze` from 4.38.2 to 4.39.1
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@2892aa5...9b32540)

Updates `vmactions/solaris-vm` from 1.4.1 to 1.4.2
- [Release notes](https://github.com/vmactions/solaris-vm/releases)
- [Commits](vmactions/solaris-vm@87d3c43...1c16697)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: 7.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: actions/download-artifact
  dependency-version: 8.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: cross-platform-actions/action
  dependency-version: 1.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: github/codeql-action/init
  dependency-version: 4.39.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: github/codeql-action/analyze
  dependency-version: 4.39.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: vmactions/solaris-vm
  dependency-version: 1.4.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Mirrors the Linux HWCAP based logic so both platforms report the same march.
Documents the CP xxxx registry encoding, the field offsets/minimums and how to extend the detection.
The resource table decoder carried its own UTF-8 encoder for the strings
of a UTF-16 pool. The shared helper does the same and additionally maps a
code point outside U+10FFFF to U+FFFD instead of emitting four bytes that
are not valid UTF-8.
The builtin logo, or a text file in logo syntax, drawn as an extruded slab:
the front is the art as it is, the back is the art mirrored, and the side
walls are shaded with block glyphs. Rendering is pure: no terminal, no
input, no timer.

`--logo-type spin` hands every frame to the normal logo pipeline, so the
modules are laid out beside it exactly as they are for any other type, and
the first frame without --watch is byte-identical to the same art printed
as a builtin logo.

The rotation is driven by the `--watch` loop: `ffSpinTick()` runs once per
refresh and `ffLogoPrint()` is called only when it reports a step, so the
logo and the modules can never drift apart, and a build that never uses the
type costs one comparison per refresh.

Speed is set either as degrees per frame (--logo-spin-speed-per-frame,
default 10) or as seconds per revolution (--logo-spin-speed-per-round,
read from the clock and winning over the former when both are given). Both
take negative values to turn the other way, and --logo-spin-angle picks the
frame to start from.
@CarterLi
CarterLi merged commit c9943cc into master Nov 6, 2026
51 checks passed
CarterLi added a commit that referenced this pull request Nov 6, 2026
---------

Signed-off-by: Don Yin <Don_Yin@outlook.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: UnixUserDev <spaceisreallycool1@gmail.com>
Co-authored-by: UnixUserDev <172555708+UnixUserDev@users.noreply.github.com>
Co-authored-by: berce <75228263+bercedev@users.noreply.github.com>
Co-authored-by: Don Yin <65135356+Don-Yin@users.noreply.github.com>
Co-authored-by: ihsandeniz <132747884+ihsandeniz@users.noreply.github.com>
Co-authored-by: Kushagra Kumar <kkushagra86@gmail.com>
Co-authored-by: mishalshanavas <mishalshanavas8@gmail.com>
Co-authored-by: arxhr007 <aaron123thomas098@gmail.com>
Co-authored-by: linux-universe <130909958+linux-universe@users.noreply.github.com>
Co-authored-by: Mohd Quamar Tyagi <104281681+Tyagiquamar@users.noreply.github.com>
Co-authored-by: Abhipsita-coder <76418226+Abhipsita-coder@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sripati Ujwal Mithra <234765976+ujwalmithra-1@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.