CHANGELOG
v1.25.0
What's new
- ✨ List the project's own pipelines when requesting a calculation
- ✨ Show which pipeline runs each ticket in the tickets table
- ✨ Create and run a ticket in one step
- ✨ Show pending tickets and run or stop them from the calculations page
- ✨ Run, stop and close tickets through Prefect instead of the queue
- ✨ Start the selected pipeline when a ticket is created
- ✨ Split NRM traffic timestamp into timestamp/den columns
- ✨ Accept DEN labels in traffic timestamp column
- ✨ Filter and join profile search results by pipeline validations
- ✨ Wire up the pipeline validation filters for the profiles sidebar
- ✨ Make every dummy validation flow reachable from its own module
- ✨ Allow NRM projects to be duplicated
- ✨ : only offer same-engine projects when linking
- ✨ : reject cross-engine project links
- ✨ add button to center the map on a receptor
- ✨ : support gam when importing NRM airplane profiles
- ✨ add NRM helicopter profile upload and retrieval
- ✨ : add AirportDataValidations and InvalidAirportData exception
- ✨ load NRM profiles from aircraft data SQLite
- ✨ create public sitemap endpoint
- ✨ add login button on public documentation page
- ✨ create footer with links to documentation
- ✨ return tracks ids on upload
- ✨ verifies if airport data is defined before preparing a project
- ✨ On opening request traffic calculation modal use the selected calculation model
- ✨ Add validation validations to tracks and receptors sidebars
- ✨ Add pipeline validations to Tracks, Receptors, Traffics and Aircraft Data endpoints
- ✨ Use pipeline validation values from the API
- ✨ display validations inside expanded sidebar area
- ✨ create option to start calculation request on pipelines validation area for traffics
- ✨ create sidebar filters for validation pipelines and validation status
- ✨ apply pipeline validation filters to profile, track and traffic sidebars
- ✨ show list of validation pipelines with status in the sidebar
- ✨ add validation status info to aircraft and airport data tables
- ✨ migration to creeate new pipelines and engines tables
Localisation
- 🌐 Add the Dutch translation for the tickets table project filter
Documentation changes
- 📝 Describe the new ticket lifecycle in the user documentation
- 📝 Update NRM traffic docs for split timestamp/den columns
- 📝 Document NRM traffic file behaviour
- 📝 Add branching status overview to README
- 📝 Document project duplication, including NRM support
- 📝 Expand existing project-creation doc instead of a new page
- 📝 Remove active-status requirement from duplicate docs
- 📝 : document what is exported per project type
- 📝 : document required assets per project type for import
- 📝 : document linked project type constraints on editing
- 📝 add missing Dutch translation for center_in_the_map
- 📝 : Add LICENSE and CONTRIBUTING.md
- 📝 document assignment-time Doc29/NRM airport data enforcement
- 📝 wire NRM Profiles spec into docs nav
- 📝 document Doc29/NRM airport data requirements and RD coordinate system
- 📝 document traffic track/profile resolve and lock behaviour
Configuration changes
- ⚙️ Offer the NORAH pipeline for Doc29 projects
- ⚙️ Offer the November pipeline for Doc29 projects
Bug fixes, performance improvements, and UI improvements
- 🐛 Remove invalid tabindex prop from the user menu link
- 🐛 Fix opening receptors and noise results on S3 storage
- 🐛 Fix attaching aircraft data to a new project on S3 storage
- 🐛 Fix broken storage import and unhandled missing traffic file in NRM validation
- 🐛 Fix stale expected warning in traffic validator tests
- 🐛 Size the aircraft/airport data download icons like the other configuration icons
- 🐛 Merge duplicate v1.24.15 rc.2/rc.4 tables in release notes
- 🐛 Serialize Prefect pipeline deploy jobs to avoid CodeDeploy collision
- 🐛 Fix PREFECT_URI being silently overridden by global CI default
- 🐛 Restore image handling in nrm.py, matching dummy.py's ECR/local-build pattern
- 🐛 Remove local Docker image build from nrm.py pipeline registration
- 🐛 : fix content loss from the v1.24.27 merge (pytest failures)
- 🐛 : fix stale ProfileService.get_combined_profile_name reference
- 🐛 : restore main's track_name/profile_name column descriptions
- 🐛 : make the events/noise_events table name dynamic instead of hardcoded
- 🐛 - Added missing dependencies files to CodeDeploy zip
- 🐛 : Fix missing PIPELINE_IMAGE variable in Prefect pipeline CI config
- 🐛 : Add pipelines configuration to caelus_config.toml
- 🐛 : Abort deployment when migrations or database sync fail
- 🐛 : Add missing translation keys (EN/NL)
- 🐛 : forward settings to validator in validate_file_task
- 🐛 : fix CI batch failures from the charlie moves
- 🐛 fix ruff violation and stale test assertion from v1.24.21 merge
- 🐛 : validate the submitted linked project on update
- 🐛 order runways by id for consistent output when fetching runways
- 🐛 restore helicopter matching exemptions dropped in the DOMRAP refactor
- 🐛 fix RedirectManager test: .js -> .jsx, jest -> vitest
- 🐛 : don't fail the whole export for a non-enforcement project
- 🐛 : fix stale enforcement-report check on project export
- 🐛 : preserve receptor grid and list metadata on export/import
- 🐛 : preserve the source project type when importing a project
- 🐛 : forward profile subtype when importing projects
- 🐛 fix test failures surfaced by v1.24.15 merge
- 🐛 Add missing ProfileSubtype import in profile_controller
- 🐛 : make ProjectImportService take settings via dependency injection
- 🐛 : fix project import crashes on airport data and receptor lists
- 🐛 : fix create_project passing project id instead of project object to copy_project_airport_data_file
- 🐛 : drop deleted test_track_controller.py from CI pytest chunk 2
- 🐛 : fix latent bugs in Track.add_points_to_track's lat/lon conversion
- 🐛 fix missing RedBorderedButton/FileDragDrop imports and migrate test to vitest
- 🐛 degrade gracefully when Prefect is unreachable during asset validation
- 🐛 fix TicketFactory to reuse existing receptor_grid when available
- 🐛 fix backend issues after merge
- 🐛 remove getTrafficTypeToAdd method from TrafficSidebar
- 🐛 avoid app from breaking when asset validations status is not available
- 🐛 fix issue validating traffic pipeline status on creating noise request
- 🐛 avoid app from breaking when there's no sitemap file available
- 🐛 on duplicating a project assign an active status
- 🐛 Fix issue showing pipeline status when filtering by pipeline
- 🐛 Add missing dependency to render the file specifications
- 🐛 Allow analyst to export and import projects in Echo Cloud
- 🐛 Add unique constraint to runways to be unique on designation and project id
- 💄 Remove the ticket cycle summary from the calculations page
- 💄 Show the user menu instead of the login button on the authenticated documentation page
- 💄 : Show runway designation and shortened flight type in track summary
v1.24.35
What's new
- ✨ Show the newest calculations first
Localisation
- 🌐 Add the missing Dutch project filter text and English project type names
Bug fixes, performance improvements, and UI improvements
- 🐛 Fix actual traffic failing on projects with many profiles
- 🐛 Add the default season to projects created or updated without one
- 🐛 Show a clear error when a project has no seasons
- 🐛 Stop the calculations filters from growing with their content
- 🐛 Replace the ticket cycle summary with a link to the tickets documentation
v1.24.34
Bug fixes, performance improvements, and UI improvements
- 🐛 Fix attaching aircraft data to a new project on S3 storage
- 🐛 Skip helicopter tracks that already exist when uploading a track file
v1.24.33
Bug fixes, performance improvements, and UI improvements
- 🐛 Fix KeyError crash in enforcement traffic merge when track_id is cached out
v1.24.32
Bug fixes, performance improvements, and UI improvements
- 🐛 Fix S3 folder bootstrap crash and receptor list GET 500
v1.24.31
Documentation changes
- 📝 Render changelog
Bug fixes, performance improvements, and UI improvements
- 🐛 Fix confirming direct-to-S3 uploads of system and organisation data
- 🐛 This release contains only internal maintenance, with no user-facing changes.
v1.24.30
Duplicating projects
- ✨ The projects overview now updates by itself while a project is being duplicated, so you can see when the copy has finished or failed
- ✨ Projects whose creation or duplication fails partway through are now marked with a new "error" status, instead of staying stuck on "duplicating" or looking active while incomplete
- ✨ A project with the "error" status can be moved back to active from the status dropdown
- 💄 The duplicate project dialog now closes straight away; a notification tells you when the copy has finished, or why it failed
Calculations page
- ✨ The calculations page now loads tickets page by page, and can be filtered by project and state or searched by ticket, traffic or receptor set ID
- ✨ The calculations page now shows project, ticket creator, traffic and receptor set names instead of IDs (hover over a name to see its ID)
v1.24.29
Bug fixes, performance improvements, and UI improvements
- 🐛 When a calculation fails, its remaining parts are no longer processed, so other calculations in the queue start sooner
- 🐛 Restarting a server no longer reinstalls or updates the application, so it always stays on the released version after a restart
v1.24.28
Bug fixes, performance improvements, and UI improvements
- 🐛 Adding runways, tracks or receptors to a project without a coordinate reference system (EPSG) now shows a clear error message instead of a server error
- 🐛 Fixed an issue where restarting a server could switch it to a different version than the one released, which could make recently fixed problems reappear or features behave unexpectedly
v1.24.27
Bug fixes, performance improvements, and UI improvements
- 🐛 Fixed 503 errors when listing traffic, caused by slow, unindexed noise-data queries
- 🐛 Improved performance and data consistency for tracks, runways, and user accounts
v1.24.26
Bug fixes, performance improvements, and UI improvements
- 🐛 Improved performance and data consistency for event records linked to projects, tracks, and profiles
v1.24.25
Bug fixes, performance improvements, and UI improvements
- 🐛 Fixed an issue where unauthenticated requests were being tracked as a single anonymous user in our analytics, which could cause a backlog under heavy traffic
v1.24.24
Bug fixes, performance improvements, and UI improvements
- 🐛 Receptor lists without a name column can now be uploaded
- 🐛 Fixed missing labels in the project type dropdown, project list and receptor deletion dialog
v1.24.23
Bug fixes, performance improvements, and UI improvements
- 🐛 The "duplicating" project status is now displayed correctly in the projects overview
- 🐛 Fixed an error when deleting a project that has a main receptor grid or list
- 🐛 Fixed file validation failing with a server error on some uploads
v1.24.22
Bug fixes, performance improvements, and UI improvements
- 🐛 Duplicated projects now keep their track points in the correct order
- 🐛 Profiles whose distance values decrease partway through are now rejected, instead of being stored as one scrambled profile
- 🐛 Fixed broken links between pages in the user guide
v1.24.21
Enforcement reports
- 🐛 Fixed the first enforcement-points calculation of a project failing
- ✨ Enforcement reports are now generated on demand with a new "Generate enforcement report" button, instead of automatically
- 🐛 Fixed enforcement reports failing when generated before all required noise calculations had finished
What's new
- ✨ A project being duplicated now shows the status "duplicating" until the copy is complete
v1.24.20
What's new
- ✨ Aircraft and airport data files now upload and download directly to and from secure storage, so large files transfer more reliably
- ✨ The file specifications in the documentation are now generated from the upload checks themselves, so they always match
Documentation changes
- 📝 The "mandatory" indicator in the file specifications now appears above the table description
- 📝 Link Echo docs to the generated validator specification pages
Bug fixes, performance improvements, and UI improvements
- 🐛 Fixed an error when deleting certain calculations
v1.24.19
Bug fixes, performance improvements, and UI improvements
- 🐛 Fixed circuit flights sometimes being matched to the wrong trajectory
- 🐛 Fixed enforcement point calculations getting stuck at 0%
v1.24.18
What's new
- ✨ Uploads are now checked for leading or trailing spaces in columns with fixed values
- ✨ Errors during actual or combined traffic creation are now written to the traffic's logs.txt
- ✨ A new actual traffic now has its start and end time pre-filled from the project period
- ✨ The profiles sidebar now loads page by page, so projects with many profiles open faster
- ✨ After logging in, you are taken to the page you originally requested
Bug fixes, performance improvements, and UI improvements
- 🐛 Fixed saving actual traffic with circuit flight types
- 🐛 Flight records without a matching trajectory are now skipped instead of stopping the whole traffic
- 🐛 Fixed duplicate profiles being created when applying distribution tables
- 🐛 Event counts of actual and combined traffics are now added up correctly
- 🐛 Circuit flights now include their runway
- 🐛 Fixed reading fixed-width flight record files (such as AirLink)
- 🐛 Leading zeros in flight record values are no longer dropped on upload
- 🐛 Creating actual traffic now requires the organisation to be an airport with an airport reference point (ARP)
- 🐛 Flight record files that fail to process are now marked invalid, with the error written to the log
- 🐛 Corrected the column names, order and units in the profile and track upload help text
- 🐛 Flight records without a proxy aircraft type are now included in the generic scaling factor
- 💄 Uploading a flight record file of the wrong type now shows a clear error
- 💄 Clearer error messages for flight record uploads
v1.24.17
What's new
- ✨ Traffic and receptor set IDs in the calculations table now link to them in the project
Bug fixes, performance improvements, and UI improvements
- 🐛 The browser back button now works as expected on project pages
v1.24.16
Bug fixes, performance improvements, and UI improvements
- 🐛 Deleting noise results is now much faster
- 🐛 Traffic files containing an anp_version column are now rejected
- 🐛 Editing a project no longer removes its default meteo entry
- 🐛 Fixed duplicated or linked projects losing the link to their airport data
v1.24.15
What's new
- ✨ validate track/profile references at ticket creation time
Documentation changes
- 📝 rephrase per-segment field descriptions to use 'stage' instead of 'point'
- 📝 add NRM airplane profiles upload specification
Bug fixes, performance improvements, and UI improvements
- 🐛 Project checks now apply the LAeq scaling factor to noise levels
- 🐛 Custom aircraft data files are now validated when uploaded to a project
- 🐛 Meteo defaults can now be saved without default seasons
- 🐛 ANP version values can now be up to 50 characters long
v1.24.14
What's new
- ✨ The traffic type is now read from the file's headers before checking whether it is allowed
- ✨ Preparing a decision project now checks that aircraft data has been defined
Documentation changes
- 📝 Documented the "laeq_scaling" option in the API documentation
Bug fixes, performance improvements, and UI improvements
- 🐛 The T0 scaling factor now depends on the noise metric
- 🐛 Metrics such as Lday may now cover only part of the day; Lden must still cover the whole day
- 🐛 Fixed the add dialogs in the asset, receptor and traffic sidebars deselecting or hiding the selected item
- 🐛 The custom aircraft data upload area is now hidden when the aircraft data can't be changed
- 💄 Disabled sidebar items are now easier to recognise
v1.24.13
Bug fixes, performance improvements, and UI improvements
- 🐛 Fixed FANOMOS imports failing on a page without flight tracks
- 🐛 Matched flights now store the proxy aircraft type on their profile
- 🐛 Duplicate trajectories from FANOMOS are now updated instead of causing errors
v1.24.12
Bug fixes, performance improvements, and UI improvements
- 🐛 Fixed an error when deleting a project that has a main traffic
- 🐛 Fixed FANOMOS imports failing when a flight has no track count
- 🐛 Fixed runway assignment for some flight records
- 🐛 Unmatched flight records now keep their flight rule
- 🐛 Fixed processing stalling on flight record files that contain duplicates
v1.24.11
Documentation changes
- 📝 Units in the documentation now use SI symbols
- 📝 The API documentation now states the units of profile point fields
- 📝 Added the flight records file specification to the documentation
Bug fixes, performance improvements, and UI improvements
- 🐛 Creating large actual or combined traffics no longer times out
- 🐛 Fixed an incorrect unit conversion of profiles during trajectory matching, which affected the alignment shift
- ⚡️ FANOMOS trajectories are now only requested for supported airports
v1.24.10
What's new
- ✨ Preparing a project now checks that its airport data has been defined
- ✨ The matched flight records output now includes each flight's default profile and alignment shift
Documentation changes
- 📝 Improve documentation on traffic upload
Bug fixes, performance improvements, and UI improvements
- 🐛 Fixed flight record matching failing when an optional column is missing
- 🐛 Fixed errors caused by empty helicopter trajectories
- 🐛 Projects can now be duplicated or linked without having run any calculations
- 🐛 A missing aircraft data log file now gives a warning instead of an error
- 🐛 Track points are now always shown in the correct order
- 🐛 Profile charts now show the correct units
- 🐛 Corrected the flight rule values in the airport data documentation
- 🐛 Noise level corrections now use certification noise levels, as required by Section 4.1.4 of the Regeling burgerluchthavens
- 🐛 The aircraft data warning no longer appears when creating a new project
- 🐛 Profile units in the documentation and upload checks now follow the ANP standard
- 🐛 Flights without an available profile are now left out of the traffic instead of causing errors
- 🐛 Duplicated projects now start with status active
- 🐛 Fixed an error when opening tracks built from trajectories with many points
- 🐛 Fixed users being unable to view trajectories
- ⚡️ Faster duplication of projects with many tracks
- ⚡️ Improve performance for large traffics and/or projects with many events
- ⚡️ Faster profile matching when creating actual traffic
v1.24.9
Bug fixes, performance improvements, and UI improvements
- 🐛 Fixed scaling factors for circuit flights
v1.24.8
Bug fixes, performance improvements, and UI improvements
- 🐛 Calculations now retry automatically on temporary errors instead of failing
- 🐛 Aircraft types without default profiles now use the longest stage length (distance class 9)
- 🐛 Flights with an unknown stage length now use the highest stage length available in the default profiles
v1.24.7
Bug fixes, performance improvements, and UI improvements
- 🐛 Fixed the end of the ground segment being misidentified in some profiles
v1.24.6
Bug fixes, performance improvements, and UI improvements
- 🐛 This release contains only internal maintenance, with no user-facing changes.
v1.24.5
Bug fixes, performance improvements, and UI improvements
- 🐛 Traffic created from flight records is now correctly marked as actual traffic
v1.24.4
Bug fixes, performance improvements, and UI improvements
- 🐛 The add tracks button is now disabled until a file is selected
- 🐛 Any entry date can now be chosen when accepting a decision project
- 🐛 Fixed the calculations list showing an error after a calculation was deleted
- 🐛 Profile points are now always stored in the correct order
v1.24.3
Bug fixes, performance improvements, and UI improvements
- 🐛 Fixed trajectory points being misnumbered when a traffic contains several flights
- 🐛 Airport data containing helipads is now processed correctly
v1.24.2
Bug fixes, performance improvements, and UI improvements
- 🐛 The aircraft data warning now only appears when you actually change a project's aircraft data
- 🐛 Fixed errors when creating combined and actual traffics
- 🐛 Fixed the edit project dialog failing for projects without receptors
- 🐛 Fixed downloading a project's aircraft data
- 🐛 Airport managers can view traffics again
v1.24.1
Bug fixes, performance improvements, and UI improvements
- 🐛 Fixed some traffics not being selectable as the project's main traffic
- 🐛 Fixed users being unable to open projects of the new NRM and Doc29 project types
- 🐛 Runway designations can now be up to 5 characters long
- 🐛 Fixed drag-and-drop on required file upload fields
- 💄 The "add +" receptor menu now works the same way as the traffic menu
v1.24.0
What's new
- ✨ A new method for faster track uploads, removing the groupby parameter from POST /p-{project_id}/tracks/upload endpoint since track_name is always present as a mandatory column
- ✨ Disable the creation of new assets when project type is not editable. When this is the case, a tooltip is available to inform users when they cannot add project assets.
- ✨ Create the foundations for more project types to support more models in Echo Platform
- ✨ Add ability to configure main receptors for a project to make it easier to select the preferred receptor sets for calculations
- ✨ Add button to download unprocessed flight records in traffic widget
- ✨ Make layers configurable, allowing users to determine how noise contours are visualised
- ✨ Noise contours of traffics can be displayed with filled bands or lines, with a color for each band
- ✨ Noise contour levels to be displayed can be set by the user
- ✨ Color of noise contours can be set by the user
- ✨ Display up to 3 noise results simultaneously in the map for comparison
- ✨ A button to download flight records and trajectories metadata
- ✨ A filter on flight records and trajectories to view relevant data between a provided start and end date
- ✨ A noise sidebar where all available noise results in a project can be filtered by metric and traffic id
- ✨ A noise widget with noise info and download buttons
- ✨ Receptor points can now have their own names for easy identification
Documentation changes
- 📝 Update 'create traffic' documentation to reflect changes on the UI
- 📝 Update aircraft data documentation
- 📝 Update airport data documentation
Bug fixes, performance improvements, and UI improvements
- 🐛 Fix issue with deleting aircraft data profiles when changing aircraft data of a project
- 🐛 Allow meteorological default values to set float numbers
- 🐛 Prevent event counts from being updated after a calculation is performed
- 🐛 Add missing datatype for validation of flight_track_trim
- 🐛 Fix issue when importing receptor sets
- 🐛 Fix issue when creating runways
- 🐛 Fix issue with map tooltip not disappearing when mouse out
- 🐛 Make event count an integer sum
- 🐛 Fix method to fetch grids
- 🐛 Replace NaN values with a string before converting to json in noise results
- ⚡️ Make track upload faster
- 💄 Improve accessibility in navigation components
- 💄 Add a traffic dropdown to choose which traffic type to create
- 💄 Add checkbox selectors to display receptors from the sidebar
- 💄 Show receptor point names on the map when widget checkbox is checked
- 💄 Add ability to set the opacity of contour fills when showing a single noise map layer
- 💄 Change menu name to assets on projects view
- 💄 Add toggle to the geodata sidebar to visualise items
- 💄 Separating outputs from inputs in the main navigation menu
v1.23.1
Documentation changes
- 📝 Replace Echo Release Notes with Changelog
Bug fixes, performance improvements, and UI improvements
- 🐛 Fix bug that prevented background processes from reading zipped traffic files
- 🐛 Create constraint that forces at least one runway to be present in flight records
- 🐛 Make tickets fail if calculation traffic for a period is empty
v1.23.0
Bug fixes, performance improvements, and UI improvements
- 🐛 Fix issue duplicating project when there is no main traffic selected
- ⚡️ Improve API performance
v1.22.3
What's new
- ✨ Create ability to edit users in system users table
Bug fixes, performance improvements, and UI improvements
- 🐛 Change to cookie to enable cross subdomain tracking
- 🐛 Configure mixpanel cookie domain with environment variable
- 🐛 Fix bug that prevented worker from reading zipped traffic files from the right location
v1.22.2
Bug fixes, performance improvements, and UI improvements
- 🐛 Fix issue while duplicating a project when there is no main traffic selected
- 🐛 Solve issue selecting all the runways on expanding an airport
- 🐛 Create constraint that forces at least one runway to be present in flight records
- 🐛 Fix test that was missing arrival_runway
- 🐛 Make ticket fail if calculation traffic for a period is empty
v1.22.1
What's new
- ✨ Make some tables optional for Echo cloud
Bug fixes, performance improvements, and UI improvements
- 🐛 Make some tables optional for Echo cloud
- ⚡️ Check authentication type once instead of twice
v1.22.0
v1.21.0
v1.20.1
What's new
- ✨ Add 'target' as an optional column for receptor list file uploads