What's new#
Below is summarized list of important changes. This does not include minor/less important changes or bug fixes or documentation update. This list updated every few months. For complete detailed changes, please review commit history.
Jan 2022#
Dec 2021#
Nov 2021#
- Optical flow camera
 - simSetKinematics API
 - Dynamically set object textures from existing UE material or texture PNG
 - Ability to spawn/destroy lights and control light parameters
 
Sep 2021#
Aug 2021#
- Control manual camera speed through the keyboard
 - Latest release 
v1.6.0for Windows and Linux - Fix: DepthPlanar capture
 - Fix: compression bug in segmentation palette
 
Jul 2021#
Jun 2021#
- Object detection API
 - GazeboDrone project added to connect a gazebo drone to the AirSim drone
 - Control manual camera speed through the keyboard
 - Octo X config
 - API for list of vehicle names
 - Fix: issue where no new scene is rendered after simContinueForTime
 - Fix:Check for settings.json in current directory as well
 
May 2021#
- Make falling leaves visible in depth and segmentation
 - Fix: Unity Car API
 - Latest release 
v1.5.0for Windows and Linux - fix px4 connection for wsl 2.
 
Apr 2021#
- External physics engine
 - ArduPilot Sensor Updates
 - Add new build configuration "--RelWithDebInfo" which makes it easier to debug
 - Add ApiServerPort to available AirSim settings
 - ROS: Use the same settings as AirSim
 
Mar 2021#
- Add moveByVelocityZBodyFrame
 - Spawn vehicles via RPC
 - Unity weather parameters, weather HUD, and a visual effect for snow
 - Rotor output API
 - Extend Recording to multiple vehicles
 - Combine Lidar Segmentation API into getLidarData
 
Feb 2021#
Jan 2021#
- Added continueForFrames
 - Latest release 
v1.4.0for Windows and Linux 
Dec 2020#
- Add Actions script to build and deploy to gh-pages
 - Gym environments and stable-baselines integration for RL
 - Programmable camera distortion
 - Voxel grid construction
 - Event camera simulation
 - Add Github Actions CI Checks
 - Added moveByVelocityBodyFrame
 
Nov 2020#
Oct 2020#
Sep 2020#
- Add Vehicle option for Subwindow settings
 - Disable cameras after fetching images, projection matrix
 - Add Wind simulation
 - New 
simRunConsoleCommandAPI - UE4: Fixes and improvements to World APIs
 - UE4: Fix random crash with Plotting APIs
 - Add backwards-compatibility layer for 
simSetCameraPose - Disable LogMessages if set to false
 - ROS: Removed double inclusion of 
static_transforms.launch - Add retry loop when connecting PX4 SITL control channel
 - Allow for enabling physics when spawning a new object
 
July 2020#
- Add Python APIs for new Object functions
 - UE4: Fix Broken List Level Option
 - Linux build improvements
 - Allow passing the settings.json file location via 
--settingsargument - Distance Sensor Upgrades and fixes
 - Update to min CMake version required for VS 2019
 - Fix: Non-linear bias corrupts SurfaceNormals, Segmentation image
 - Fix: 
simGetSegmentationObjectIDwill always return -1 - Initial implementation of simLoadLevel, simGet/SetObjectScale, simSpawn|DestroyObject APIs
 - Upgrade 
setCameraOrientationAPI tosetCameraPose - ROS: All sensors and car support
 - Get rid of potential div-0 errors so we can set dt = 0 for pausing
 - ROS: Add mavros_msgs to build dependencies
 - Move Wiki pages to docs
 - Add Recording APIs
 - Update Dockerfiles and documentation to Ubuntu 18.04
 - Azure development environment and documentation
 - ROS: Add airsim_node to install list
 
May 2020#
- Fix more issues with PX4 master
 - Reduce warnings level in Unity build
 - Support for Unreal Engine 4.25
 - Unity crash fix, upgrade to 2019.3.12, Linux build improvements
 
April 2020#
- Fix issues with PX4 latest master branch
 - Fix Lidar DrawDebugPoints causing crash
 - Add docstrings for Python API
 - Add missing noise, weather texture materials
 - Update AirSim.uplugin version to 1.3.1
 - Camera Roll angle control using Q,E keys in CV mode, manual camera
 - Remove broken GCC build
 - New API - 
simSetTraceLine() - ROS package compilation fixes and updates
 - Latest release 
v1.3.1for Windows and Linux - APIs added and fixed - 
simSetCameraFov,rotateToYaw - airsim Python package update to 
1.2.8 - NoDisplay ViewMode render state fix
 
March 2020#
- Latest release 
v1.3.0for Windows and Linux - Upgraded to Unreal Engine 4.24, Visual Studio 2019, Clang 8, C++ 17 standard
 - Mac OSX Catalina support
 - Updated airsim Python package, with lots of new APIs
 - Removed legacy API wrappers
 - Support for latest PX4 stable release
 - Support for ArduPilot - Copter, Rover vehicles
 - Updated Unity support
 - Removed simChar* APIs
 - Plotting APIs for Debugging
 - Low-level Multirotor APIs
 - Updated Eigen version to 3.3.7
 - Distance Sensor API fix
 - Add 
simSwapTexturesAPI - Fix 
simContinueForTime,simPauseAPIs - Lidar Sensor Trace Casting fix
 - Fix rare 
reset()bug which causes Unreal crash - Lidar sensor improvements, add 
simGetLidarSegmentationAPI - Add RpcLibPort in settings
 - Recording thread deadlock fix
 - Prevent environment crash when Sun is not present
 - Africa Tracking feautre, add 
simListSceneObjects()API, fix camera projection matrix - ROS wrapper for multirotors is available. See airsim_ros_pkgs for the ROS API, and airsim_tutorial_pkgs for tutorials.
 - Added sensor APIs for Barometer, IMU, GPS, Magnetometer, Distance Sensor
 - Added support for docker in ubuntu
 
November, 2018#
- Added Weather Effects and APIs
 - Added Time of Day API
 - An experimental integration of AirSim on Unity is now available. Learn more in Unity blog post.
 - New environments: Forest, Plains (windmill farm), TalkingHeads (human head simulation), TrapCam (animal detection via camera)
 - Highly efficient NoDisplay view mode to turn off main screen rendering so you can capture images at high rate
 - Enable/disable sensors via settings
 - Lidar Sensor
 - Support for Flysky FS-SM100 RC USB adapter
 - Case Study: Formula Student Technion Driverless
 - Multi-Vehicle Capability
 - Custom speed units
 - ROS publisher
 - simSetObjectPose API
 - Character Control APIs (works on TalkingHeads binaries in release)
 - Arducopter Solo Support
 - Linux install without sudo access
 - Kinect like ROS publisher
 
June, 2018#
- Development workflow doc
 - Better Python 2 compatibility
 - OSX setup fixes
 - Almost complete rewrite of our APIs with new threading model, merging old APIs and creating few newer ones
 
April, 2018#
- Upgraded to Unreal Engine 4.18 and Visual Studio 2017
 - API framework refactoring to support world-level APIs
 - Latest PX4 firmware now supported
 - CarState with more information
 - ThrustMaster wheel support
 - pause and continueForTime APIs for drone as well as car
 - Allow drone simulation run at higher clock rate without any degradation
 - Forward-only mode fully functional for drone (do orbits while looking at center)
 - Better PID tuning to reduce wobble for drones
 - Ability to set arbitrary vehicle blueprint for drone as well as car
 - gimbal stabilization via settings
 - Ability to segment skinned and skeletal meshes by their name
 - moveByAngleThrottle API
 - Car physics tuning for better maneuverability
 - Configure additional cameras via settings
 - Time of day with geographically computed sun position
 - Better car steering via keyboard
 - Added MeshNamingMethod in segmentation setting
 - gimbal API
 - getCameraParameters API
 - Ability turn off main rendering to save GPU resources
 - Projection mode for capture settings
 - getRCData, setRCData APIs
 - Ability to turn off segmentation using negative IDs
 - OSX build improvements
 - Segmentation working for very large environments with initial IDs
 - Better and extensible hash calculation for segmentation IDs
 - Extensible PID controller for custom integration methods
 - Sensor architecture now enables renderer specific features like ray casting
 - Laser altimeter sensor
 
Jan 2018#
- Config system rewrite, enable flexible config we are targeting in future
 - Multi-Vehicle support Phase 1, core infrastructure changes
 - MacOS support
 - Infrared view
 - 5 types of noise and interference for cameras
 - WYSIWIG capture settings for cameras, preview recording settings in main view
 - Azure support Phase 1, enable configurability of instances for headless mode
 - Full kinematics APIs, ability to get pose, linear and angular velocities + accelerations via APIs
 - Record multiple images from multiple cameras
 - New segmentation APIs, ability to set configure object IDs, search via regex
 - New object pose APIs, ability to get pose of objects (like animals) in environment
 - Camera infrastructure enhancements, ability to add new image types like IR with just few lines
 - Clock speed APIs for drone as well as car, simulation can be run with speed factor of 0 < x < infinity
 - Support for Logitech G920 wheel
 - Physics tuning of the car, Car doesn’t roll over, responds to steering with better curve, releasing gas paddle behavior more realistic
 - Debugging APIs
 - Stress tested to 24+ hours of continuous runs
 - Support for Landscape and sky segmentation
 - Manual navigation with accelerated controls in CV mode, user can explore environment much more easily
 - Collison APIs
 - Recording enhancements, log several new data points including ground truth, multiple images, controls state
 - Planner and Perspective Depth views
 - Disparity view
 - New Image APIs supports float, png or numpy formats
 - 6 config settings for image capture, ability to set auto-exposure, motion blur, gamma etc
 - Full multi-camera support through out including sub-windows, recording, APIs etc
 - Command line script to build all environments in one shot
 - Remove submodules, use rpclib as download
 
Nov 2017#
- We now have the car model.
 - No need to build the code. Just download binaries and you are good to go!
 - The reinforcement learning example with AirSim
 - New built-in flight controller called simple_flight that "just works" without any additional setup. It is also now default.
 - AirSim now also generates depth as well as disparity images that are in camera plane.
 - We also have official Linux build now!
 
Sep 2017#
- We have added car model!
 
Aug 2017#
- simple_flight is now default flight controller for drones. If you want to use PX4, you will need to modify settings.json as per PX4 setup doc.
 - Linux build is official and currently uses Unreal 4.17 due to various bug fixes required
 - ImageType enum has breaking changes with several new additions and clarifying existing ones
 - SubWindows are now configurable from settings.json
 - PythonClient is now complete and has parity with C++ APIs. Some of these would have breaking changes.
 
Feb 2017#
- First release!