Releases: PiSCSI/piscsi
Releases · PiSCSI/piscsi
December 2021 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 v21.12.01
./easyinstall.sh
Run option 1 to rebuild and install
General Improvements
- Web Interface localized into Swedish, German, French
- Added 'token' based security for client commands to rascsi service (#518)
- Made compilation work out of the box on 64 bit systems
Hardware Spec Improvements
RaSCSI Service
- Bus setting delay updated to match SCSI standard - Fix incompatibility with Yamaha EX5R (#504)
- Logging cleanup (#505)
- Ability to shutdown or restart the Raspberry Pi from the rascsi service. (#515)
- Recursively scan the image folder (#532)
- Support for 'token' remote authentication (#570)
- Localization support (#555)
RaSCSI Web UI
- Support for creating CD images for non-Macintosh hosts (#519 )
- Stop submit event if prompt cancel is clicked (#495)
- Added ability to rename image files (#512)
- Safer handling of Raspberry Pi shutdown (#522)
- Unzip zipfiles before storing to ISO, unless they contain MacZip meta data (#525)
- Warning message added when ejecting media (#526)
- Message readability enhancements (#531)
- Added German translation (#585)
- More sturdy logic for when session language is unset (#583)
- Added french localization (#584)
- Added Swedish translation (#581) (#576) (#572) (#571) (#568) (#569) (#567) (#564)
- Hardcoded locale fallback to English (#582)
- Add Apple CD Drive as pre-defined drive (#580)
- Removed invalid CONNER HD config (#565)
- Recursively scan the image folder (#558 )
- Added 'token' security for web/rascsi service communication (#554 )
- Flesh out webapp readme with localization instructions (#578)
- Resolve pylint warnings for rascsi-web (#579)
OLED Screen
- Improvements for handling bad venv's (#510) (#513)
- Code cleanups (#547)
- Improve token auth and oled monitor install scripts; better venv cleanup logic (#587)
- Optimized oled script startup and shutdown (#573)
Easyinstall
- Fixes for HFS formatted drive creation (#388)
- Install iptables if missing (#506)
- Removed SPDLOG_FMT_EXTERNAL build flag (#501)
- Skip git steps in shell scripts if not a valid git repo (#524)
Technical Improvements
New Contributors
Other Contributors
Full log
November 2021 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 v21.11.01
./easyinstall.sh
Run option 1 to rebuild and install
General Improvements
- Updated to work with Raspberry Pi OS Bullseye 437
- Made it possible to run RaSCSI and the Web UI as any user, from any location in a /home subdirectory 384
- Introduced a new companion app: Macproxy vintage web proxy (it's not just for Macs!)
Hardware Spec Improvements
- Corrected daisychain board KiCad design files. (Incorrect version was previously committed)
RaSCSI Capabilities
- Fixed a bug where a Macintosh Plus wouldn't boot with a DaynaPort device attached 419
- Fixed a bug where the same removable drive image could be inserted into multiple devices is file path was explicitly defined 422
- Added READ/WRITE LONG (10/16) command 479
- Modesense10 fix to return correct length 459
- Fix issues where Inquiry was returning too much data 458
RaSCSI Web UI
- Optional user authentication feature added 265
- Web server port number is now configurable 444
- Added support for mounting SCSI floppy disk drives: Iomega Floptical (Mac), DEC SCSI floppy drive 429
- The ability to insert a removable drive image from the device table UI
- Added status indication of Macproxy daemon
- Allow reservation of IDs in the Web UI, as well as storing of a memo for the reservation 437
- Scroll to the top of the page and display a message when a long process is initiated 427
- Show filename in file deletion confirmation dialog boxes 475
- Improved error reporting when attaching DaynaPort device if network bridge is not configured 407
- Allow downloading the properties file for a named drive image 393
- Hide properties file in the zip file browser; when the associated image file is unzipped, automatically unzip and move the properties file to the Web UI config directory so that it takes effect 392
OLED Screen
- Added support for 64 pixel height OLED screens 439
- Transliterate non-ASCII characters to ASCII for display on the OLED screen
Easyinstall
- Introduced Advanced installation options for stand-alone installation and Web UI authentication 438
- Introduced an option to install Macproxy
- Allow for multi-threaded make for building rascsi (ex: --cores=4) 452
- Fixed a bug where a new tarball was created every time you installed Netatalk
- Enabled any user except root to run the script
Technical Improvements
- Cleanup to DaynaPort code and logging to make troubleshooting easier
- Fix bug that broke the IMAGE_FILE_INFO protobuf command 456
- Fix compiler warnings in RaSCSI code
- Refactoring and cleanup of Web UI and OLED screen Python code to make it more readable and maintainable
- Changed location of man pages to /usr/local/man in the Makefile
- Have the Makefile create the man subdirectory if it doesn't exist, avoiding a potential error while installing
Full Changelog: v21.10.01...v21.11.01
October 2021 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 v21.10.01
./easyinstall.sh
Run option 1 to rebuild and install
RaSCSI Capabilities
- Add Daynaport SCSI/Link Ethernet adapter functionality
- WLAN support for the Daynaport network adapter
- Removable media drive support
- Support for DVD images
- Support for CD-ROM drives with 512 bytes per sector
- Support for generic MO drives (not just the Sharp X68000 standard configurations)
- Support for up to 32 SCSI LUNs (Logical Units)
- Built-in creating, renaming and copying of image files
- Configurable device identifier (vendor, product, revision)
- Configurable sector sizes, depending on the device (256, 512, 1024, 2048, 4096 bytes)
- Configurable default folder for image files
- Dynamically configurable reserved device IDs, typically used for the SCSI initiator ID
- More flexible handling of device capacities
- Made RaSCSI more tolerant of odd image file sizes, ignoring trailing bytes
- Device files (/dev/*) can be used as image files
- Secure shutdown of RaSCSI by detaching all devices before terminating
rasctl Capabilities
- Several new options added
- -C FILENAME:FILESIZE Create an image file in the default image folder
- -D Detach all devices.
- -E FILENAME Display information on an image file.
- -F IMAGE_FOLDER Set the default image folder.
- -I Gets the list of reserved device IDs.
- -L LOG_LEVEL Set the rascsi log level
- -h HOST The rascsi host to connect to, default is 'localhost'.
- -e List all images files in the default image folder.
- -N Lists all available network interfaces provided that they are up.
- -O Display the available rascsi server log levels and the current log level.
- -m List all file extensions recognized by RaSCSI and the device types they map to.
- -R CURRENT_NAME:NEW_NAME Rename an image file in the default image folder.
- -p PORT The rascsi port to connect to, default is 6868.
- -r RESERVED_IDS Comma-separated list of IDs to reserve.
- -s Display server-side settings like available images or supported device types.
- -T Display all device types and their properties.
- -v Display the rascsi server version.
- -V Display the rasctl version.
- -X Shut down the rascsi process.
- -d FILENAME Delete an image file in the default image folder.
- -x CURRENT_NAME:NEW_NAME Copy an image file in the default image folder.
- -b BLOCK_SIZE Specify a custom block size for the drive to attach.
- -n VENDOR:PRODUCT:REVISION The INQUIRY data for the device that is presented to the bus.
- Options with new functionality
- -f Now takes parameters for certain device types, f.e. the Daynaport adapter
- -t Now takes 'rm' for Removable devices, and 'daynaport' for the Ethernet adapter
- -c Now takes two new commands: u(nprotect) and s(how)
- -u Now takes unit number up to 31 (previously 0-1)
- rasctl also runs on an x86 Linux and can connect to the RaSCSI server on the Raspberry Pi
- Added code for a RASCTL.X native app for the Sharp X68000 (from RaSCSI 1.52 by GIMONS)
RaSCSI Web UI
- Automatic loading of a default configuration upon startup, eliminating the need to hack rascsi.service for default configurations
- Flexible Daynaport network adapter configuration
- Real-time file uploading using the Dropzone library
- Bumped max size of uploaded files to 4GB from 2GB
- Validation of file to upload before transferring
- Drive properties files that store vendor/product and block size information for easy management of bespoke drives
- A wizard for creating named drive images and properties files, with profiles for UNIX workstations and Macs
- The ability to select a device type when attaching images that RaSCSI failed to autodetect the type for
- Support for attaching up to 32 LUNs per SCSI ID
- Allow non-standard image sizes to be attached, but warn about the file size discrepancy
- A more informative table of attached devices
- The ability to display detailed information about attached devices
- The ability to unzip individual files within a zip archive
- AppleShare integration for easy downloading of files into a shared directory
- Made logging level configurable through the Web UI
- More flexible log viewer in the Web UI
- Display current RaSCSI version in footer
- Broadly improved help text, hidden under expandable blocks to reduce clutter
- Thorough form input validation
- Preventing destructive actions, such as deleting or overwriting images in use
- Significantly improved error handling and verbosity of action response messages
- IPv6 support
- Mobile style sheet
- Computer and smartphone favicons
- Sundry fixes that caused the nginx web server to fail to start in certain environments
- Bumped several Python library versions
OLED Screen
- Virtualized Python runtime environment with venv
- Start script and systemd service configuration
- Support for displaying more than 4 lines of information, through a scrolling routine
- Optimized the information shown on screen for better usability
- Show system IP address and hostname instead of system time
- Support for configurable screen orientation (0 or 180 degrees)
- Introduced the Type Writer font by Mandy Smith for improved legibility
- Startup and shutdown splash screens
- Graceful shutdown and signal handling
- Bumped several Python library versions
Easyinstall
- Merged and streamlined install/update scripts for RaSCSI and the Web UI
- Better error handling and flexibility running the script in different environment and on local git branches
- Added install script for the OLED Screen software
- Added wired and wireless network configuration scripts for the Daynaport network adapter
- Added a Netatalk installation script for running an AppleShare server in parallel with RaSCSI
- Command line option '-c' to install STANDARD or FULLSPEC versions
- Command line option '-r' to pick the run choice number from the menu non-interactively
Technical Improvements
- Functionality and stability improvements for Atari ST, UNIX workstations, Apple IIGS, etc.
- Implementation of numerous additional SCSI commands
- Improved compatibility with the current SCSI standard
- Client/Server interface based on Google Protocol Buffers, allowing clients to send commands and receive messages from the RaSCSI backend
- All clients (rasctl, RaSCSI Web UI, OLED monitor) are using the new architecture for greatly expanded functionality and reliability
- Detailed information on RaSCSI server properties
- Configurable RaSCSI server port
- More concise error messages
- Improved logging and configurable log level
- Improved command validation and error analysis
- Fixed issues with Linux-68k
- Support for 64 bit Raspberry Pi OS and Ubuntu
- Extensive code cleanup, improved object-oriented approaches
- 100% translated source code strings and comments
- Outdated documentation has been updated and moved to wiki (and removed from the repo)
- Restored the rasdump and sasidump tools for dumping physical SCSI/SASI disk images
- Deprecated baremetal support
Special thanks
Thank you to all the members of the RaSCSI community. A special thanks to:
- @erichelgeson - Thank you for reviewing pull requests, creating the initial sd-card configuration and being a general awesome guy
- @uweseimet - Your updates to the RaSCSI code have made it much more maintainable and understandable
- @rdmark - The web interface has made tremendous improvements since the last release
New Contributors
- @quentinmit made their first contribution in #88
- @phrax0 made their first contribution in #86
- @uweseimet made their first contribution in #110
- @rdmark made their first contribution in #205
- @dburr made their first contribution in #230
- @No0ne made their first contribution in #241
- @nsafran1217 made their first contribution in #280
- @karrots made their first contribution in #297
- @mynameistroy made their first contribution in #367
- @Pacjunk made their first contribution in #372
- @hsiboy made their first contribution in #394
Full Changelog: v20.12.0...v21.10.01
May 2021 Release
- OLED Display: Updated Python OLED tool to use Python 3
- RaSCSI: Updated EasyInstall to support branches
- RaSCSI: Code formatting cleanup
- Web Interface: Added DaynaPort to Web Interface (not supported by RaSCSI yet)
- Web Interface: Added ability to load/save configurations