Releases: PiSCSI/piscsi
v24.04.01
How to update
- Option 1: Download the attached pre-configured Raspberry Pi OS Lite image, and flash it onto a SD card. If using the official Raspberry Pi Imager, do not create a custom user, because this may break PiSCSI features. Using a 3rd party imager such as Balena Etcher is recommended. (Reminder: Backup all of your data before doing this!)
- Option 2: On an existing PiSCSI installation, perform the following procedure:
cd ~/piscsi
git pull
git checkout v24.04.01
./easyinstall.sh
Select option 1 in easyinstall.sh to rebuild and install
SD Card Info
Note: There are TWO different pre-made images available. arm64
if you are using a Raspberry Pi 3, 4, or Zero 2 W. All previous models of Raspberry Pi should use armhf
(32-bit).
- Default username: password is
pi
:raspberry
- Default host name is
piscsi
If you're using the pre-built images, please connect your RPi to the internet when first powering up. If you need Wi-Fi, please follow the below steps after flashing but before booting from the SD card for the first time.
Create a text file called "wpa_supplicant.conf" with the following contents. Update country, ssid, and psk for your location. Put the file in the boot partition of the flashed SD card.
country=jp
update_config=1
ctrl_interface=/var/run/wpa_supplicant
network={
scan_ssid=1
ssid="myawesomessid"
psk="supersecretkey"
}
See this guide for more details.
The Web UI needs to download a few Python packages before it will start up on first boot. If the RPi doesn't have internet connection at that time, the Web UI may get stuck in a broken state. If you're seeing errors in the system logs about the "bjoern" library being missing, do cd ./python/web
and then sudo rm -rf venv
. When you then restart piscsi-web it should start up normally.
And finally, don't forget to change your password after the first login! Keeping a default password is a security risk.
Localization Stats
./src/translations/zh/LC_MESSAGES/messages.po
278 translated messages, 10 fuzzy translations, 5 untranslated messages.
./src/translations/fr/LC_MESSAGES/messages.po
278 translated messages, 10 fuzzy translations, 5 untranslated messages.
./src/translations/sv/LC_MESSAGES/messages.po
293 translated messages.
./src/translations/es/LC_MESSAGES/messages.po
278 translated messages, 10 fuzzy translations, 5 untranslated messages.
./src/translations/de/LC_MESSAGES/messages.po
278 translated messages, 10 fuzzy translations, 5 untranslated messages.
What's Changed
PiSCSI Core
- Fix BSY pin handling in initiator mode by @uweseimet in #1312
- SCSI printer device bug fixes by @uweseimet in #1356 #1429
- Improve performance when reading sectors by @uweseimet in #1344
- Improve BSD compatibility by @uweseimet in #1335 #1342
- Replace system timer by C++ standard timer by @uweseimet in #1328 #1357 #1361
- Recognize .cdr and .toast as CD-ROM image file endings by @rdmark in #1413
- Fix wrong warning about CD-ROM image file size by @uweseimet in #1435
- Other minor bugfixes by @uweseimet in #1323 #1379 #1416
Web Interface
- Added ability to set the TYPE/CREATOR resource fork attributes of file(s) inside newly-created cd-rom ISO images of type HFS by @i-to-z in #1377
- Rework the Attach Device section to support hard drives and unknown devices by @rdmark in #1393
- Embed vsftpd webmin module by @rdmark in #1396
Control Board
- Control board client regression fixes by @rdmark in #1394
- Freeze Python requirements for the Control Board client by @rdmark in #1398
- Use Pillow 10 API for getting text size by @rdmark in #1400
easyinstall.sh
- Fix missing webmin install automation flags by @benjamink in #1353
- Fix typo (choice 0) in easyinstall.sh by @uweseimet in #1372
- Fix errors in script syntax by @rdmark in #1391
- Add a
--help
parameter that prints available options by @delan in #1408
Miscellaneous
- Add initial Eclipse IDE setup by @uweseimet in #1326
- Remove fullspec/standard sub-folder by @uweseimet in #1324 #1359
- CI workflow: Build unit tests in debug mode by @rdmark in #1417
- Bump Netatalk to v2.3.2 by @rdmark in #1430 #1455
- Bump Netatalk Webmin module to 1.3 by @rdmark in #1454
- Reset Python venv if RESET_VENV is set by @benjamink in #1352
- Bump software copyright year to 2024 by @rdmark in #1456
- Nicer badges on README.md by @rdmark in #1457
- Update Swedish translations (February 2024) by @rdmark in #1433
Library updates
- Bump dropzone library to v6.0.0-beta2 by @rdmark in #1271
- Bump jinja2 from 3.1.2 to 3.1.3 in /python/web by @dependabot in #1411
- Bump pillow from 10.0.1 to 10.2.0 in /python/ctrlboard by @dependabot in #1424
- Bump pillow from 10.0.1 to 10.2.0 in /python/oled by @dependabot in #1425
- Bump black from 22.8.0 to 24.3.0 in /python/web by @dependabot in #1444
- Python: bump flake8 to 7.0.0, while removing attrs, py and tomli by @rdmark in #1446
- Bump pillow from 10.2.0 to 10.3.0 in /python/ctrlboard by @dependabot in #1449
- Bump pillow from 10.2.0 to 10.3.0 in /python/oled by @dependabot in #1450
- Bump idna from 3.4 to 3.7 in /python/common by @dependabot in #1452
- Bump idna from 3.6 to 3.7 in /python/web by @dependabot in #1453
New Contributors
Full Changelog: v23.11.01...v24.04.01
November 2023 Release
How to update
- Option 1: Download the attached pre-configured Raspberry Pi OS Lite image, and flash it onto a SD card. The Raspberry Pi Imager will attempt to create a custom user that may break PiSCSI features, so a 3rd party imager such as Balena Etcher is recommended. (Reminder: Backup all of your data before doing this!)
- Option 2: On an existing PiSCSI installation, perform the following procedure:
cd ~/piscsi
git pull
git checkout v23.11.01
./easyinstall.sh
Select option 1 in easyinstall.sh to rebuild and install
SD Card Info
Note: There are TWO different pre-made images available. arm64
if you are using a Raspberry Pi 3 or 4. All other versions of Raspberry Pi should use armhf
(32-bit).
- Default username: password is
pi
:raspberry
- Default host name is
piscsi
If you're using the pre-built images, please connect your Pi to the internet when first powering up. If you need Wifi, please follow these steps to configure your AP and password after flashing but before booting the OS for the first time. It needs to download a few Python packages before the web interface will start up. (We're working on fixing this)
Localization Stats
./src/translations/sv/LC_MESSAGES/messages.po
286 translated messages.
./src/translations/zh/LC_MESSAGES/messages.po
286 translated messages.
./src/translations/de/LC_MESSAGES/messages.po
286 translated messages.
./src/translations/fr/LC_MESSAGES/messages.po
286 translated messages.
./src/translations/es/LC_MESSAGES/messages.po
286 translated messages.
What's Changed
- PiSCSI can report disk, DaynaPort and printer read/write statistics with
scsictl -S
- The Web UI displays Pi undervoltage warnings
- The Web UI has a dedicated Settings page
- An option to install Webmin to manage Samba and Netatalk, integrated with the Web UI
- More Python dependencies are now pinned to specific versions to make the client packages future proof
- Breaking Change: Support for Banana Pi devices has been removed. With Raspberry Pi back in stock across the globe now, the complexity and overhead of supporting an unofficial Pi variant was not worth the resource investment anymore.
- Breaking Change: No longer supports Raspian Buster. Raspberry Pi OS Bullseye is recommended.
Known Issues
- The dynamic piscsi_bridge that uses dhcpcd does not work on Raspberry Pi OS Bookworm #1331
- As a workaround, either run PiSCSI on Bullseye (which the attached release images use) or use the NATed network bridge.
- The release images don't work on Raspberry Pi 5. You will have to build PiSCSI from scratch.
PiSCSI Core
- Bugfix: Correct block size evaluation when using the
-b
parameter by @uweseimet in #1213 - Bugfix: Error when creating a removable media drive with an empty filename by @uweseimet in #1308
- Bugfix: Fix MESSAGE OUT handling for initiator mode by @uweseimet in #1284
- Bugfix: Do not write data when executing VERIFY10/VERIFY16 by @uweseimet in #1250
- Remove the partially-working support for Banana Pi by @uweseimet in #1252 #1317
- C++-20 standards, code quality improvements and refactoring by @uweseimet in #1232 #1249 #1269 #1259 #1247 #1276 #1306
scsictl
- Add statistics and make scsictl accept generic key/value parameters by @uweseimet in #1262 #1274
scsidump
- Add options to only run INQUIRY and to scan the bus by @uweseimet in #1261
scsimon
scsiloop
Web UI
- Support for custom image dir names and locations, #1170 by @rdmark in #1171
- Add web UI notification for under voltage/throttling events by @benjamink in #1203 #1207
- Upload to tmp file name then rename if successful by @rdmark in #1272 #1338
- Create a Settings page and move options there by @rdmark in #1222
- Code quality, refactoring, and updated API calls by @rdmark in #1162 #1291
- Reliability improvements by @rdmark in #1163 #1174 #1298
- Make the network bridge check more granular, and warn rather than block attachment by @rdmark in #1192 #1319
- Improvements to UX by @rdmark in #1299 #1302
- Remove Python 3.7 support and use the latest Flask libraries. At least Python 3.9 is now required by @rdmark in #1160 #1266
OLED
Installation (easyinstall.sh)
- Bump netatalk 2.x version to 230701 by @rdmark in #1185
- Dynamically detect an available network i/f, and abort if none is found by @rdmark in #1193
- Manage Samba and Netatalk with Webmin by @rdmark @benjamink in #1217 #1303 #1305 #1316
- Default no. of compiler threads based on available RAM by @rdmark in #1239
- Deliberately remove a previous venv for the python clients by @rdmark in #1300
- Add ca-certificates to list of packages to install with apt by @rdmark in #1341
Python Client Common
- Launch python client services only after network-online target by @rdmark in #1197
- Static analysis fixes for Python codebase by @rdmark in #1277
- Freeze Werkzeug and other Python dependencies to specific versions by @rdmark in #1234 #1322
- Remove spurious pkg-resources==0.0.0 dependency by @GoodSpeed001 in #1156
- Bump requests from 2.26.0 to 2.31.0 in /python/common by @dependabot in #1176
- Bump requests from 2.28.1 to 2.31.0 in /python/web by @dependabot in #1177
- Bump stylelint to 15.10.2 and remove deprecated module by @rdmark in #1189
- Bump pillow from 9.3.0 to 10.0.1 in /python/oled by @dependabot in #1235
- Bump pillow from 9.3.0 to 10.0.1 in /python/ctrlboard by @dependabot in #1236
- Bump postcss from 8.4.18 to 8.4.31 in /python/web by @dependabot in #1241
Translations
- Spanish translation by @n4al in #1183
- Swedish translation update by @rdmark in #1184 #1221
- Updated french translation by @melka in #1333
- Refresh translations in preparation for Nov 2023 release by @akuker @rdmark in #1243 #1339
Build System and CI
- Enable actions on pull request by @akuker in #1209
- Update SonarCloud version and project key by @akuker in #1225 #1230
- When python code changes, build C++ code and run static analysis by @rdmark in #1280 #1288 #1289 #1292 #1293
- Only build scsidump when building for the FULLSPEC board by @uweseimet in #1286
- Remove myself from CODEOWNERS by @erichelgeson in #1309
- Add note on OS to ISSUE_TEMPLATE by @uweseimet in #1310
New Contributors
- @GoodSpeed001 made their first contribution in #1156
- @benjamink made their first contribution in #1203
Full Changelog: v23.04.01...v23.11.01
April 2023 Release
LIBRARY DEPENDENCY WORKAROUND
If the Web UI won't start up on your RPi, it is most likely because the Python library dependencies are broken. With the release of Python Flask 3.0.0 on Sep 30 2023, the PyPI dependency map for old versions of Flask broke down and pip
ends up installing incompatible libraries.
The recommended workaround follows below. After booting your RPi, issue the following commands from the terminal command line:
echo "Werkzeug==2.3.7" >> /home/pi/piscsi/python/web/requirements.txt
sudo rm -rf /home/pi/piscsi/python/web/venv
sudo systemctl restart piscsi-web
The Web UI should now start up, and load correctly after installing its dependencies with pip
.
How to update
- Option 1: Download the attached pre-configured Raspberry Pi OS Lite image, and flash it onto a SD card. (Reminder: Backup all of your data before doing this!)
- Option 2: On an existing PiSCSI installation, perform the following procedure:
cd ~/piscsi
git pull
git checkout v23.04.01
./easyinstall.sh
Select option 1 in easyinstall.sh to rebuild and install
SD Card Info
Note: There are TWO different pre-made images available. arm64
is now available if you are using a Raspberry Pi 3 or 4. All other versions of Raspberry Pi should use armhf
(32-bit).
- Default username: password is
pi
:raspberry
- Default host name is
piscsi
If you're using the pre-built images, please connect your Pi to the internet when first powering up. If you need Wifi, please follow these steps to configure your AP and password after flashing but before booting the OS for the first time. It needs to download a few Python packages before the web interface will start up. (We're working on fixing this)
Localization stats:
Translation stats:
./src/translations/sv/LC_MESSAGES/messages.po
258 translated messages, 1 fuzzy translation.
./src/translations/zh/LC_MESSAGES/messages.po
259 translated messages.
./src/translations/de/LC_MESSAGES/messages.po
259 translated messages.
./src/translations/fr/LC_MESSAGES/messages.po
259 translated messages.
./src/translations/es/LC_MESSAGES/messages.po
259 translated messages.
What's Changed
PiSCSI
- Add support for SCSI-1 CD Drives, introducing .is1 extension by @nsafran1217 in #1109
- Improve OpenVMS/VAX compatibility (issue #1117) by @uweseimet in #1123
- Fixed a bug where using HD images larger than 9999 MiB was impossible. by @rdmark in #1147
Web Interface
- Display image file subdirectories in collapsable tables by @rdmark in #1102 #1108 #1131
- Make it possible to download/upload directly to subdirectories by @rdmark in #1115 #1111
- Allow files to be overwritten when unpacking an archive. by @rdmark in #1120
- Remove git hash info, since it was very unreliable by @rdmark in #1129
- Graceful handling when working dirs do not exist by @rdmark in #1130
- Add noscript tag with notice when JavaScript is off by @rdmark in #1091
- Embed scripts only on pages where they are used, making pages lighter by @rdmark in #1097
easyinstall.sh
- Add option to easyinstall to support the "pi-gen" tool by @akuker in #1107
- Use one core with the compiler by default, again, to avoid OOM on RPi Zero 2 by @rdmark in #1114
- Netatalk: Configure atalkd to use piscsi_bridge by default by @rdmark in #1088
- Bump Netatalk to 2.2.230302 by @rdmark in #1142 #1119
- Fixed security defect CVE-2022-45188
- More reliable startup of atalkd on wifi-only devices
Miscellaneous
- Remove the deprecated Python loopback test by @rdmark in #1138
- Remove SonarCloud cache setup as it is now offered by default (#1135) by @rdmark in #1143
- Add optional LDFLAGS to Makefile in order to support faster linking by @uweseimet in #1128
- Fixed a potential issue with the unit test order (reserved file cleanup was missing) by @uweseimet in #1137
- Descriptive code comments for each h/fdisk command by @rdmark in #1106
- German language update by @cvictor in #1134
- Swedish translation update by @rdmark in #1136
- Updates to French translation by @akuker in #1141
- Updating the Spanish localisation by @n4al in #1145
- Updated Chinese Translations by @akuker in #1140
Full Changelog: v23.02.01...v23.04.01
February 2023 Release
How to update
- Option 1: Download the attached pre-configured Raspberry Pi OS Lite image, and flash it onto a SD card. (Reminder: Backup all of your data before doing this!)
- Option 2: On an existing PiSCSI installation, perform the following procedure:
cd ~/piscsi
git pull
git checkout v23.02.01
./easyinstall.sh
Select option 1 in easyinstall.sh to rebuild and install
SD Card Info
- Default username:password is
pi
:raspberry
- Default host name is
piscsi
Localization stats:
- French
255 translated messages, 1 untranslated message. - Chinese
243 translated messages, 2 fuzzy translations, 11 untranslated messages. - Swedish
256 translated messages. - Spanish
256 translated messages. - German
256 translated messages.
What's Changed
PiSCSI
- Fixed unit tests and version formatting by @uweseimet in #1062
- Ignore dummy network interfaces when setting up interface list by @uweseimet in #1066
- Fixed shutdown issues by @uweseimet in #1067
- Do not abort but only warn on unexpected CD-ROM image size by @uweseimet in #1084
Web Interface
- Allow generating ISO image from local file by @rdmark in #1046
- Streamline the create ISO workflow, removing the attach step by @rdmark in #1069
- Unique page title for each page by @rdmark in #1056
- Ability to download and upload config files by @rdmark in #1075 #1076 #1083 #1087
- Native python methods for file operations, which enables large file operations on 32 bit OSes by @rdmark in #1079
- Fix handling of properties files when they're in subdirs by @rdmark in #1082
Other improvements
- Remove incorrect and unused usermod command that caused errors for some people by @rdmark in #1073
- Bump Netatalk version to 2.230201 by @rdmark in #1093
- Add credit for the logo by @akuker in #1078
- Move os_integration to root level by @rdmark in #1085
- Translation script: Create venv when needed, so that it can be used on macOS by @rdmark in #1089
- Update Swedish translation (Jan 2023) by @rdmark in #1086
- German translation update by @cvictor in #1090
- Update Spanish, French and Chinese translations by @akuker in #1095
Full Changelog: v22.12.01...v23.02.01
December 2022 Release
The default branch has been renamed!
master
is now named main
If you have a local clone, you can update it by running the following commands.
git branch -m master main
git fetch origin
git branch -u origin/main main
git remote set-head origin -a
How to update
- Option 1: Download the attached pre-configured Raspberry Pi OS Lite image, and flash it onto a SD card. (Reminder: Backup all of your data before doing this!)
- Option 2: On an existing RaSCSI / PiSCSI installation, perform the following procedure:
Note: This is the first release named "PiSCSI" Its highly recommended to delete your existing checkout and start with a fresh checkout.
rm -rf ~/RASCSI
cd ~
git clone https://github.com/piscsi/piscsi
cd ~/piscsi
git pull
git checkout v22.12.01
./easyinstall.sh
Select option 1 in easyinstall.sh to rebuild and install
SD Card Info
- Default username:password is
pi
:raspberry
- Default host name is
piscsi
Localization stats:
- French
120 translated messages, 60 fuzzy translations, 70 untranslated messages. - Chinese
247 translated messages, 1 fuzzy translation, 2 untranslated messages. - Swedish
250 translated messages. - Spanish
250 translated messages. - German
250 translated messages.
What's Changed
- BREAKING CHANGE Renamed project to PiSCSI, with new names for binaries, services, and INQUIRY Vendor etc.
rascsi
->piscsi
rasctl
->scsictl
rasdump
->scsidump
- Modern Web UI using Bootstrap CSS, with adaptive layout for small screens (fallback to Classic Web UI on old browsers)
- Beta support for Banana Pi M2+ (needs more optimization to be fully performant)
- The ability to format new disk images, with HFS or FAT, on the fly in the Web UI
- Added Simplified Chinese localization
- Overhauled the
scsidump
tool with bugfixes, features and documentation - Defaults to the
clang++
compiler when usingeasyinstall.sh
for much faster and more memory efficient compilation- Defaults to half of the available CPU cores for compilation for an even bigger performance boost
- Added support for Samba and FTP file servers, in addition to AppleShare
- BREAKING CHANGE The default file sharing dir is now
~/shared_files
, and not~/afpshare
. Please re-run the Netatalk installation script, or move the dir and update the/etc/netatalk/AppleVolumes.default
file yourself.
- BREAKING CHANGE The default file sharing dir is now
- Web UI authentication is no longer enabled by default when running the installation script
- BREAKING CHANGE Removed the ancient Apache cleanup code in
easyinstall.sh
, which was used for upgrading from the PHP Web UI to the current Python Flask Web UI over two years ago.
PiSCSI Improvements
- Code standards compliance, quality, testability and maintainability improvements by @uweseimet in #915 #934 #948 #950 #952 #958 #960 #964 #976
- Support for Banana Pi by @akuker in #928 #954 #993 #1014 #1022
- Fixed corner case bugs and SCSI standard violations by @uweseimet in #944 #947 #951 #966 #988 #998
- Added filter to enable logging of one device at a time by @uweseimet in #978
- Rebrand project to PiSCSI by @rdmark in #1016
- Move C++ code into
cpp/
dir, removingsrc/
dir by @rdmark in #941
Web UI Improvements
- Code quality and integration testing improvements by @rdmark @nucleogenic in #929 #931 #932 #939 #989 #1027 #1051
- Partition and format HFS/FAT volumes; Support for SMB and FTP file sharing by @rdmark in #946
- Modern theme by @nucleogenic in #957 #1029 #1033 #1041 #1044
- Get and set System Name identifier, to tell your PiSCSIs apart by @rdmark in #997
- Introduce dedicated Upload page, enable file transfer operations, more retries by @rdmark in #1040
OLED Improvements
- Display a Shutdown splash screen; restore non-Latin transliteration by @rdmark in #991
- Refactor line rendering logic, and add support for conditional LUN info by @rdmark in #999
- Refresh network state regularly by @rdmark in #1002
easyinstall.sh Improvements
- Break out frontend and backend auth options into stand alone options; do not enable frontend auth by default by @rdmark in #925
- Bypass option for password check, to allow the script to run headless without user interaction by @rdmark in #963
- Make clang++ v11 the default compiler; introduce option to fall back to gcc, and skip apt package installation by @rdmark in #971
- Migrate rascsi data to piscsi when running the installation script; removed legacy Apache cleanup; default to 1/2 of available cores for compilation; introduce a "skip make clean" option by @rdmark in #1021
- Introduce Samba and FTP server installation scripts by @rdmark in #1028
Others
- SCSI Dump and Monitor functionality and documentation enhancements by @akuker @uweseimet in #973 #1026
- Added script for updating Web UI translations by @rdmark in #1030
- Run pybabel extract against the src subdir to pull in only piscsi strings by @rdmark in #1032
- Improved GitHub CI pipeline to run static analysis on C++/Python code, and the Web UI integration tests by @nucleogenic in #974 #995 #1003 #1009
- Add debug build to GitHub workflows #1012 by @akuker in #1015
- Restore rascsi help text for hda format; consistently use 'compatible' terminology by @rdmark in #937
- Correct reference to the interface parameter in the rascsi man page by @rdmark in #984
- Netatalk services are enabled by default to be persistent between reboots by @rdmark in #983
- Bump Python library versions by @dependabot @rdmark in #933 #935 #938 #1005
- Removed legacy Robot Framework tests by @rdmark in #942 #1008
- Auto-format Python sources with black, fix all issues reported by flake8 by @nucleogenic in #1010
- Moved hw directory to its own repository, removing it from the piscsi repository by @akuker in #1011
Full Changelog: v22.10.01...v22.12.01
October 2022 Release
How to update
- Option 1: Download the attached pre-configured Raspberry Pi OS Lite image, and flash it onto a SD card. (Reminder: Backup all of your data before doing this!)
- Option 2: On an existing RaSCSI installation, perform the following procedure:
cd ~/RASCSI
git pull
git checkout v22.10.01
./easyinstall.sh
Select option 1 in easyinstall.sh to rebuild and install
SD Card Info
- Default username:password is
pi
:raspberry
- Default host name is
rascsi
What's Changed
- Support for SCSI-1 hard drives was added
- BREAKING CHANGE: Support for SASI hard drives, and sasidump, were removed
- Support for stock Apple CD-ROM drives (no longer need to use patched drivers on Macs)
- BREAKING CHANGE: The capacity part of the Product INQUIRY string for generic drives are now calculated in MiB / KiB instead of MB/ KB. If you rely on INQUIRY to detect an attached drive, you may need to update your scripts.
- Overhaul of the RaSCSI code: adding a large amount of unit tests; major refactoring and restructuring
- Overhaul of the Web Interface code: adding a JSON API and integration tests; streamlining and adding several features
- Code quality and security is being automatically analyzed on SonarCloud
RaSCSI improvements
- Support for native Apple CD-ROM driver by @mynameistroy in #835
- Added support for SCSI-1 compatible hard drives; introducing the .hd1 file extension by @uweseimet in #828
- Removed support for SASI hard drives by @uweseimet in #806
- Breakup GPIOBUS into a header file for each RaSCSI board type by @akuker in #843
- Calculate image sizes for the Product string using MiB/KiB units by @rdmark in #853
- Make the Host Bridge identify itself in a way that is compatible with the X68000 RASETHER.SYS driver by @rdmark in #851
- Fixed several minor bugs by @uweseimet in #899 #907 #910
- Refactored code to improve code quality and testability, added unit tests by @uweseimet in #824 #834 #840 #842 #845 #849 #862 #889 #897
Web UI improvements
- Remove file extension validation in upload form by @rdmark in #826
- Improved the image creation form: refreshing the image types and adding a masquerade option by @nucleogenic & @rdmark in #829 #850 #883
- Consistently use SI-compliant notation for file sizes (KiB, MiB, etc.) by @rdmark in #855
- JSON API and test suite for web UI by @nucleogenic in #846 #868 #880
- Introduce templatized pages for Logs, Disk Info, Device Info, and Man Pages by @akuker & @rdmark in #820 #863 @rdmark in #881 #887
- Allow the selecting of target dir when uploading or downloading files by @rdmark in #867 #920
- Attach empty removable drives by @rdmark in #877
- Tweaks and streamlining: Detaching removable devices; SCSI-1 drive profiles; Device table refinement by @rdmark in #854 #884 #898
- Refactor and improve code quality; add and improve utility classes by @rdmark in #893 #894 #888 #892 #900 #906 #912 #914
Other updates
- Docker environment for development and testing of the Web Interface by @nucleogenic in #819 #901
- Added workflow configurations to enable SonarCloud analysis by @akuker in #832
- Improve the man pages by @rdmark in #882 #885 #886
- Netatalk: Prompt user when pre-existing config is found; Append the images dir as a shared volume by @rdmark in #916
- Updating the Spanish translation by @n4al in #839 #848 #902
- Updating the Swedish translation by @rdmark in #865 #905
- Bump Python protobuf library version to 3.19.5 in by @dependabot in #857 #858 #856
- Removed unused files by @uweseimet & @rdmark in #817 #918
Full Changelog: v22.08.01...v22.10.01
August 2022 Release
How to update
- Option 1: Download the attached pre-configured Raspberry Pi OS Lite image, and flash it onto a SD card. (Reminder: Backup all of your data before doing this!)
- Option 2: On an existing RaSCSI installation, perform the following procedure:
cd ~/RASCSI
git pull
git checkout v22.08.01
./easyinstall.sh
Select option 1 in easyinstall.sh to rebuild and install
SD Card Info
- Default username:password is
pi
:raspberry
- Default host name is
rascsi
What's Changed
RaSCSI improvements
- Initial unit tests based on GoogleTest and GoogleMock by @uweseimet in #802
- Minor bug fixes by @uweseimet in #793 #812
- Fix compile time errors by @akuker #784 #810
Easyinstall Updates
- Avoid errors in some environments: use pip3 instead of pip, create working dirs early, etc. by @rdmark in #801
- Bump to Netatalk 2.220801 and Macproxy 22.8 by @rdmark in #796
- Netatalk 2.220801 release notes https://github.com/rdmark/Netatalk-2.x/releases/tag/netatalk-2-220801
- Macproxy 22.8 release notes https://github.com/rdmark/macproxy/releases/tag/v22.8
Web UI improvements
- Allow images to be extracted from StuffIt, tarball, gzip, and 7z, in addition to zip by @nucleogenic in #785 #789 #804
- Add HTTPS support to web UI by @nucleogenic in #783
- Add drive property for a generic 512 byte block size CD-ROM drive, for use with Akai samplers etc. by @rdmark in #808
- Allow custom drive sizes in the create bespoke drives UI by @rdmark in #813
Other updates
- Updates to several READMEs to clarify contributor guidelines, etc. by @rdmark in #787 #788 #797
- Swedish localization update by @rdmark in #798
Full Changelog: v22.07.02...v22.08.01
July 2022 Release
How to update
- Option 1: Download the attached pre-configured Raspberry Pi OS Lite image, and flash it onto a SD card. (Reminder: Backup all of your data before doing this!)
- Option 2: On an existing RaSCSI installation, perform the following procedure:
cd ~/RASCSI
git pull
git checkout v22.07.02
./easyinstall.sh
Select option 1 in easyinstall.sh to rebuild and install
SD Card Info
- Default username:password is
pi
:raspberry
- Default host name is
rascsi
What's Changed
RaSCSI improvements
Netatalk Updates
Web UI improvements
- Add RASCSI host and port arguments to web/start.sh by @nucleogenic in #771
- Fix unescaped shell arguments to prevent remote script execution by @nucleogenic in #776
- Create the secret token file in .config/rascsi instead. by @rdmark in #774
- Add a Copy image file flow to the Web UI. by @rdmark in #760
- In case all IDs are reserved recommend 0 by @philenotfound in #768
- Turn on web UI auth by default, and remove the stand alone option by @rdmark in #780
- Add support for --log-level argument to web UI + log format update by @nucleogenic in #781
OLED Monitor Updates
- Bump pillow from 8.1.2 to 8.2.0 in /src/oled_monitor by @dependabot in #108
Control Board Updates
- Bump pillow from 9.0.0 to 9.0.1 in /python/ctrlboard by @dependabot in #767
Easyinstall Updates
New Contributors
- @philenotfound made their first contribution in #768
- @nucleogenic made their first contribution in #771
Full Changelog: v22.05.02...v22.07.02
May 2022 Release 2
How to update
- Option 1: Download the attached pre-configured Raspberry Pi OS Lite image, and flash it onto a SD card. (Reminder: Backup all of your data before doing this!)
- Option 2: On an existing RaSCSI installation, perform the following procedure:
cd ~/RASCSI
git pull
git checkout v22.05.02
./easyinstall.sh
Select option 1 in easyinstall.sh to rebuild and install
What's Changed
Major New Features
- Added support for a Host Services (SCHS) device with realtime clock and shutdown by @uweseimet in #647 #731 #696
- Added support for a SCSI printer device (SCLP) by @uweseimet in #670 #677
- Added a UI for the Control Board add-on to RaSCSI #687 #710 #721
- Created a general-purpose Web UI for attaching peripheral devices, and removed the DaynaPort specific one by @rdmark in #653 #657 #666 #676 #686
- Localization fixes for issues with v22.05.01 build #764 #763 #761
RaSCSI improvements
- Fixed segfault when attaching an SCBR device (issue #652) by @uweseimet in #654
- Inheritance hierarchy improvements, reduced dependencies to Disk class by @uweseimet in #662
- Added work-around for the Atari Daynaport driver to make it work on wifi by @uweseimet in #665
- Improved handling of LUNs. LUN 0 is required, but subsequent LUNs don't have to be sequential anymore by @uweseimet in #681 #713
- Fixed missing media change handling by @uweseimet in #690
- Removed untested/unsupported NetBSD-related code by @uweseimet in #694
- Replaced zlib by internal crc32() method by @uweseimet in #698
- SASI FORMAT opcode fix, SASI segfault fix, added SASI INQUIRY/READ CAPACITY, 512 bytes per sector SASI drives by @uweseimet in #724
- Refactoring, structural improvements, error handling by @uweseimet in #679 #684 #699 #718 #719 #730 #732 #734 #754
Web UI improvements
- Use human-readable device names in the Web UI, instead of acronyms by @rdmark in #655
- Inquire the backend for device capabilities instead of Web UI assumptions by @rdmark in #688
- Use the word Release in the context of making a SCSI ID available by @rdmark in #692
- Create SysCmds common class, and refactor Python codebase by @rdmark in #697
- Improve logic for the get_logs() method. Add rascsi-ctrlboard service. by @rdmark in #714
- Updating the README to reflect the new file system layout by @n4al in #658
- Localization updates for German, French, Spanish and Swedish
easyinstall.sh improvements
- Clean up old Python protobuf libraries to avoid old versions lingering and causing issues. by @rdmark in #667
- Small installation fixes when upgrading an existing device. by @bzeiss in #707
RaSCSI hardware
- Hardware Version 2.5 by @akuker in #720
- Added Schematic PDF file and Step 3D model by @akuker in #726
Full Changelog: v22.02.01...v22.05.02
February 2022 Release
How to update
- Option 1: Download the attached pre-configured Raspberry Pi OS Lite image, and flash it onto a SD card. (Reminder: Backup all of your data before doing this!)
- Option 2: On an existing RaSCSI installation, perform the following procedure:
cd ~/RASCSI
git pull
git checkout v22.02.01
./easyinstall.sh
Select option 1 in easyinstall.sh to rebuild and install
Highlights
- Localization for Spanish language added to Web interface
- Load default pre-sets configuration when the web interface starts (fixes a regression in the 2021.12.1 release.)
- Update to Netatalk 2.x v220101
- Fixes crashes and memory leaks
- Runs as systemd services, instead of the legacy init.d script
- Fully functional Printer Server (papd)
- Fully functional Time Server (timelord)
- Better compatibility with GS/OS clients and very slow AppleTalk tunnels
- Better compatibility with modern macOS clients
- Support ICD (Atari ACSI) command semantics
- Folder structure updates to allow easier re-use of Python files
What's Changed
- N4al/spanish localisation by @n4al in #594
- Output higher-level report from scsimon by @akuker in #596
- Restructure project folders for python #455 by @bzeiss in #601
- Bumps pillow from 8.4.0 to 9.0.0. As recommended by dependabot. by @rdmark in #607
- Updated Github Sponsors by @akuker in #608
- Create rascsi zero pdf by @akuker in #615
- Delete old, broken RaSCSI revision by @akuker in #616
- MODE SENSE: Fixed wrong ALLOCATION LENGTH handling by @uweseimet in #617
- restructuring towards python client library #455 by @bzeiss in #613
- Make the default config load on rascsi-web startup by @rdmark in #620
- return code mapper gettext extract fix by @bzeiss in #622
- man page fix #621 by @bzeiss in #624
- Display the localized language name when changing language in the Web Interface by @rdmark in #628
- Improve Swedish wordings in preparation for 220101 release by @rdmark in #627
- Added configurable network interface name support to rascsi by @uweseimet in #635
- Support for LUNs > 0 for SCDP and SCBR by @uweseimet in #641
- Use Netatalk 2.x v220101 by @rdmark in #631
- Try to prevent frequent sudo timeout after compiling rascsi by @rdmark in #636
- Support ICD (Atari ACSI) command semantics by @uweseimet in #640
- Flush the RaSCSI write cache on SYNCHRONIZE CACHE by @uweseimet in #645
- Flush the RaSCSI write cache on STOP UNIT by @uweseimet in #644
New Contributors
Full Changelog: v21.12.01...v22.02.01