Repository navigation
v2.7.1
ser2net v2.7.1 — long names in the web UI, truly standalone executables (#26)
Fixed
- Long names no longer push the row buttons out of the web panel. Long mapping names,
/dev/serial/by-id/…paths, remote host names and error messages used to make the mappings and cluster tables wider than their panel: the Start/Stop/…/Delete buttons sat outside it and the page scrolled sideways.- Long text now wraps at separators (
/ _ . : -). - The row buttons wrap inside their cell in two groups, and stay on one line when there is room.
- Errors are clamped to 3 lines, with the full text in the tooltip.
- Below 940 px the lists become cards.
- The top bar, the log and console headers and the forms also handle long names and phone screens.
- Long text now wraps at separators (
- The Linux executable runs on glibc ≥ 2.28. The v2.7.0 binary needed glibc 2.38 and did not start on Ubuntu 22.04/20.04, Debian 12/11 or RHEL/Alma/Rocky 8–9.
- It is now built in an AlmaLinux 8 container with a python-build-standalone CPython.
- It runs on RHEL/AlmaLinux/Rocky 8+, Debian 11+, Ubuntu 20.04+, Fedora and openSUSE Leap 15 (x86_64; not musl/Alpine — use Docker there).
- It is also smaller: ~24 MB instead of ~34 MB.
- "Generate self-signed certificate" no longer needs the
opensslprogram; before, it never worked on Windows. The certificate is now made in-process with the bundledcryptography, with SAN localhost / 127.0.0.1 / ::1 / host name. - The Linux executable finds the distribution's CA certificates (Debian/Ubuntu, RHEL/Fedora, openSUSE and Alpine layouts) for certificate checks in MQTT over TLS and OIDC sign-in. Set
SSL_CERT_FILEto override; the startup log names the bundle in use. - Windows hardening:
icacls(data-folder permissions) is run by its full System32 path, so anicacls.exeplanted next to the exe can't run instead.
Tested before publishing
From this release on, the executables are only attached after these checks pass on every PR and release:
- the bundle needs nothing but OS-base libraries (glibc ≤ 2.28 / Windows system DLLs), and the VC++ runtime and Python are inside;
- they run with an empty
PATH(no Python, noopenssl): web UI, TCP mapping, MQTT/LDAP/OIDC libraries, certificate generation, OIDC over certificate-checked HTTPS; - every library the running process loads comes from the bundle or the OS;
- the Linux binary runs in clean AlmaLinux 8/9, Debian 11/12, Ubuntu 20.04/22.04/24.04, openSUSE Leap 15.6 and Fedora containers.
A browser test (Chromium, 1440 → 390 px) also guards the long-name layout.
Upgrading from 2.7.0
Nothing to migrate: replace the program and restart. config.json and data/ stay as they are. Coming from 2.6.x, see the v2.7.0 notes as well.
- Linux binary: it unpacks itself to
$TMPDIR(default/tmp) at start. If/tmpis mountednoexec, pointTMPDIRat a directory that isn't. - Web UI: the mappings and cluster tables now have 7 columns: serial parameters under the port, mode/type under the address. Browsers fetch the new CSS by themselves (versioned asset URLs).
- Log: the Linux binary logs
TLS: using the system CA bundle …at start, or a warning when it finds none.
Türkçe özet
- Web panelinde uzun eşleme adları,
/dev/serial/by-id/…yolları ve hata mesajları artık butonları panelin dışına taşırmıyor; dar ekranlarda liste kart görünümüne geçiyor. - Linux binary'si artık glibc 2.28 ve üzeri her x86_64 dağıtımda çalışıyor; önceden glibc 2.38 istiyordu.
- "Self-signed sertifika üret" harici
opensslgerektirmiyor. - Linux binary'si dağıtımın CA sertifikalarını kendisi buluyor.
- Binary'ler her PR'da ve her sürümde test ediliyor: boş PATH ile çalıştırma, yüklenen kütüphanelerin kaynağı ve 9 temiz dağıtım konteyneri. Yayın ancak bunlar geçince yapılıyor.
Downloads: ser2net-windows-x64.exe (Windows 10/11, Server 2016+) · ser2net-linux-x64 (x86_64, glibc ≥ 2.28) — standalone, nothing else to install.