-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangelog.txt
229 lines (199 loc) · 12.4 KB
/
Changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
FlightGazer Changelog
v.V.R.U - Release date
| | |
| | `- Update
| `--- Release
`----- Version
v.2.2.0 - 2025-01-23
- NEW: Colors are no longer hard-coded and can be configured
- Slight tweaks to blue color preset to improve legibility
- Additional color presets
- Updated updater script to migrate color configuration file
v.2.1.2 - 2025-01-22
- NEW: Added API checking to check both API key validity and to get usage status
- According to FlightAware, his incurs 0 charges against your API usage (current as of this update)
- The war with settings validation continues (more fixes)
- Small code fixes and tweaks
- Text output tweaks
v.2.1.1 - 2025-01-21
- Fix permissions of files to owner of FlightGazer install directory when running updater
v.2.1.0 - 2025-01-20
- NEW: New logo
- NEW: Splash screen (to show off the new logo)
- Only works if using the init script
- Now there's something to show when the init script needs to update the working environment
- Overhauled method to blink callsign
- The design is now much less janky and much more robust
- Small tweaks to updater scripts
v.2.0.1 - 2025-01-19
- HOTFIX: Fix main script not working (failed to start)
- Caused by settings checker, ironically
- HOTFIX: Fix updater script
- Had wrong line endings
- Also failed to copy over temporary directory
- Change file ownership to nobody before copying over as we are running as root
- Re-architected script to be 2 stage to avoid copying over itself
v.2.0.0 - 2025-01-18
- BREAKING CHANGE: new settings file format
- Change from using a Python file to YAML for ease of settings migration in the future
- v.2.0 and newer will not be able to read v.1.x or older settings files
- If upgrading from v.1.x to v.2 or newer, you must reconfigure your settings manually
- This affects an estimated one person as of this Version (the author)
- NEW: Brightness settings based on time of day
- Switchover based on local sunrise/sunset or manual settings
- NEW: Brightness setting for when there is an active plane on display
- NEW: Optional sunrise/sunset times on clock display
- Requires that location is set/available
- NEW: Optional receiver stats on main clock display
- Track receiver gain (if dump1090 autogain is enabled on the device)
- Also display noise levels and percentage of loud signals
- NEW: Updater script that will upgrade FlightGazer to the latest commit on GitHub
- Migrates settings and stats as well
- Forces the init script to check the FlightGazer virtual environment; startup will take slightly longer after an update
- NEW: Flight name (callsign/registration) blinks a few times when entering active plane display or a switchover to another plane
- Grabs attention better and provides clearer indicator of plane switchover
- Massive code restructuring. Like, a lot of changes. Almost a complete rewrite. gg anyone else using this so far
- Restructured config file for clarity
- Numerous code cleanups
- Refactoring to accommodate for all the added features and any future feature creep
- Bolstered settings checking to increase resillency against misconfiguration (not unbreakable though)
- In interactive mode, receiver stats are also shown
- Updated init script
- Modified 3x5.bdf font to support arrows and other useful drawing characters
- Fixed minor bug with plane selection algorithm where it would not loop through planes once all planes have been shown (was present since v.1.4.0)
- Handle cases when there is an empty callsign (this bug went unnoticed since inception)
- Further improve display responsiveness
- This update was originally slated to be v.1.6.0 but the changes snowballed enough to warrant a version bump (understandably)
v.1.5.2 - 2024-12-27
- Additional text output tweaks for interactive mode
- Version number now in header
- When there are two or more planes shown, shows when the selector algorithm will choose another plane
- Small refactoring
v.1.5.1 - 2024-12-17
- Create RGBMatrixEmulator settings upon install to suppress harmless error output
- Update uninstall script to remove RGBMatrixEmulator settings
- The war on signal handling continues (attempt another fix)
v.1.5.0 - 2024-12-17
- Depreciate using rc.local for startup, systemd service is now the only startup method
- By default the script will now run in tmux
- Improved compatibility when running as a systemd service
- Even more improved signal handling for main python script
- RGBMatrixEmulator is now installed by default and is the fallback unless No-Display mode is enabled
- Restores same functionality found in v0.7.0 to v.0.9.0
v.1.4.2 - 2024-12-17
- FIXED: HTTP 403 errors due to lack of user-agent in json file requests
- Some text output tweaks
v.1.4.1 - 2024-12-17
- init.sh: add ability to create a service via systemd if rc.local doesn't exist
- Uninstall script updated to disable service as well if this method is used
v.1.4.0 - 2024-12-10
- NEW: More screen functionality for non-API users via new mode, ENHANCED_READOUT
- Latitude and longitude readout instead of origin and destination
- RSSI instead of time
- Ground track
- Vertical speed
- This is a toggleable option and overrides API access; even if a key is given, it will not fetch the API
- Small plane readout layout tweaks due to above change
- Minor plane selector algorithm tweak
- Completely overhauled interactive display routine for more readable layout
- More plane details in interactive readout to reflect new ENHANCED_READOUT mode
- Improved screen data refresh responsiveness and switchover
v.1.3.0 - 2024-12-09
- NEW: User selectable units
- No longer hard-coded to aeronautical units
- Added additional internal logic to handle different units
- Adjusted docstrings
- NEW: Backward compatibility with older settings files
- Flyby counter is now more accurate
- New option: flyby staleness, which determines if a flyby of the same plane can be considered as a flyby if it occurs after a set time
v.1.2.1 - 2024-11-26
- Add another fallback for checking if another instance of FlightGazer is running, now internal to the python script
- New process-related stats on console output
v.1.2.0 - 2024-11-25
- New uninstall script
- Initialization script now accepts optional arguments which trigger the same options in the python script
- Can now run automatically inside tmux if present
- Initialization script now checks if there is an already running instance of FlightGazer
v.1.1.1 - 2024-11-23
- Create this changelog file
- Small code refactoring
- Small console output text changes and display value tweaks
- Additional thread termination handling
- Reload current running stats from stats file if it's the same date (useful for if we restart the script)
- Write out stats upon exit so we don't lose data
- Finally fix display driver thread not exiting when exit signals are sent (apparently was not fixed from v.0.9.0)
v.1.1.0 - 2024-11-15
- Add new "No Filters" mode which outputs all detected planes from dump1090 regardless of set range
- This mode disables API fetching and forces the display to only run as a clock
- Since our range is no longer small, there is no point using the plane selector algorithm nor doing API fetches
- This mode is perfect for ADS-B sites that don't receive a lot of traffic (think <200/day)
- This mode has the same functionality as v.0.1.0
- Add installation of tmux to the initialization script for convienence
v.1.0.2 - 2024-11-12
- NEW: Added option to only display output to console (just like how pre-1.0.0 versions were when I was still debugging it)
- Adjusted when we write to stats file during the day (23:59, before we do the stats reset at midnight, 00:00)
- Handle case when we use the python script outside of the initialization script and don't pass any arguments
v.1.0.1 - 2024-11-11
- FIXED: permissions issue of writing to stats file
- This was caused by rgbmatrix dropping permissions after we initialized/checked we can write to the file
- Only workaround for now is to keep rgbmatrix retaining root perms during runtime
- Added logic to display initialization to check if we can drop permissions if we have a stats file/want to write to a stats file
- Refactored exit text to eliminate reentrant errors
- Added LED_PWM_BITS setting to adjust display output (default in rgbmatrix is 11, we default to 8 for balance of flicker reduction and color reproduction)
v.1.0.0 - 2024-11-10
- MILESTONE: Core functionality fully realized 👍
- Finally solve biggest hurdle of creating logic to match desired display output onto a physical RGB-Matrix display
- Add argument parsing for python script for the initialization script
- Initialization script will trigger different modes depending on if we are using an interactive terminal
- Default mode is to run silently when we're started by a Raspberry pi's rc.local file
- Retain RGBMatrixEmulator as a selectable option in case we don't have an actual RGB-Matrix display to output to
- Add in additional logic for switchover capability
v.0.9.0 - 2024-11-09
- Clock and plane display layouts finalized (thank you RGBMatrixEmulator)
- Massive code rewrite: depreciated use of almost all code from 'its-a-plane' project
- We only retain some framework modules; we no longer use separate "scenes"
- Introduce new internal "display feeder" class for handling display output
- Fix display driver thread causing it to run again once exit signal was called, requiring program to be exited twice or terminated forcefully
- Restructured thread initialization timings due to above change to ensure all threads terminate when main thread is signalled to end
v.0.8.0 - 2024-11-08
- Handle cases when we don't have required resources to drive an RGB-Matrix display
- Continue work on how to actually produce output to a display (the clock works at least)
- Repurpose initialization script from my other project "UNRAID Status Screen" for this setup
- Writes to rc.local on a Raspberry Pi when run for the first time so that subsequent runs will start automatically at boot
- Lower timeouts when we are probing possible dump1090 locations (used to be 5 seconds, now down to 0.5)
v.0.7.0 - 2024-11-05
- Add RGBMatrixEmulator into code for display debugging and layout testing (much better than having to run this on real hardware, bless)
- Move settings to an external file
- Added brightness setting
- Added smaller fonts and more colors
- Refined plane selector algorithm based on real world testing
- Additional algorithm info displayed in console output
- Handle edge cases provided by API
v.0.6.0 - 2024-10-23
- Determine how to utilize FlightAware API
- Print API results to console
- Add API call limiter
- Reorganize directory layout for this project for future modules
- Add caching structure for API results to minimize calls
- Begin work on RGB-Matrix display routines by integrating code from 'its-a-plane' by Colin Waddell
v.0.5.0 - 2024-10-22
- MILESTONE: Cool logo
v.0.4.0 - 2024-10-20
- Implemented rudimentary selection algorithm for planes inside range
- Console output also indicates how the algorithm is working
- Finalize necessary information to pull from dump1090 json
v.0.3.0 - 2024-10-16
- Figure out cross-thread communication with pydispatcher
- Added airplane parser class to filter out stats based on desired range
v.0.2.0 - 2024-10-12
- Add external modules to decode both registrations and country codes associated with ADS-B hex IDs
- Translated from original javascript sources used in tar1090
- Required as fallback since not all planes will have a callsign
v.0.1.0 - 2024-10-08
- Figure out how to parse dump1090 json
- Add routine to handle different dump1090 locations
- Figure out how to combine dump978 output as well
- Add in scheduler for periodic routines
- Print to console routine
v.pre-alpha - 2024-09
- what is ADS-B