Rod's Cars - Discrepancy Reporting System - OpenDRS Change Log


My Account
Log In



About

    OpenDRS - Online Discrepancy Reporting System
    Copyright (C) 2026  Rod Wright

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    
    
Changelog

1.0.0 - 2018-03-13
    - Initial release as OpenMTS.

1.1.0 - 2018-05-10
    - Name change from OpenMTS to OpenDRS.
    - Added "Go Back" button to left side menu to make up for loss of browser
        back button in terminal mode.
    - Added configurable help text for period effective selection.
    - Changed Sim period effective from selection to yes/no radio buttons.
    - Writeup groups page shows collapsed list of groups. Click the expand
        icon to expand each group.
    - Fixed bug where entries made on stale create page had inaccurate 
        date/time.
    - For logged in users, added the ability to select writeups directly on 
        the View All Writeups page and assign/create a group.
    - On the Create New Writeup page, removed the default selections for 
        Device, Subsystem, and Period dropdowns, forcing user to make a 
        selection.
    - Added a Today button to the View All Writeups page
    - Changed the Period dropdowns on the Create, Search, and Group pages to 
        show the times instead of the period numbers. Period numbers are 
        still shown in the results tables with mouse hover showing times.
    - Moved all installation/upgrade functions to the install.sh script.
    
1.1.1 - 2020-04-09
    - Fixed opendrs-update.sql to rename the trainers table.
    - Fixed bug where the About page didn't show the version number.
    - Fixed some grammar on the About page.
    - Fixed hardcoded help text in groups.php to use constant from config.
    - Added ID to searchable parameters in search.php.
    - Added sort parameters to search results.
    - Added a link for Admins to access the local Webmin to manage a terminal.
    - For Raspberry Pi:
        - In terminal setup, provided missing .profile and
            .config/openbox/rc.xml files.
        - In server setup, install mariadb-server since 
            mysql-server is obsolete.
        - Changed startdrs.sh to re-enable ctrl keys for copy/paste, etc. Also
            added chromium flags to prevent update popup.
        - Added openbox keybindings to customer user's rc.xml to trap dangerous
            chromium hotkey combinations and enable ctrl-alt-del reboot.
        - Changed systemd ctrl-alt-del.target symlink to point to
            reboot.target.
    
1.1.2 - 2021-04-28
	- Added ability to export search results as a CSV file.
	- Fixed bug in server-setup.sh that resulted in an incorrect install
		location if the installation name was left at the default.
	- Fixed bug in server-setup.sh that resulted in failure to set the
		ownership of the installed server directory tree if the http
		user and group names were left at the default.
	- Updated and tested to support Raspberry Pi 4B hardware.

1.2.0 - 2021-05-05
	- Added ability to customize the terminology used for Device,
		Period, and Effective/Non-effective to make OpenDRS usable in
		a wider range of applications.

1.3.0 - 2022-03-05
	- Made several improvements to group functionality. The Writeup Groups
		page now displays all groups in a table instead of individually
		expandable sections. On the View Writeups and View Open Writeups
		pages, if a writeup is a member of only one group, clicking the
		icon will take you to the page for that group. If a writeup is
		a member of multiple groups, clicking the icon will take you to
		the detail page for that writeup where you can view or modify which
		groups the writeup is a member of. On the Search page, you can
		now choose which group(s) the results should include.
	- Made some improvements to the installation process for Raspberry Pi
		setup to accomodate the latest version of Raspberry Pi OS.
	- If setting up as a Raspberry Pi terminal/server, included the option
		to make the terminal a wireless access point if it connects to an
		ethernet network.

1.3.1 - 2022-05-11
	- Updated installation scripts and instructions to reflect changes in
		Raspberry Pi OS Release 2022-04-04.
		
1.3.2 - 2022-08-08
	- Fixed typo in dbadmin.php that prevented adding new When Discovered
		items.
	- Fixed bug in create.php that prevented the page from working.
	- Fixed bug in config.php that prevented banners from being modified.
	- Fixed bug where action_by and action_reason were not preselected for
		subsequent searches in search.php.
	- Fixed bug in about.php and gpl.php that still used old $mts_db
		database handle.
	- Removed the server session directory option in config.php
		Miscellaneous settings. For this to make sense, you'd have to have
		shell access to the server and if that's the case, you'd be able
		to make the necessary database changes as well.
	- Fixed opendrs-initial.sql to make the default banner colors match
		the ones in common.php.
	- Created changelog.php for use by the "changes" link on the About
		page so kiosk terminal users don't get dead-ended in the CHANGELOG
		text file with no way to get back to the app.
	- Extensive code cleanups/updates in all php files to make application
		compatible with php8 and eliminate php warnings in apache2 error
		log file.
	- For Raspberry Pi:
		- Updated server-setup.sh to attempt to install the php-mysqli package
			for compatibility with php8.
		- Chromium browser will use the printer designated as the local
			default if it is selected as such in the Cups printer
			configuration.

1.3.3 - 2023-10-03
	- Restricted the ability to change the report date and time when 
		creating or editing a writeup to only logged in users. This is to 
		prevent reporters from backdating writeups, causing them to possibly 
		be missed.
	- For Raspberry Pi:
		- Updated the Webmin custom command scripts to use whatever user is 
			logged into Webmin instead of the user "pi" which may not exist 
			if rpi-imager options were used to set a different initial user
			when the SD card was created.

1.4.0 - 2024-05-09
	- Updated the installer script (install.sh) to check for and install the
        prerequisites (apache, php, mariadb/mysql) and optional packages
        (webmin, phpmyadmin).
    - Added an access mode setting. The access mode should be "untrusted" if 
        OpenDRS is exposed to an untrusted environment such as the internet.
        Untrusted mode requires a login to access any part of the application.
        The access mode should be "trusted" when the application is used
        in a trusted environment where anybody on the network can
        create/edit writeups and search the database, with a login required
        for everything else.
    - On the View All Writeups pages, replaced the "Last 7 days" and
        "Last 30 days" buttons with a dropdown with more options, including
        future dates so that OpenDRS can be more useful for things like
        preventive maintenance.
    - Changed the global font to a sans-serif font.
	- For Raspberry Pi:
		- Removed the Raspberry Pi terminal setup from OpenDRS. Setting up 
            a Raspberry Pi as a terminal for OpenDRS can now be accomplished 
            by installing the OpenKiosk application.
        - Removed the Raspberry Pi server setup from OpenDRS. Setting up
            a Raspberry Pi as an OpenDRS server is easily accomplished by
            the OpenDRS installer.

1.4.1 - 2024-06-18
	- Updated the installer script (install.sh) to check for and install the
        package supplying uuidgen. If uuidgen is not present, the mysql
        user would be created with a blank password.

1.4.2 - 2024-06-27
    - Fixed bug introduced in version 1.4.1 in writeups.php where open 
        writeups prior to the current day weren't displayed on the 
        "View Open Writeups" page.
    - Removed open, closed, and deferred constant definitions from common.php
        since only one was ever used, and that in only one place.

1.4.3 - 2025-02-27
    - Poorly documented changes in the previous three versions resulted 
        in confusion about when the date range selection dropdown should
        appear on the View Open Writeups and View All Writeups pages.
        Since the View Open Writeups page seemed redundant (all that info
        was available on the View All Writeups page) removed the View
        Open Writeups page entirely. The writeups page now shows all
        writeups for the selected date range, or today if no dates are
        specified.

1.4.4 - 2025-12-10
    - Fixed bug in writeupdetail.php that emerged with installation on a
        system using MariaDB-10.11.14. A fatal error occurred when 
        trying to insert a null value into the action_reason field of 
        the writeups table (you left the action reason dropdown blank). 
        Previous versions just left it as is without complaint. 

1.4.5 - 2025-12-16
    -  Various problems were noted resulting from php's use of UTC as the
        default timezone. Now, on installation or upgrade, the installer
        gets the correct timezone from the system and sets it as a php
        option in a .htaccess file in the install location. This solves
        multiple problems and allows today's date and the current time
        to be determined from the php date() function as part of the
        settings.php once per page load instead of having to query the 
        database multiple times per page load. Also added the option to
        allow apache to read the .htaccess file to the 
        section of the application's conf file in 
        /etc/apache2/conf-available
    - Renamed the installer's opendrs-update.sh script to files_update.sh
        to align with the standardized installation process used by
        other applications.
    - Changed the install.sh script to align with the standardized
        installation process used by other applications.

1.4.6 - 2026-02-06
    - Fixed bug in group_detail() function in common.php where the link
        members were being sorted by linkid instead of writeupid. This
        caused the group writeup table to be ordered based on when the
        writeup was added to the group instead of in the logical writeup
        order.

1.4.7 - 2026-03-03
    - Fixed bug reported as Issue 1 where clicking the Show Printable
        button on the search results page resulted in the results not
        being shown on the printable page.





Please report bugs to Rod Wright (software@rodsplace.net)