Skip to content

Latest commit

 

History

History
372 lines (310 loc) · 29.8 KB

CHANGELOG.md

File metadata and controls

372 lines (310 loc) · 29.8 KB

5.4.0 (September 1, 2017)


New Features

  • New Airport: KABQ (Albuquerque International Sunport, NM) #327
  • Add Hartsfield–Jackson Atlanta Intl. (KATL) #541

Bugfixes

Enhancements & Refactors

  • Removed index.html as it is generated from templates when run #619
  • Implements new loading screen with new color scheme and animated radar sweep #619
  • Extends departing spawnPatterns outside the airspace at EIDW to prevent point deduction #566
  • Extends departing spawnPatterns outside the airspace at MDSD to prevent point deduction #615

5.3.0 (August 1, 2017)


Features

  • New airport: MDSD (Las Américas International Airport, Dominican Republic) #288
    • Includes Terrain and Video map
    • Adds Copa Airlines (CMP) and PAWA Dominicana (PWD)
  • Add new openScope emblem vector graphic #572
  • Adds additional meta tags to index.html head #484
  • Adds a link to the full command reference at the end of the tutorial #581
  • The distance separator behind aircraft on ILS is now toggleable #536
  • Removes the blue line "departure window" #411

Bugfixes

  • Removes inactive danger areas at EIDW #562
  • Make aircraft proceed direct new fix after full reroute #570
  • Recalculate SID/STAR legs when changing assigned runway #383
  • Remove +/-/= zoom hotkey, conflicts with speed #510
  • Correct EGKK's departure fix #577

Refactors

  • Fix spelling error of CanvasController as ConvasController #586
  • Remove deprecated fixRadialDist() #290
  • Renamed MIDDLE_PESS as MIDDLE_PRESS in InputController #593
  • Fix instances of misspelling of @param in code docblocks #602
  • Deprecates gulp server task and adds nodemon package #599

5.2.1 (July 1, 2017)


Hotfix

  • Ensure previously specified directions of turn are not preserved when a new heading instruction is given #549

5.2.0 (July 1, 2017)


Features

  • Add capability for vectors in route strings #310
  • Adds more context to the Model classes by adding an optional input paramater #138
  • Adds object helper class for object validation #191
  • Renamed AircraftInstanceModel with AircraftModel #402
  • Add capability for fly-over fixes in route strings #19
  • Adds squawk/sq command #372
  • Adds the ability to call an airplane by its callsign #40
  • Adds EventBus and EventModel #457
  • Adds RunwayCollection and RunwayRelationshipModel and moves some runway logic to live in these new classes #93
    • Abstracts headwind/crosswind calculations to RunwayModel #312
    • Removes circular reference in AirportModel.runway.airportModel #58
  • Updates SpawnPatternModel to use the AirportModel.arrivalRunway property when gathering waypoint models needed to calculate initial aircraft heading #469
  • Adds support for suffixes in SID and STAR procedures #33
  • Adds game option to include/hide WIP airports in the airport list #476
  • Adds StripViewController, StripViewCollection, and StripViewModel classes #285
    • Removes progress strip logic from the AircraftModel
    • Completely reworks CSS for StripViewList
  • Adds .isGroundedFlightPhase() and implements this helper in .buildWaypointModelsForProcedure() #491
    • This allows for waypointModels to be build from the correct collection based on flightPhase
  • Updates AircraftModel.onAirspaceExit() to look only at the mcp.headingMode value #477
  • Adds user setting option to change length of PTL #423
  • Updates Dublin (EIDW) - Improved procedures, added terrain and video map, modified airspace, realistic traffic #208
  • Updates logic to display historical aircraft position for aircraft outside controlled airspace #508
  • Updates development-workflow-procedures, adds Quick Start guide to README and consolidates all documentation in the documentation directory #418
  • Adds tests and verifies functionality of non-procedural departures and arrivals (support for direct route strings) #434
  • Adds unique transponder and CID generation methods #483
  • Abstracts non game loop logic into new class AppController, which provides facade methods for App to call during game loop #137
  • Converts AirportController, GameController and UiController to static classes #72
    • updates window references to these classes
    • updates prop references to these classes
  • Add support for ranged altitude and speed restrictions in procedures #32
  • Improve VNAV climbs and descents to better comply with restrictions #32
  • Updates Boston Logan Intl. (KBOS) - Updated procedures, added video map and terrain, modified airspace, realistic traffic #228
  • Removes left over references to AircraftStripView in AircraftModel #535

Bugfixes

  • Fixes coordinate letter issue at SBGL #385
  • Prevent NaNs being passed on if invalid altitude is given #424
  • Removes fix command from tutorial and replaces it with infomation on 'route', 'Say Route', and 'Proceed Direct' #356
  • Fixes coordinate letter issues at RJBB, OSDI, OTHH #325
  • Removes KBOS fixes from EKCH #448
  • Runway, wind and spawnPattern changes to allow EGNM to operate #492
  • Prevent attempts to access positions of vector waypoints #467
  • Adjusts fix validation for hold/vector/flyover fix names #451
  • Prevents simulator from wrongfully overriding assigned alt/hdg during approach clearances #521
  • Updates AirportModel.buildRestrictedAreas() to build the coordinate array with the correct shape #522
  • Adds local reference to EventBus inside AircraftCommander #539
  • Cancel approach clearances whenever an altitude or heading instruction is given #344
  • Make flight strips show appropriate altitude values #546

5.1.1 (May 12, 2017)


Hotfix

  • Fixes or removes from load list all airports that fail to load #458

5.1.0 (May 1, 2017)


Features

Bugfixes

  • Adds additional check for undefined in CommandParser when adding args to a CommandModel #364
  • Deprecates and removes AircraftController._setDestinationFromRouteOrProcedure() as it was implemented to maintain a previous api which is no longer used #370
  • Ensure the verbal and text instructions/readbacks state the correct directionality #188
  • Updates Pilot.applyDepartureProcedure() to use RunwayModel correctly #396
  • Updates fms.getDestinationName() to return the fixName when currentLeg is not a procedure #399
  • Fix wrong PTL length and set to 1 minute #394
  • Fixes broken link in airport-format #404
  • Fix datablock speed to show GS, not IAS #395
  • Ensure red response is given to rr FIXXA..FIXXB #408
  • Fix strip update crash for arrivals on vectors #410

5.0.1 (April 24, 2017)


Hotfix

  • Updates AircraftStripView to display departure procedures with the correct NAME.EXIT shape #359

5.0.0 (April 21, 2017)


Major

  • Refactors FMS #139
    • This represents a ground-up, from scratch, re-build of the flight management system with new classes: Fms, LegModel, and WaypointModel
    • Introduces the ModeController that completely separates Altitude, Heading and Speed settings from the FMS and allowing the FMS to be in charge of the flight plan and any fixRestrictions defined for a given route
    • Adds Pilot class that acts as a coordinator layer between the AircraftCommander, AircraftInstanceModel, ModeController, and Fms
    • Completely reworks how Aircraft.target is calculated
    • Introduces the concept of flightPhase, and begins integrating that property in lieu of category (arrival/departure)
    • Adds ability to define hold waypoints with a symbol @
    • Splits PositionModel into two new classes; StaticPositionModel and DynamicPositionModel
    • Work on this issue also resolves or invalidates previously recorded issues:
      • aircraftInstanceModel.fms has a circular dependency with aircraftInstanceModel.fms.my_aircraft.fms #57
      • Using STAR command to change aircraft's assigned STAR throws errors #73
      • Abstract current waypoint altitude and speed setting #77
      • Add Leg to modelSourcePool #78
      • Refactor fms param out of Leg #79
      • Extend RouteModel, or add new layer, to handle compound routes #81
      • Rerouting aircraft causes it to climb to unassigned altitude #86
      • deprecate aircraft.eid #87
      • Implied holding in route strings #114
      • Rerouting uncleared aircraft onto SID fails #122
      • Using "fix" command yields legs with lower case route #123
      • Create getter in AircraftInstanceModel to get the current runway #129
      • create RouteBuilder class and smooth out RouteModel #144
      • fix command with multiple arguments skips to last fix #153
      • Add .hasFix() method to FixCollection #158
      • Route amendments will stop altitude changes #197
      • StaticPositionModel and enforcing use of Positions where appropriate #287

Features

  • Enumerate magic number in RunwayModel #269
  • Replaced old terrain.svg file with own work #281

Bugfixes

  • Standardized indentation in all json files #256
    • followed up and corrected 2 mistakenly cleared out aircraft files #259
  • Fixes Firefox compatibility issue by changing ajax to getJSON #263
  • Fixes bug with departures at SAME #303
  • Fixes coordinates for PAM at EHAM #321
  • Ensure aircraft reach their targeted speed #340
  • Fixes last-second go-arounds by landing aircraft #342
  • Ensure aircraft follow glideslope #346
  • Fix mispronunciation of grouped numbers '820' as 'eight-twenty-zero' #338

4.1.2 (February 20, 2017)


Hotfix

  • Updates static.json to not use ssl #252

4.1.1 (February 20, 2017)


Hotfix

  • Restores spawning of GA aircraft at EDDT #249

4.1.0 (February 20, 2017)


Major

  • Removes GitHub Pages specific files and moves hosting out of GitHub Pages. #154
  • Updates build process to: #230
    • minify css and javascript and output to public directory
    • minify airport json/geojson files and output to public directory
    • combine aircraft and airline json files into aircraft.json and airline.json and output them to the public directory
    • copy static assets (fonts and images) to public directory
    • introduce Handlebars templates and create buildMarkup build process
    • point the local server to the public directory`

Features

  • Makes sure the output for sid and star commands are always uppercase. #109
  • Marks all airports as works in progress #179
  • Changes deployment server from Express to Nginx #166
  • Adds javascript minification to build process #163
    • adds copy task to public directory
    • translates json_assembler.rb to jsonAssembler.js and adds it to the build process.
  • Corrects icao of the Boeing 767-400 and also updates the information to Eurocontrol data #222
  • Updates app.json to use correct buildpacks #224
  • Overhauls Munich - updates Munich to AIRAC 1702, adds STARs, and adds a realistic traffic flow. #104
  • Adds Tokyo Narita International Airport as per AIRAC 1702 #103
  • Fixes an instance of two runways called "34R" in Shanghai Pudong #149

Bugfixes

  • Adds the required space between 'fh' and its argument in the tutorial #201
  • Updates airline json files to include icao key. Updates AirlineCollection and AirlineModel to handle variable casing of icao #195
  • Adds a default position value to SpawnPatternModel so aircraft have, at least, a [0, 0] starting position #207
  • Ensures data block colored bars are all the same width (3px), regardless of callsign length #210
  • Adds missing return in .generateFlightNumberWithAirlineModel() that was needed to properly recurse back through the method in the case of a duplicate flight number. #210
  • Updates boolean logic in App.updateViewControls() which was evaluating an asynchronous property that, typically, had not finished loading. #203
  • Fixes internal fms error that was breaking the game when issuing holds over present position #148

4.0.1 (January 29, 2017)


Features

  • Adds Openscope favicon #170

Bugfixes

  • Removes ALM and SVD arrival patterns from 'EKCH' because there aren't enough fixes to support them 176
  • Updates entryPoint and exitPoint to be pluralized as is the airport json standard #177
  • Adds entryPoints to gcrr star route definitions #175
  • Fixes arrival pattern that was using an array of fix names instead of a routeString. #174
  • Updates wmkk StandardRoute definition to include at least one fixname #173

4.0.0 (January 26, 2017)


Major

  • Restructures src files into client and server folders. #220
  • Updates Node to version 7.0.0 #184
  • Moves aircraft command logic from AircraftInstanceModel to new AircraftCommander class #181
  • Adds spawnPatterns to airport json and vastly simplifies aircraft creation. Work on this issue ended up resolving many other smaller issues listed below. #243
    • Restructure Airport.departures to utilize routes #229
    • Abstract inline fix object out of ArrivalBase #56
    • Simplify creation of arrival aircraft #27
    • Include airline id in airline json #242
    • Create SpawnCollection, SpawnModel and SpawnScheduler classes #235
    • Circular reference in airportModel.departures.airport #28
    • Circular reference in airportModel.departures.airport #28

Minor

  • Changes AircraftStripView text outputs to be all uppercase #193
  • Ensures proper removal of all AircraftConflict instances involving an aircraft that has been removed from the simulation #133
  • Changes the names from having the flags in their name by adding WIP variable to the AIRPORT_LOAD_LIST in airportLoadList #205
  • Fixes white space in that is displayed from the AircraftInstanceModel #192
  • Adds cache to travis build #233

Bugfixes

  • Resets current indicies when issuing a new star to an arriving aircraft #104 & #237

3.2.1 (January 2, 2017)


Bugfixes

  • Restores behavior of aircraft flying present heading after completing all legs in their flightplan #206
  • Fix wrongful removal of departures from runway queues when arrivals land #241
  • Fix erroneous voice readbacks for altitude command #240
  • Fixes behavior of AircraftConflict in various ways, particularly with removal after deletion of aircraft #133

3.2.0 (December 20, 2016)


Major

  • Integrates sidCollection and starCollection with RouteModel within AircraftInstanceModel #53
    • Creates getters for currentLeg and currentWaypoint
    • Abstracts restrictions logic to live within Waypoint
    • Consolidates runSID() and climbViaSid() logic
  • Deprecates sid and star properties of the AirportModel in favor of sidCollection and starCollection #54
  • Adds Express server to serve static assets and add travis config file for travis continuous integration #169
  • Rewrites the CommandParser from the ground up #114
  • Removes Pegjs and references completing switch to new CommandParser #216

Minor

  • Implements modelSourceFactory and modelSourcePool #77
  • Refactors canvasController.canvas_draw_sids method to use airport.sidCollection instead of airport.sid #144
  • Moves properties shared by all Arrival types up to ArrivalBase #55
  • Removes $.each() from AirportModel in favor of _forEach() and uses _get() inside aircraftInstanceModel.parse() instead of if statements #52
  • Moves creation of Legs and Waypoints to constants instead of as method arguments #135
  • Moves .parseCoordinate() out of PositionModel and into unitConverters #17
  • Moves flight management system files to FlightManagementSystem folder #128
  • Adds RouteModel to AircraftInstanceModel.runSTAR for easier handling of a route string #163
  • Adds static calculatePosition method to PositionModel and abstracts common functions #159
  • Replaces active airport icao in view with a zulu time clock #135
  • Consolidates test fixtures in fixtures directory #167
  • Addresses issue with video maps being drawn incorrectly. #176
    • Updates PositionModel to run all calculations through the static .calculatePosition() method and vastly simplifies internal logic.
  • Refactors the the function names in FixCollection to better fit their function. init() to addItems() and destroy() to removeItems() [#186] (n8rzz/atc#186)
  • Adds gulp-cli and adds tools readme link to gulp issues with Windows #194
  • Changes routeString to routeCode in RouteModel and moves .toUpperCase() from the getter to .init() [#188] (n8rzz/atc#188)
  • Updates StandardRouteModel to throw when entry/exit point doesn't exist within a collection and updates .setDepartureRunway() to send the routeCode to Leg on instantiation #175
  • Prevents collision detection for aircraft that are outside of our airspace #134
    • Originally reported under #736
  • Escape clears commands but not callsign if commands are present [#211] (n8rzz/atc#211)
    • Originally reported under #763

Bugfixes

  • Moves _comment blocks in airport json file to be within object the are describing #145
  • Streamlines flight number generation and adds new method to add new callsigns to the existing list #151
  • Adds _isNumber check instead of !magneticNorth inside PositionModel.calculateRelativePosition() and the AirspaceModel constructor. #182
    • Originally reported under #754
  • Adds additional handling to StandardRouteModel._buildEntryAndExitCollections to handle case where entryPoints and exitPoints don't exist in the airport.sids definition #196
    • Originally reported under #760
  • Ensures proper removal of aircraft from the runway queue(s) when that aircraft has been deleted. #132
    • Originally reported under #706

3.1.0 (November 20, 2016)


Major

  • Adds FixModel and static class FixCollection for reasoning about airport fixes #18
  • Adds StandardRoute classes reasoning about SIDs and STARs #19
  • Moves airlineController and aircraftController to instantiate from within airportController instead from App #82
  • Enable airport load without bundling and moves airportLoadList.js out of the src folder #88
  • Updates score calculations and how they are recorded #96

Minor

  • Correct casing for Arrival and Departure factories #41
  • Rename AreaModel to AirspaceModel #36
  • Changes StandardRoute property name icao to identifier #57
  • Introduce early exit for airport load when airport data is not complete #44
  • Adds git-flow strategy document #60
  • Adds BaseModel #100
  • Adds BaseCollection #101

Bugfixes

  • WMKK has misnamed star name #45
  • Updates spelling in .convertMinutesToSeconds[) #58
  • Future aircraft path, when on ILS, wrong width #75
  • areas is undefined in AirportModel #90
  • FixCollection.init() does not clear current _items if any exist #91
  • Aircraft strips show arrival airport in uppercase #108
  • Updates FixCollection.findFixByName() to accept upper, mixed, or lower case fix name #109
  • Switching to a previously loaded airport does not clear previous airport fixes #115
  • Fixes parseElevation() so that it does not return NaN when it is given the string 'Infinity' [#191] (n8rzz/atc#191)
    • Originally reported under #756