This document contains a list of all the changes for each version of Assassin.
October 30th, 2022
- Core functionality
- Information dashboard
- Traffic enforcement camera alerting
- ALPR camera alerting
- Drone/autonomous threat detection
- Bluetooth threat detection
- ADS-B aircraft detection
December 13th, 2022
- Added several tools.
- Added database preview tool.
- Added database verify tool.
- Adjusted the configuration layout.
- All alerts now have their own configuration sections.
- Updated ALPR alerting.
- Each ALPR alert can now display additional information, including the following:
- Camera brand
- Camera operator
- Camera type
- Camera description
- All information displayed in each alert can now be toggled on and off individually in the configuration.
- ALPR alerts will now show the number of active alerts, in addition to the nearest alert.
- ALPR alerts now display the location of the camera.
- This is combined with the 'direction-to' display.
- Added ALPR alert filtering.
- Alerts can be filtered by direction.
- This prevents cameras that are behind or to the side from triggering alerts.
- Alerts can be filtered by angle.
- This prevents from ALPR cameras from triggering alerts when they are at an angle that can't read the license plate of the car.
- Alerts can be filtered by direction.
- Each ALPR alert can now display additional information, including the following:
- Updated traffic enforcement camera alerting.
- All information displayed in each alert can now be toggled on and off individually in the configuration.
- Traffic camera alerts will now show the number of active alerts, in addition to the nearest alert.
- The relative direction to and absolute bearing to the camera is now displayed in the alert.
- Fixed speed check text alerting.
- Added units to the speed limit text.
- Updated aircraft alerting.
- All information displayed in each alert can now be toggled on and off individually in the configuration.
- The total number of active aircraft alerts is now displayed at the start of the alert.
- Updated Bluetooth alerting.
- Bluetooth alerts now have a title, like other alerts.
- Alerts now display the total number of alerts detected at the top of each alert.
- Alerts are now displayed as multiple lines to be more consistent with other alerts.
- Each line of information can be enabled or disabled in the configuration.
- Updated drone alerting.
- Fixed a typo where the packet count was prefixed by "channel" instead of "packets".
- All information displayed in each alert can now be toggled on and off individually in the configuration.
- Drone alerts are now sorted by signal strength.
- The total number of hazards is now displayed in the title of the alert.
- Made the spacing between alerts more consistent.
- Added additional GPS location providers.
- Termux-API can be used to allow Assassin to run on Android.
- LocateMe can be used to make Assassin easier to run on MacOS.
- All disabled alerts will now supply empty data, instead of none at all.
- This makes Assassin more stable, in the event that a disabled alert inadvertently gets called.
- Updated some sounds effects.
- The aircraft alert sound effect is now much shorter.
- Added an optional heartbeat sound effect to indicate when Assassin is active.
- Added a drone sound effect.
- Added a start-up sound effect.
- Re-arranged the display order of alerts.
- Updated interface coloring.
- Multiple alerts now share the same color.
- Colors are now used to indicate categories, not specific alerts.
- Updated telemetry logging.
- Assassin now logs telemetry information to a GPX file.
- Data points, file names, and save directories can be customized in the configuration.
- Added a configuration option to disable diagonal arrows.
- When diagonal arrows are disabled, Assassin will point in increments of 90 degrees instead of 45.
- Removed relay alert logic.
- Added text to speech support.
March 22nd, 2023
This update adds the ability to interface with external services to enable new functionality, like a graphical user interface and internet based alerts.
- Added weather alert system.
- Rearranged GPS configuration options.
- All GPS settings are now in their own category.
- Added basic GPS spoof detection system.
- Moved text-to-speech configuration to the 'audio' section.
- Added rounding to altitude and heading displays.
- Added driver attention monitoring alert system.
- Re-developed traffic camera alert handling.
- Simplified the traffic camera alert handling process.
- Fixed an issue where the type of a given camera couldn't be identified.
- Fixed an issue where traffic camera alerts were stored in unexpected ways.
- Previously, traffic camera alerts were held in disorganized duplicate nested lists depending on the number of alerts, instead of all in one single list.
- Fixed an issue where the calculated bearing to a speed camera was reversed.
- Traffic cameras are now sorted by distance in the back-end.
- Added local interface support, where all alerts can be stored in a local file to communicate with external local programs.
- Refined ALPR camera alerts.
- ALPR camera alerts are now sorted by distance in the back-end.
- Fixed an issue where ALPR alerts would be filtered improperly.
- Fixed an issue where Bluetooth alerts wouldn't be color coded properly when multiple alerts were displayed.
- Improved ADS-B alert handling.
- Fixed a bug in the aircraft distance sorting algorithm where 1 aircraft would be thrown out during the sorting process.
- The direction of the aircraft is now display relative to the current direction of movement.
April 10th, 2023
This update focuses on improving stability, reliability, and usability.
- Improved aircraft alert processing.
- The ADS-B intake process is now automatic, and is managed by Assassin.
- Aircraft with no location data are now filtered from the alert display.
- Improved the resiliency of the data intake process.
- Fixed an issue where the message intake file could grow exponentially.
- Renamed the "Planes" display to "Aircraft".
- Improved drone alert process.
- The wireless threat database can now contain full MAC addresses to identify individual devices.
- The drone detection process now considers all Airodump-NG output files, not just the first.
- Automatic start-up mode is not significantly more reliable.
- Improved the Bluetooth alert process.
- Bluetooth scanning is now done on a separate thread to prevent Assassin from freezing during scanning.
- There is now a dedicated Bluetooth display in the main information display that shows the number of Bluetooth devices currently detected.
- Added alert latch time configuration value to prevent alerts from being displayed until Assassin restarts after they are triggered.
- Improved GPS alert process.
- The GPS alert configuration section has been re-organized for sake of clarity.
- GPS no-data alerts can now be configured the require multiple sequential instances of no GPS data being returned before an alert is triggered.
- Improved overspeed alerts.
- GPS alerts overspeed alerts are no longer triggered when no GPS data is received.
- Overspeed alerts can now be configured to prioritize the highest speed alert when multiple alerts are triggered at once.
- Added support for frozen GPS alerts, where alerts can be triggered when exactly identical GPS data is received repeatedly.
- GPS alerts are now detected in chronological order, such that the process looks through the location history in order from oldest to most recent.
- Alert types in the GPS alert display are now capitalized.
- Modified the loading process for ALPR camera and traffic cameras.
- ALPR cameras now load based on the current location.
- The loaded radius can be set in the configuration.
- The initial GPS location lock is now acquired separately from the loading process, then passed to the loading functions.
- ALPR cameras now load based on the current location.
- Re-organized the GPS demo-mode configuration.
- Fixed an issue where errors could sometimes occur when the local interface directory was disabled.
- Added attention monitoring timer display option.
- Moved GPS functions to a dedicated file for sake of organization.
April 19th, 2023
- Fixed a bug that would cause a hard crash when drone threat logging was disabled.
- Improved the stability of the drone data parsing process.
Release date to be determined
- Added Predator ALPR integration.
- Assassin can now be configured to display alerts from Predator.
- Added support for OBD integration.
- Using an ELM327 adapter, Assassin can monitor ground speed, engine revolutions per minute, fuel tank level, and airflow rate, and trigger alerts when certain thresholds are broken.
- Refined the POI database format.
- The ALPR camera database has been updated to reflect these changes, and includes additional refinements as well.
- Refined the configuration loading process.
- Functions related to configuration loading and validation have been moved to a dedicated script, titled
config,py
- The configuration is now validated at startup based on an outline template.
- Functions related to configuration loading and validation have been moved to a dedicated script, titled
- Added support for GPS diagnostic alerts, which simply issue an alert containing the most recent GPS information.
- Created a dedicated working directory configuration value.
- Removed the telemetry directory configuration value.
- Renamed the
general > adsb_alerts > adsb_message_file
configuration value toadsb_message_filename
, which is now only a file name that is saved to the dedicated working directory.
- Moved the drone detection working directory to the new general working directory.
- Improved ADS-B alerts.
- Updated the way the minimum vehicle speed configuration value is handled.
- This value is now considered during alert processing, instead of when alerts are displayed. This improves efficiency, and means the minimum vehicle speed will be respected by external programs.
- Re-organized the ADS-B alert configuration for sake of clarity.
- The ADS-B message file is now cleared on start-up to prevent Assassin from needing to parse the entire file to remove old entries individually.
- Fixed an issue that could cause Assassin to crash when parsing aircraft messages.
- When an invalid ADS-B message was encountered, a fatal error would occur.
- Aircraft threats are now sorted by highest to lowest threat level, then closest to furthest distance.
- Moved the ADS-B message pruning process to a separate thread.
- This changed effectively increases ADS-B alert processing speed on multi-threaded CPUs by over 2500%.
- Updated the way the minimum vehicle speed configuration value is handled.
- Assassin can now be configured to display "status messages", which fall between the normal output and the debugging output, in terms of verbosity.
- Added
--headless
command line argument for external interfaces to disable user interaction elements of the console output. - File-saving debug messages are now only displayed when the "silence" flag is set to
false
. - Added support for multiple speed sources.
- The GPS hardware provides a speed in each response. This is the only method Assassin supported previously.
- The vehicle speed can be calculated by determining the distance between the last two GPS points, then dividing by the time difference.
- The speed can be read directly from the car using an ELM327 adapter connected to the car's OBD-II port.
- Added process timing for helping users experienced improve speed.
- Fixed an issue in the
bearing_difference
function, where bearings were improperly reduced to a value below 360. - Refined traffic enforcement camera alerts.
- Updated the traffic enforcement camera database.
- Re-organized the configuration.
- Added filters to reduce unwanted alerts.
- Cameras that are not in front of the car (with a customizable angle threshold) can be filtered.
- Cameras that are not facing the direction the car is traveling (with a customizable angle threshold) can be filtered.
- Cameras for which the speed limit has not been exceeded (with a customizable speed limit offset) can be filtered.
- The debug message printed when alerts are displayed in the console are now only displayed when there is an alert to display for a given category.
- Improved ALPR alerts.
- Moved the false alert filtering configuration values to a dedicated section for sake of organization.
- Added alert de-duplication, where cameras that are close to each other can be condensed into a single alert.
- Improved the intial GPS location fetching process.
- Assassin now erases the
alert.json
file in the interface directory in start-up to prevent external interfaces from displaying alerts from the last time Assassin was run. - Updated status light interfacing.
- Re-organized the status lighting configuration.
- All alert types now have a corresponding status light color.
- Status light changes now trigger a brief delay to allow all alerts to be shown.
- System warnings and errors now have corresponding status lighting actions.
- A request is now only sent to the status light controller if the current status light URL is different from the last.
- Completely re-designed the Bluetooth monitoring system.
- This feature worked unreliably, and was prone to causing unexpected behavior that could prevent other alerts from being processed correctly.