Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump changelog version number for v2024.0.0-alpha.0 #369

Merged
merged 1 commit into from
Feb 6, 2024
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.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 0 additions & 2 deletions .github/workflows/documentation-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,6 @@ jobs:

- name: Log in to GitHub Container Registry
uses: docker/login-action@v3
if: github.event_name == 'pull_request' || github.event_name == 'push' || github.event_name == 'push tag'
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
Expand Down Expand Up @@ -161,7 +160,6 @@ jobs:

- name: Log in to GitHub Container Registry
uses: docker/login-action@v3
if: github.event_name == 'pull_request' || github.event_name == 'push' || github.event_name == 'push tag'
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
Expand Down
16 changes: 9 additions & 7 deletions software/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,38 +9,40 @@ All dates in this file are given in the [UTC time zone](https://en.wikipedia.org

## Unreleased

## v2024.0.0-alpha.0 - 2024-02-06

### Added

- (System: networking) Added support to share internet access and browser application access over additional network interfaces: a second Wi-Fi module, an additional Ethernet adapter, and a USB networking interface (made by plugging a phone to the Raspberry Pi in USB tethering mode).
- (System: networking) Added `lynx` as an alternative terminal web browser to `w3m` for trying to work through captive portals on the Cockpit terminal.
- (System: administration) Added Dozzle as a viewer for Docker container logs.
- (Application: GUI) The "System Monitoring" page now shows the current system time on the Raspberry Pi and the current time in the web browser of the client device.
- (Application: GUI) The "System Monitoring" page now detects when the Raspberry Pi's system time is very different from the web browser's time, and shows a message and a buttom to change the Raspberry Pi's system time to match the web browser's time.
- (Application: GUI) The "System Monitoring" page's system metrics panel is now collapsible, and it now includes an expandable "Detailed History" subsection to view additional information.
- (System: administration) Added Dozzle as a viewer for Docker container logs.
- (System: networking) Added `lynx` as an alternative terminal web browser to `w3m` for trying to work through captive portals on the Cockpit terminal.
- (System: administration) Added Prometheus as a metrics collection & storage system.
- (System: administration) Added Grafana as a metrics visualization & alerting system.

### Changed

- (System: security) `ufw` has been replaced with `firewalld`. However, firewalld has not yet been properly configured.
- (System: administration) Docker commands can now be run without `sudo`.
- (Application: GUI) The "System Monitoring" page now uses a Grafana dashboard to display metrics.
- (Application: GUI) The "Fluidic Acquisition" page now uses a numeric text input instead of a slider for adjusting the "Pumped volume" setting, to make it easier to change the setting to a different exact value.
- (Application: GUI) On the "Sample" page, the input fields of the "Sample Location"/"Net Throw Location"/"Net Retrieval Location"/"Culture Date and Time" panels no longer get cleared when pressing the "Validate" button.
- (System: administration) Docker commands can now be run without `sudo`.
- (System: security) `ufw` has been replaced with `firewalld`. However, `firewalld` has not yet been properly configured.
- (System) The PlanktoScope's machine name is now saved to `/var/lib/planktoscope/machine-name` instead of `/home/pi/.local/etc/machine-name`, and it's now saved without a trailing newline.

### Removed

- (System: administration) Removed `cockpit-storaged`, which was not useful anyways and had pulled in many unneeded dependencies.
- (Application: GUI) The "System Monitoring" page no longer displays a gauge for the CPU usage, since that information does not need to be monitored to ensure system stability & usability. Instead, a CPU usage history graph can be found in the new "Detailed History" subsection.
- (System: administration) Removed `cockpit-storaged`, which was not useful enough to justify the number (and size of) unneeded dependencies it pulled in for the PlanktoScope software SD card image.
- (System: setup) Removed some unnecessary `apt-get update` commands for a very minor speed-up in the distro setup process.
- (Application: GUI) The "System Monitoring" page no longer displays a gauge for the CPU usage, since that information does not need to be monitored to ensure system stability & usability. Instead, CPU usage has been moved to the new "Detailed History" subsection.

### Fixed

- (Application: GUI) The "Filtered volume" field (on the "Sample" page) is now saved as the `sample_total_volume` metadata field for all sample types, not just horizontal Plankton tows (corresponding to the "Plankton net", "High Speed Net", and "Tara decknet" sample types).
- (System) Boot time has been made faster by approximately 1 minute.
- (System: networking) The Raspberry Pi now correctly detects a phone connected in USB tethering mode to share internet access regardless of when the phone was connected, instead of only detecting that phone if USB tethering mode was enabled early in startup (specifically, before the `dhcpcd` service had started).
- (Application: GUI) On Mozilla Firefox, the embedded file browser in the Node-RED dashboard's "Gallery" page should now consistently load with the correct height, instead of sometimes loading with an absurdly small height.
- (System: networking) The Raspberry Pi now correctly detects a phone connected in USB tethering mode to share internet access regardless of when the phone was connected, instead of only detecting that phone if USB tethering mode was enabled early in startup (specifically, before the `dhcpcd` service had started).
- (System) Functionality for automatically updating the `/etc/hosts` file and the hostname based on the machine name has now been split into two separate system services, `planktoscope-org.update-hosts-machine-name.service` and `planktoscope-org.update-hostname-machine-name.service`.

## v2023.9.0 - 2023-12-30
Expand Down
8 changes: 4 additions & 4 deletions software/distro/setup/base-os/forklift/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,21 @@
config_files_root=$(dirname $(realpath $BASH_SOURCE))
forklift_version="0.5.0"
pallet_path="github.com/PlanktoScope/pallet-standard"
pallet_version="f2539fb"
pallet_version="v2024.0.0-alpha.0"

curl -L "https://github.com/PlanktoScope/forklift/releases/download/v$forklift_version/forklift_${forklift_version}_linux_arm.tar.gz" \
| sudo tar -C /usr/bin -xz forklift
sudo mv /usr/bin/forklift "/usr/bin/forklift-${forklift_version}"
sudo ln -s "/usr/bin/forklift-${forklift_version}" /usr/bin/forklift

workspace="$HOME"
forklift --workspace $HOME plt clone --force $pallet_path@$pallet_version
forklift --workspace $HOME plt cache-repo
forklift --workspace $workspace plt clone --force $pallet_path@$pallet_version
forklift --workspace $workspace plt cache-repo

# Note: this command must run with sudo even though the pi user has been added to the docker
# usergroup, because that change only works after starting a new login shell; and `newgrp docker`
# doesn't work either.
sudo -E forklift --workspace $HOME plt cache-img --parallel # to save disk space, we don't cache images used by disabled package deployments
sudo -E forklift --workspace $workspace plt cache-img --parallel # to save disk space, we don't cache images used by disabled package deployments

# The pallet must be applied during each startup because we're using Docker Compose, not Swarm Mode.
file="/etc/systemd/system/forklift-apply.service"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ hardware_type="$1" # should be either adafruithat or pscopehat
## Install basic Python tooling
sudo apt-get install -y git python3-pip python3-venv

# Suppress keyring dialogs when setting up the PlanktoScope distro on a graphical desktop
# (see https://github.com/pypa/pip/issues/7883)
PYTHON_KEYRING_BACKEND=keyring.backends.null.Keyring

# Install Poetry
# Note: Because the poetry installation process (whether with pipx or the official installer) always
# selects the most recent version of the cryptography dependency, we must instead do a manual poetry
Expand Down