diff --git a/DS4Windows/Changelog.json b/DS4Windows/Changelog.json index 10b21f21e6..5c08cacf0b 100644 --- a/DS4Windows/Changelog.json +++ b/DS4Windows/Changelog.json @@ -1,9 +1,33 @@ { - "latest_version": "2.2.9", - "latest_version_number_info": {"majorPart": 2, "minorPart": 2, "buildPart": 9}, - "updated_at": "2021-03-05T02:36:16+0000", + "latest_version": "2.2.10", + "latest_version_number_info": {"majorPart": 2, "minorPart": 2, "buildPart": 10}, + "updated_at": "2021-03-09T20:14:08+0000", "changelog": { "versions": [ + { + "version_str": "2.2.10", + "version_number_info": {"majorPart": 2, "minorPart": 2, "buildPart": 10}, + "base_header": "Version 2.2.10", + "release_date": "2021-03-09T20:14:08+0000", + "locales": [ + { + "code": "en", + "header": "Version 2.2.10", + "log_text": ["* Change Disconnect command syntax to allow all wireless controllers to get disconnected", + "* Increased GUI enforced max Trackball Friction value to 20.0", + "* Slightly edited colors used in Dark theme", + "* Disabled virtual DS4 feedback routine again", + "* Allow Joined JoyCon support. Joined link mode is now the default", + "* Changed L1 binding for KB+M and Gyro preset profile. Make Unbound", + "* Fixed macroRecorder bug where MUTE control threw an exception because it is not in macroDS4Values array. Contribution by **mika-n**", + "* Fixed wrong on-screen button indexes while remapping using 'readout' feature. Contribution by **mika-n**", + "* Added artificial VID/PID for DualShock 3 running under DsHidMini drivers. Contribution by **nefarius**"], + "editor": "ryochan7", + "editors_note": ["None"], + "updated_at": "2021-03-09T20:14:08+0000" + } + ] + }, { "version_str": "2.2.9", "version_number_info": {"majorPart": 2, "minorPart": 2, "buildPart": 9}, diff --git a/DS4Windows/Changelog.min.json b/DS4Windows/Changelog.min.json index cf3e78714c..4430026429 100644 --- a/DS4Windows/Changelog.min.json +++ b/DS4Windows/Changelog.min.json @@ -1 +1 @@ -{"latest_version":"2.2.9","latest_version_number_info":{"majorPart":2,"minorPart":2,"buildPart":9},"updated_at":"2021-03-05T02:36:16+0000","changelog":{"versions":[{"version_str":"2.2.9","version_number_info":{"majorPart":2,"minorPart":2,"buildPart":9},"base_header":"Version 2.2.9","release_date":"2021-03-05T02:36:16+0000","locales":[{"code":"en","header":"Version 2.2.9","log_text":["* Profile settings fuzz option hang fix. Contribution by **RokasKil**","* Anti-snapback stick settings added. Contribution by **RokasKil**","* .NET 5 progress complete. Will keep net5 branch updated regularly until used in public build. Contribution by **sitiom**","* Fixed index out of bounds error when loading profiles in virtual output device check","* Fixed current item selection for right click Disconnect BT","* Removed references to Frog site. No longer posting updates there","* Changed initial trackball velocity calculations to attempt to make numbers more uniform across devices","* Added Disconnect command line option","* Disable macro mode combobox when opening Macro used in a Multi-Action Button special action","* Take out nag disclaimer window regarding Hide DS4 Controller option"],"editor":"ryochan7","editors_note":["Burnout"],"updated_at":"2021-03-05T02:36:16+0000"}]},{"version_str":"2.2.8","version_number_info":{"majorPart":2,"minorPart":2,"buildPart":8},"base_header":"Version 2.2.8","release_date":"2021-02-26T18:33:49+0000","locales":[{"code":"en","header":"Version 2.2.8","log_text":["* Fixed resetting of trigger values for Two Stage modes","* Removed references to old Discord server","* Pull gyro calibration sampling routine out to its own method","* Fixed normal button binding to Touchpad Click output","* Attempt to go to DS4Updater Release page if automatic download of updater failed","* Added GitHub link to Social row in About window","* Fixed x86 ViGEm installer URL"],"editor":"ryochan7","editors_note":["Take a break"],"updated_at":"2021-02-26T18:33:49+0000"}]},{"version_str":"2.2.7","version_number_info":{"majorPart":2,"minorPart":2,"buildPart":7},"base_header":"Version 2.2.7","release_date":"2021-02-18T21:49:24+0000","locales":[{"code":"en","header":"Version 2.2.7","log_text":["* Added delay time to Gyro Directional Swipe action","* Fixed populate of Gyro Directional Swipe and Gyro Controls triggers buttons","* Lowered touchpad slide distance for Controls mode","* Fixed Steering Wheel calibration Special Action saving","* Allow resetting of extras for Trigger soft pull and full pull","* Allow resetting Extras bound to Gyro Swipe actions","* Now officially only support Windows 10 and later. THANKS MICROSOFT","* Added BatteryPercentage mode for DualSense Player LED Bar","* Fixed Switch Pro and JoyCon AccelY coordinate used by UDP Server","* Fixed profile cancelling for the test index","* Tweaked disable device time for Exclusive mode routine","* Removed DynamicResource lookups for Special Action Editor","* .NET 5 port in progress","* Added App instance check to work around Design mode in .NET 5.0.","* Changed Browse Programs fallback value in Profile Editor for .NET 5.0","* Changed method to strip null terminated strings","* Added Gyro Calibration button to Gyro Mouse StackPanel","* Updated ViGEmClient library to use notification queue","* Fixed critical notification callback bug in ViGEm.NET library","* Fixed infinite rumble problem stemming from ViGEm library issues"],"editor":"ryochan7","editors_note":["ViGEm updates are the most relevant"],"updated_at":"2021-02-19T17:57:22+0000"}]},{"version_str":"2.2.6","version_number_info":{"majorPart":2,"minorPart":2,"buildPart":6},"base_header":"Version 2.2.6","release_date":"2021-02-11T03:50:45+0000","locales":[{"code":"en","header":"Version 2.2.6","log_text":["* Fixed Gyro Mouse Joystick trigger selection","* Corrected Gyro Mouse and Gyro Mouse Joystick toggle flags","* Put Gyro Calibration button in other Gyro mode panels","* Added Mute LED mode for DualSense device options","* Fixed default virtual Touchpad button bindings","* Corrected Special Action regression"],"editor":"ryochan7","editors_note":["None"],"updated_at":"2021-02-11T03:50:45+0000"}]},{"version_str":"2.2.5","version_number_info":{"majorPart":2,"minorPart":2,"buildPart":5},"base_header":"Version 2.2.5","release_date":"2021-02-10T03:07:55+0000","locales":[{"code":"en","header":"Version 2.2.5","log_text":["* Fixed sync between button mouse sens and active mouse sens in Profile Editor","* Changed DualSense blanking flags used for initial connection and detach","* Now use defined ControlActionData for mapped actions rather than unboxing object references. Speeds up the mapping routine a good amount.","* Hebrew translation added to project file. Translation was never added in","* Allow Gyro triggers for Gyro Controls mode","* Reset Gyro Controls output accel values to 0 for each poll","* Driver installer window now takes arch into account when downloading the latest ViGEm installer. It uses a different setup file for each arch","* Disable Xbox 360 installer button in Welcome Dialog if running on Win8 or greater","* Added toggle mode to Gyro Controls","* Added ScrollViewer for Gyro tab","* Increased Full Click trigger effect resistance a bit","* Use fake HW serial to index SonyWA connections. Should allow multiple Sony dongles to work","* Allow audio volume searching for Nacon Rev Pro v.2 controller.","* Added DS4 setting to attempt to change output report features for copycat controllers"],"editor":"ryochan7","editors_note":["None"],"updated_at":"2021-02-10T03:07:55+0000"}]},{"version_str":"2.2.4","version_number_info":{"majorPart":2,"minorPart":2,"buildPart":4},"base_header":"Version 2.2.4","release_date":"2021-02-02T22:25:55+0000","locales":[{"code":"en","header":"Version 2.2.4","log_text":["* Fixed SelectedValue display in Dark theme for some dynamic ComboBox controls","* Added Gyro Directional Swipe output mode"],"editor":"ryochan7","editors_note":["None"],"updated_at":"2021-02-02T22:25:55+0000"}]},{"version_str":"2.2.3","version_number_info":{"majorPart":2,"minorPart":2,"buildPart":3},"base_header":"Version 2.2.3","release_date":"2021-02-01T21:09:33+0000","locales":[{"code":"en","header":"Version 2.2.3","log_text":["* Added an extra precaution to unplug any permanent output devices upon service stop. ViGEmBus should handle this already but just want to make sure.","* Updated Polish translation. Contribution by **gregory678**","* Changed locking strategy for ControllerSlotManager collection","* Fixed right click disconnect slot index for new sorted list","* Implemented a variant of Two Stage Triggers","* Added Trigger effects presets. Currently only useful for the DualSense controller","* Added averaging gyro calibration upon device connection. Contribution by **firodj**","* Skip unknown DS4Controls names while loading a profile","* Fixed issue with missingSettings being set for fallback value lookup on Profile load. Constantly re-saved profiles","* Only reset outDevTypeTemp on full profile save. Ensured proper controller image is used in Binding window after clicking Apply in Profile Editor","* Change arrangement of lit LED lights for DualSense controller","* Allow Touchpad Click button passthru with Mouse and Controls mode","* Changed device type settings. Now use device specific (serial) settings. Now saved to ControllerConfigs.xml","* Added check for valid output report types upon DS4 BT device connection. Can revert to using output report 0x11 if needed. Not sure if it will matter","* Ignore output plugin routine and other calls if requested profile file does not exist"],"editor":"ryochan7","editors_note":["None"],"updated_at":"2021-02-01T21:09:33+0000"}]},{"version_str":"2.2.2","version_number_info":{"majorPart":2,"minorPart":2,"buildPart":2},"base_header":"Version 2.2.2","release_date":"2021-01-19T17:17:09+0000","locales":[{"code":"en","header":"Version 2.2.2","log_text":["* Have app ignore embedded color profile for rainbowCCrop image. Fixes Profile Editor crashing app on some systems","* Supports .BAT/.CMD batch scripts in specAction LaunchProgram. Contribution by **mika-n**","* Added Hebrew translation. Contribution by **avsha114**","* Corrected Touchpad Resolution Y Max for DS4 and DualSense","* Fixed crash when right click disconnect is done twice and GUI has not changed yet. More of a pre-caution than anything","* Gioteck VX4 gamepad support. Contribution by **mika-n**","* Fixed passthru panels showing up properly for Touchpad and Gyro","* Pushing half-baked controller options window","* Change DupBox placeholder text behavior","* Removed Parler link from About window for now. RIP Parler","* Now use device specific Gyro Mouse sensitivity values","* Decreased sensitivity of DualSense Gyro Mouse slightly","* Added placeholder help text for window title auto profile field","* Fixed window style for Updater window","* Allow Home LED to be disabled for Switch Pro and JoyCon","* Fixed app config loading. Stopped extra config saves on program launch from missingSetting being set unintentionally","* Added more white variation of images for use in Dark theme","* Make custom Bezier curve perform circular interpolation rather than per axis","* Use ControlService event dispatcher for synchronization on device unplug","* Fixed Gyro Mouse and Mouse Joystick Smoothing panels visibility in Profile Editor under certain scenarios","* Fixed a bug in autoProfile set Path handler. Contribution by **mika-n**","* Lowered default rumble emulation strength of DualSense controller","* Allow configurable rumble strength setting for DualSense controllers. Will likely change later","* Now use player LEDs on Switch Pro, JoyCon, and DualSense controllers. Used to display input device slot number","* Display input slot number in controller list","* Now sort main controller list by device index","* Changed output device pluging routine. Stop DS4Windows service if ViGEm device connect call fails","* Changed default dead zone for KBM profile templates","* Only output DS4 touchpad button click when in Passthru mode","* Make sure to refresh gyro mouse smoothing combobox indexes after loading from a preset","* Bundled DS4Updater 1.4.5"],"editor":"ryochan7","editors_note":["Burnout"],"updated_at":"2021-01-19T17:17:09+0000"}]},{"version_str":"2.2.1","version_number_info":{"majorPart":2,"minorPart":2,"buildPart":1},"base_header":"Version 2.2.1","release_date":"2020-12-31T05:22:47+0000","locales":[{"code":"en","header":"Version 2.2.1","log_text":["* Put lock block in for DS4 USB output routine"],"editor":"ryochan7","editors_note":["Too many cases to test and my dying PC"],"updated_at":"2020-12-31T05:22:47+0000"}]},{"version_str":"2.2.0","version_number_info":{"majorPart":2,"minorPart":2,"buildPart":0},"base_header":"Version 2.2.0","release_date":"2020-12-31T03:22:07+0000","locales":[{"code":"en","header":"Version 2.2.0","log_text":["* Import newer ViGEm.NET libraries for ViGEmBus 1.17.333.0 extended support","* Allow passthru of Touchpad and Gyro to output virtual DS4. Requires ViGEmBus 1.17.333.0 and Windows 10","* Put note about DS4Windows assembly architecture in Log. Needed to diagnose Exclusive mode problems.","* No longer reset X360 report data each gamepad poll","* Fixed Touchpad Swipe and Gyro Tilt controls index values for Profile Editor controls","* Fixed some 8 controller bugs. Make sure to save set profile and load setting","* Don't reset auto profile flags on device removal","* Sort auto profile list by app file name","* Allow binding to Mute button in Special Action editor","* Added DualSense Mute button to Gyro and Touchpad triggers","* Allow Mute button as a Shift Trigger","* Use a WrapPanel for Utils section","* Fixed crash on Windows 7 when attempting to download ViGEm installer. Side effect of targeting .NET Framework 4.8","* Remove Aero2 assembly reference","* Changed output method used for Windows 7 BT DS4 devices. Forced to use Control endpoint on Windows 7","* Have driver installer window choose different ViGEmBus installer depending on detected Windows OS install"],"editor":"ryochan7","editors_note":["Windows 7 EOL seriously this time"],"updated_at":"2020-12-31T03:22:07+0000"}]},{"version_str":"2.1.23","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":23},"base_header":"Version 2.1.23","release_date":"2020-12-25T15:51:12+0000","locales":[{"code":"en","header":"Version 2.1.23","log_text":["* Updated App.config file with proper .NET Framework version","* Added support for mapping DualSense Mute button","* Fixed Dark theme crashing app in Windows 7. Removed Aero2 elements from Dark theme.","* Disable apply button when creating a new profile. Further enforce current flow","* Added feature set check before generating CRC-32 output data","* Fixed theme style for SaveWhere window","* Corrected KeyDown and KeyUp images in Macro editor","* Split DS4HapticState to two structs. Separate force feedback data from lightbar color","* Added -command cycle cmd flag. Allows for an easy on/off shortcut without having to set any conditions. Contribution by **wingfixer**","* Changed AutoProfile EXE file extension check to be case-sensitive. Contribution by **mika-n**","* Added MinWidth back in Dark theme for combobox. Was removed with Aero2 tags.","* Updated Russian translation file. Contribution by **shikulja**","* Don't display data write failure if device is known to be disconnecting. Hopefully eliminates excessive gamepad write failure log messages when Idle Disconnect is executed.","* Tweaked axis scaling to output Xbox 360 axis. Low end now can scale to 0 properly."],"editor":"ryochan7","editors_note":["Not much"],"updated_at":"2020-12-25T15:51:12+0000"}]},{"version_str":"2.1.22","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":22},"base_header":"Version 2.1.22","release_date":"2020-12-13T15:42:18+0000","locales":[{"code":"en","header":"Version 2.1.22","log_text":["* Make sure profile name textbox is enabled by default again"],"editor":"ryochan7","editors_note":["Fail"],"updated_at":"2020-12-13T15:42:18+0000"}]},{"version_str":"2.1.21","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":21},"base_header":"Version 2.1.21","release_date":"2020-12-13T01:11:04+0000","locales":[{"code":"en","header":"Version 2.1.21","log_text":["* Grab proper image for Exclusive access display"],"editor":"ryochan7","editors_note":["Oops"],"updated_at":"2020-12-13T01:11:04+0000"}]},{"version_str":"2.1.20","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":20},"base_header":"Version 2.1.20","release_date":"2020-12-12T21:26:53+0000","locales":[{"code":"en","header":"Version 2.1.20","log_text":["* Changed project file to allow building app with msbuild","* Use custom window for displaying Log messages. Can highlight text and click URLs","* Send empty output report before closing a DualSense device. Resets rumble emulation flag to allow haptics to work again.","* Fixed -command Shutdown cmdline option. Contribution by **mika-n**","* Updated Russian translation. Contribution by **shikulja**","* Allow longer periods of rumble with DualSense","* Changed battery max value for DualSense","* Increased delay before hotplug device check","* Added button mouse vertical scale","* Changed Subcommand routine for Switch Pro and JoyCon classes","* Updated Polish translation. Contribution by **gregory678**","* Added Brook Mars controller support. Contribution by **Кладовая**","* Implemented a Dark theme for the GUI","* Fixed Change Light extras setting loading in Binding window. Keep setting in tact","* Changed buffer size for DS4 FileStream instance","* Now use Interrupt endpoint for DS4 BT output reports","* Fixed out-of-bounds access when enabling square stick. Contribution by **hpesoj**","* Added Arabic translation. Contribution by **xLive**"],"editor":"ryochan7","editors_note":["Nothing"],"updated_at":"2020-12-12T21:26:53+0000"}]},{"version_str":"2.1.19","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":19},"base_header":"Version 2.1.19","release_date":"2020-11-29T15:47:50+0000","locales":[{"code":"en","header":"Version 2.1.19","log_text":["* Fixed translation loading"],"editor":"ryochan7","editors_note":["Fixed App.config"],"updated_at":"2020-11-29T15:47:50+0000"}]},{"version_str":"2.1.18","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":18},"base_header":"Version 2.1.18","release_date":"2020-11-28T16:51:16+0000","locales":[{"code":"en","header":"Version 2.1.18","log_text":["* Lowered intensity of rumble effect for DualSense","* Rumble and lightbar support for DualSense now work over BT","* Added Rotate options to the Preset Menu in the Profile Editor. Useful for mapping a single JoyCon","* Disable DualSense Mic LED for now","* Edit language used for Run At Startup options to make intent more clear. Contribution by **olokos**","* Updated Ukrainian localization. Contribution by **dondrakon1**","* Added Hungarian translation. Contribution by **rocketbucket10**","* Experimental rumble for DS4 emulation. Make support a profile option. Contribution by **mika-n**","* Added New Battery and Charging command line query options to return the battery value and the charging status. Contribution by **mika-n**","* Updated target .NET Framework to version 4.8. Contribution by **dante38**","* Disable Output Slots section when service is not running","* New outputSlot related command line interfaces. Contribution by **mika-n**"],"editor":"ryochan7","editors_note":["Backup before compy dies"],"updated_at":"2020-11-28T16:51:16+0000"}]},{"version_str":"2.1.17","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":17},"base_header":"Version 2.1.17","release_date":"2020-11-19T19:07:49+0000","locales":[{"code":"en","header":"Version 2.1.17","log_text":["* Implemented JoyCon support","* Implemented DualSense support. Lightbar and rumble support only work with USB for now","* Added workaround for DS4 reader when a duplicate timestamp is in a report. Fixes smoothing for UDP server output","* Populate totalMicroSec in JoyConDevice and SwitchProDevice. Used in the UDP server output","* Enabled Idle Disconnect for SwitchPro and JoyCon"],"editor":"ryochan7","editors_note":["Many more changes than the Changelog implies"],"updated_at":"2020-11-19T19:07:49+0000"}]},{"version_str":"2.1.16","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":16},"base_header":"Version 2.1.16","release_date":"2020-11-10T04:52:21+0000","locales":[{"code":"en","header":"Version 2.1.16","log_text":["* Allow inserting wait periods in macro sequence","* Disable IdleDisconnect by default","* Updated URL for Gamepad Tester","* Added initial Flick Stick support","* Various refactors to somewhat abstract controller type from mapper code","* Added initial mapping support for the Switch Pro controller","* Increased default flash warning interval in Settings. Now defaults to 40 ms","* Changed connection type check depending on the input device","* Added an extra Reset call for ManualResetEventSlim for DS4Device","* Allow task startup if running on battery power","* Added fuzz setting for 360 Steering Wheel mode","* Hide DS4 Controller option re-enabled. Contribution by **Yohoki**","* Chinese (Traditional, Taiwan) Translations Updated. Contribution by **SyaoranChang**","* Ukrainian translation added. Contribution by **atimonder1**","* Put null check when checking for new input devices. Necessary for new input device check refactor.","* Bundled HidNinja 0.2.2"],"editor":"ryochan7","editors_note":["Might finally use my Switch Pro controller"],"updated_at":"2020-11-10T04:52:21+0000"}]},{"version_str":"2.1.15","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":15},"base_header":"Version 2.1.15","release_date":"2020-10-04T18:29:47+0000","locales":[{"code":"en","header":"Version 2.1.15","log_text":["* Found a way to pass URL to Explorer and have the shell not interpret it. Removes cmd window appearing","* Disable Program Folder panel on initial config window when location cannot be written to","* Moved main touchpad options to a tab in the Profile Editor","* Moved items in DS4 Canvas around. Top Touch hover image now appears above Lightbar button","* Only reset rumble on extras deactivatoin if extras has rumble enabled","* Allow Touchpad Click to be used as a Gyro trigger","* Added an initial Touchpad Absolute Mouse implementation","* Make sure to isolate Touchpad double tap check to Mouse mode","* Added rotation setting to Touchpad Mouse","* Make No Controller Connected message dynamic. Show updated controller limit depending on build","* Increased interval for flashing latency warning","* Added minimum threshold to Touchpad Relative Mouse","* Added Min Threshold setting for Gyro Mouse","* Updated Dutch Translation. Contribution by **RedDevilus**","* Updated French Translation. Contribution by **RedDevilus**","* Added translation contributors to About window finally","* Disable ViGEm install button while installation process is active"],"editor":"ryochan7","editors_note":["Got nothing"],"updated_at":"2020-10-04T18:29:47+0000"}]},{"version_str":"2.1.14","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":14},"base_header":"Version 2.1.14","release_date":"2020-09-27T02:29:04+0000","locales":[{"code":"en","header":"Version 2.1.14","log_text":["* More max controller 4 value changes to use Global.MAX_DS4_CONTROLLER_COUNT parameter. Contribution by **mika-n**","* Corrected bindings for AutoProfiles controls","* Fixed trigger bindings in KB+M presets","* No longer skip profile migration for version 1 profiles (Jays2Kings)"],"editor":"ryochan7","editors_note":["Hopefully 8 Controller issues are done"],"updated_at":"2020-09-27T02:29:04+0000"}]},{"version_str":"2.1.13","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":13},"base_header":"Version 2.1.13","release_date":"2020-09-15T01:44:48+0000","locales":[{"code":"en","header":"Version 2.1.13","log_text":["* Added FORCE_4_INPUT compilation symbol","* Another place for bumping up test profile index"],"editor":"ryochan7","editors_note":["Blast"],"updated_at":"2020-09-15T01:44:48+0000"}]},{"version_str":"2.1.12","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":12},"base_header":"Version 2.1.12","release_date":"2020-09-14T06:44:30+0000","locales":[{"code":"en","header":"Version 2.1.12","log_text":["* Fixed test profile index use for Windows 7","* Found more places where controller limit check was needed"],"editor":"ryochan7","editors_note":["Win7 changes"],"updated_at":"2020-09-14T06:44:30+0000"}]},{"version_str":"2.1.11","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":11},"base_header":"Version 2.1.11","release_date":"2020-09-14T01:48:21+0000","locales":[{"code":"en","header":"Version 2.1.11","log_text":["* Added clamping on LS and RS dead zones in profile reader","* Corrected test profile index when launching Profile Editor from Profiles tab"],"editor":"ryochan7","editors_note":["Missed an index bump"],"updated_at":"2020-09-14T01:48:21+0000"}]},{"version_str":"2.1.10","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":10},"base_header":"Version 2.1.10","release_date":"2020-09-13T05:26:35+0000","locales":[{"code":"en","header":"Version 2.1.10","log_text":["* Allow Black icon image for tray icon","* Changes to allow a maximum of 8 input controllers. The old limit was 4.","* Leave custom lightbar color active after macro if 'Keep key state' is set. Contribution by **mika-n**","* Added One Euro Filter to UDP Server mapping","* Added simple Presets window for Profile Editor","* Changed some Gyro Controls checks in mapping routine. Old routine could have activated any set Gyro Controls buttons even while Gyro Mouse Joystick is used","* Added a Changelog viewer window to project","* Remove temp profile association on device removal","* Fixed profile save name check for Save method in Profile Editor","* Changed Quick Charge check to delay disconnecting BT controller until USB controller is detected. Allows USB wall chargers to be used to charge a DS4 and not interfere.","* Fixed profile save on profile migration"],"editor":"ryochan7","editors_note":["Unnecessary aggravation"],"updated_at":"2020-09-13T05:26:35+0000"}]},{"version_str":"2.1.9","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":9},"base_header":"Version 2.1.9","release_date":"2020-09-03T01:15:05+0000","locales":[{"code":"en","header":"Version 2.1.9","log_text":["* Added XInputChecker link","* Fixed null pointer issues in Macro Editor when using Preset options"],"editor":"ryochan7","editors_note":["Reinstall Windows time"],"updated_at":"2020-09-03T01:15:05+0000"}]},{"version_str":"2.1.8","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":8},"base_header":"Version 2.1.8","release_date":"2020-09-02T06:37:47+0000","locales":[{"code":"en","header":"Version 2.1.8","log_text":["* Added WIN64 compilation symbol back in","* Added Touchpad Click as an output binding","* Added support for SnakeByte Game:Pad 4S gamepad. Contribution by **mika-n**","* Implemented fuzz routine for LS and RS. Delta value before stick coordinates are updated","* Changed assembly references. Found a way to safely use AggressiveInlining","* Increased initial service start delay","* Do not change window size if it is currently larger than default Profile Editor size","* Added note about Edge to Exclusive mode error message","* Fixed app crash when TaskService COM objects don't work. Contribution by **mika-n**"],"editor":"ryochan7","editors_note":["Nothin"],"updated_at":"2020-09-02T06:37:47+0000"}]},{"version_str":"2.1.7","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":7},"base_header":"Version 2.1.7","release_date":"2020-08-30T03:59:05+0000","locales":[{"code":"en","header":"Version 2.1.7","log_text":["* Fixed 'index out of bounds' error for localization string when default profile is not found. Contribution by **mika-n**","* Updated build script to bundle newer translation packs","* Updated Spanish translation. Contribution by **peter9811**"],"editor":"ryochan7","editors_note":["Minor fixes"],"updated_at":"2020-08-30T03:59:05+0000"}]},{"version_str":"2.1.6","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":6},"base_header":"Version 2.1.6","release_date":"2020-08-29T05:53:41+0000","locales":[{"code":"en","header":"Version 2.1.6","log_text":["* Removed LBRY social link and resources","* Allow setting a custom executable file for DS4Windows.exe","* Changed CONFIG_VERSION to 4. Start of profile migration support","* Added 1 Euro Filter smoothing for Gyro Mouse and Gyro Mouse Joystick output modes","* Bump up Gyro Mouse offsets","* Apply 1 Euro filter to calculated rotation angle from 360 Steering Wheel mode rather than each accel axis value","* Fixed locatiztion bug in the input custom bezier curve string value. Contribution by **mika-n**","* Added support for three specialist PS4 controllers. Contribution by **tpneill**","* Increased scale multiplier used for Gyro Mouse","* Changed translation string for 'save' in German translation. Contribution by **Haamar**","* Dutch translation added. Contribution by **RedDevilus**","* French translation added. Contribution by **RedDevilus**","* Only call RefreshVolume when the DS4Audio device is detected","* App can now find a unified USB device tied to the DS4 HID and audio devices. DS4Windows no longer relies on string name to match audio devices","* Increased minimum headphone volume","* Added new Chinese (Traditional, Taiwan) translation. Contribution by **SyaoranChang**","* Fixed issue with wrong window position data being saved while window is minimized","* Now show battery level for controller plugin tray message","* Added current battery level from DS4State object to Controller Readings. Used to diagnose if BatteryChanged events are not firing in main window","* Change profile save routine to allow dots in profile name","* Escape underscores in profile names for some GUI controls. Needed to disable access key usage in some GUI controls","* Fixed sides for Test Rumble in Profile Editor","* Allow both rumble motors to be usable simultaneously for Test Rumble","* Dynamically create task.bat file as requested. Allows a custom exe filename to be written to the file","* Reset button mappings when a special action is triggered","* Updated app manifest file to specify confirmed compatible versions of Windows","* Now log current exe filename to Log file. Just the base filename not the whole path","* Updated DS4Updater.exe to version 1.4.3"],"editor":"ryochan7","editors_note":["Long Changelog this time around"],"updated_at":"2020-08-29T06:36:00+0000"}]},{"version_str":"2.1.5","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":5},"base_header":"Version 2.1.5","release_date":"2020-08-07T15:43:44+0000","locales":[{"code":"en","header":"Version 2.1.5","log_text":["* New 'Query' cmdline options to return profile and DS4Windows app properties to a 3rd party app or batch scripts. Contribution by **mika-n**","* Fixed Gyro Mouse Joystick invert options","* Added OneEuroFilter class to project","* Added 1 Euro Filter options to 360 Steering Wheel mode","* Disable profile name textbox when editing an existing profile","* Abstract portion of resource URI strings","* Added max output throttling option to Gyro Mouse Joystick","* Quick change to not persist auto profile messages to the log file","* Added small wrapper for ReaderWriteerLockSlim objects","* Display Gyro Mouse Joystick anti-dead zones as percentages","* Take special action for certain keys in RecordBox when WPF does not transmit a KeyDown event","* Added RWin button handling in mapping window","* Added Parler Social link in About window","* Added GitHub Issue template to Git repository","* Added minimum threshold for Gyro Mouse Joystick","* Set neutral resource language for assembly","* Disabled force feedback support for virtual DS4 controllers"],"editor":"ryochan7","editors_note":["Still nothin"],"updated_at":"2020-08-07T15:43:44+0000"}]},{"version_str":"2.1.4","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":4},"base_header":"Version 2.1.4","release_date":"2020-07-04T18:07:41+0000","locales":[{"code":"en","header":"Version 2.1.4","log_text":["* Fixed app crash when No is selected in UAC confirm window","* Make sure to cache profile flags after changing Steering Wheel axis in Profile Editor","* Force permanent output device removal on service stop","* Added support for Astro C40 gamepad. Contribution by **mika-n**","* Fixed Gyro Mouse Turn Behavior setting","* Fixed input bound flag updating for output slots","* Changed Exclusive Mode check to take HidGuardian support into account. Key icon will appear for devices affected by HG","* Added preset menu for face buttons. Finally wanted that option back.","* Re-enabled lightbar color change for output DS4 force feedback routine","* Fixed output slot active flag when switching device types","* Made changes to allow LastVersionChecked to be an optional element in config file","* Raised default stick mouse offset","* Fixed spelling mistake in DE translation file. Contribution by **Flo082002**","* Changed gamepad latency log message to show current latency measurement. Contribution by **dondrakon**","* Raised Square Stick Roundness max value to 1000.0","* Use BeginInvoke for changing properties for permanent device manipulation. Keeps EventDispatcher actions in order","* Reset state of permanent device when unbinding an input device","* Fixed NumPadEnter binding in Binding Window","* Bundled HidNinja v.0.2.1 HidGuardian management program"],"editor":"ryochan7","editors_note":["I got nothin"],"updated_at":"2020-07-04T18:07:41+0000"}]},{"version_str":"2.1.3","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":3},"base_header":"Version 2.1.3","release_date":"2020-06-17T02:14:15+0000","locales":[{"code":"en","header":"Version 2.1.3","log_text":["* Updated to use newer version of ViGEm.NET client libraries","* Correct feature configuration for Hori PS4 Mini controller. Contribution by **sergejkiller**","* Finally removed AnyCPU targets from solution","* Added extra null check safeguard for output slots","* Finally re-enabled Controller Readings tab from Profiles list","* Finally removed support for old Flush HID option","* Improved UI markup in Profile Editor window. Contribution by **dondrakon**","* Add some extra Japanese translation string. Contribution by **stryblt**","* Added config version number to profiles","* Change to bundle DE lang assembly pack","* Added app_version attr to profiles","* Added extra exception catch to safeguard against corrupt XML files","* Changed Profile Editor to not change virtual devices during loading","* Changed Check Updates default interval to 1 Day rather than 1 Hour","* Add Apply button on profile settings window. Contribution by **dondrakon**","* Added Chinese Simplified translation. Contribution by **mayawei**","* Allow skipping a version update from Updater Window","* Added link for HidNinja program in Settings tab","* Bundled HidNinja v.0.2 HidGuardian management program","* Added app_version attr to main config file"],"editor":"ryochan7","editors_note":["Burnout"],"updated_at":"2020-06-17T02:14:15+0000"}]},{"version_str":"2.1.2","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":2},"base_header":"Version 2.1.2","release_date":"2020-06-02T00:40:16+0000","locales":[{"code":"en","header":"Version 2.1.2","log_text":["* Added architecture info to log","* Added option to specify permanently connected output devices","* Added extra check before sending output reports to virtual device"],"editor":"ryochan7","editors_note":["Should work"],"updated_at":"2020-06-02T00:40:16+0000"}]},{"version_str":"2.1.1","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":1},"base_header":"Version 2.1.1","release_date":"2020-05-15T19:39:08+0000","locales":[{"code":"en","header":"Version 2.1.1","log_text":["* Changed type of output report transmitted to DS4 in BT. Now use report type 0x15 (previously 0x11)","* Added extra data transmission flag to output report","* Changed thread affinity of hidDevice object. Link with initial high priority thread","* Use a Dispatcher instance for managing the OutputSlotManager rather than Tasks","* Changed how a running output slot queue is specified","* Initial mouse offset refactors. Base mouse offset on percentage of full speed. Defaults to 0.500","* Make button mouse offset a profile setting","* Set MinWidth and MinHeight values for the main window. Contribution by **dondrakon**","* Group some button mouse fields into a class. Reduces getter calls","* Show minimum effective mouse speed in GUI","* Put OS Info in log. Will be useful for debugging","* Removed chance for a dead lock when stopping input controllers. Luckily I have never encountered it","* Fixed a bug where a shiftKey macro accidentally saved HoldMacro and Macro status values. Contribution by **mika-n**","* Fixed debug x86 project target by enabling the Allow Unsafe Code project setting. Contribution by **mika-n**"],"editor":"ryochan7","editors_note":["Might have missed some changes from commits in other branches"],"updated_at":"2020-05-15T19:39:08+0000"}]},{"version_str":"2.1","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":0},"base_header":"Version 2.1","release_date":"2020-05-02T17:26:38+0000","locales":[{"code":"en","header":"Version 2.1","log_text":["* Fixed possible sign flip issue with radial output curves","* Fixed NaN problem when radial cap is 0. Fixes output curve coordinate issues on the extreme low end","* Support for various non-standard DS4 gamepads which behave in BT just like USB connected DS4. Contribution made by **mika-n**","* Made a dedicated updater dialog window","* Added Changelog text to updater window","* Now actively using Newtonsoft Json.NET library","* Added Markdown.XAML library","* Fixed a few networking issues when pulling new version info","* Minor optimization of Controller Readings tab. Moved state copying outside of UI thread","* Updated UDP server to call the semaphore release on socket complete event","* Added German translation files. Changes made by **Flo082002**","* Added small log message stating whether running as Admin or User. Useful info when dealing with SendInput problems","* Fixed bug with 360 Steering Wheel output. Now two DS4 gamepads can be properly mapped to different VJoy output device axes"],"editor":"ryochan7","editors_note":["First version with Changelog info. Hope this works. Fingers crossed."],"updated_at":"2020-05-02T17:10:57+0000"},{"code":"jp","header":"Version 2.1","log_text":["* Fixed possible sign flip issue with radial output curves","* Fixed NaN problem when radial cap is 0","* Support for various non-standard DS4 gamepads which behave in BT just like USB connected DS4. Contribution made by **mika-n**","* Made a dedicated updater dialog window","* Added Changelog text to updater window","* Now actively using Newtonsoft Json.NET library","* Added Markdown.XAML library","* Fixed a few networking issues when pulling new version info","* Minor optimization of Controller Readings tab. Moved state copying outside of UI thread","* Updated UDP server to call the semaphore release on socket complete event","* Added German translation files. Changes made by **Flo082002**","* Added small log message stating whether running as Admin or User. Useful info when dealing with SendInput problems","* Fixed bug with 360 Steering Wheel output. Now two DS4 gamepads can be properly mapped to different VJoy output device axes"],"editor":"ryochan7","editors_note":["TODO: Make some form of translation later"],"updated_at":"2020-05-02T17:10:57+0000"}]}]}} +{"latest_version":"2.2.10","latest_version_number_info":{"majorPart":2,"minorPart":2,"buildPart":10},"updated_at":"2021-03-09T20:14:08+0000","changelog":{"versions":[{"version_str":"2.2.10","version_number_info":{"majorPart":2,"minorPart":2,"buildPart":10},"base_header":"Version 2.2.10","release_date":"2021-03-09T20:14:08+0000","locales":[{"code":"en","header":"Version 2.2.10","log_text":["* Change Disconnect command syntax to allow all wireless controllers to get disconnected","* Increased GUI enforced max Trackball Friction value to 20.0","* Slightly edited colors used in Dark theme","* Disabled virtual DS4 feedback routine again","* Allow Joined JoyCon support. Joined link mode is now the default","* Changed L1 binding for KB+M and Gyro preset profile. Make Unbound","* Fixed macroRecorder bug where MUTE control threw an exception because it is not in macroDS4Values array. Contribution by **mika-n**","* Fixed wrong on-screen button indexes while remapping using 'readout' feature. Contribution by **mika-n**","* Added artificial VID/PID for DualShock 3 running under DsHidMini drivers. Contribution by **nefarius**"],"editor":"ryochan7","editors_note":["None"],"updated_at":"2021-03-09T20:14:08+0000"}]},{"version_str":"2.2.9","version_number_info":{"majorPart":2,"minorPart":2,"buildPart":9},"base_header":"Version 2.2.9","release_date":"2021-03-05T02:36:16+0000","locales":[{"code":"en","header":"Version 2.2.9","log_text":["* Profile settings fuzz option hang fix. Contribution by **RokasKil**","* Anti-snapback stick settings added. Contribution by **RokasKil**","* .NET 5 progress complete. Will keep net5 branch updated regularly until used in public build. Contribution by **sitiom**","* Fixed index out of bounds error when loading profiles in virtual output device check","* Fixed current item selection for right click Disconnect BT","* Removed references to Frog site. No longer posting updates there","* Changed initial trackball velocity calculations to attempt to make numbers more uniform across devices","* Added Disconnect command line option","* Disable macro mode combobox when opening Macro used in a Multi-Action Button special action","* Take out nag disclaimer window regarding Hide DS4 Controller option"],"editor":"ryochan7","editors_note":["Burnout"],"updated_at":"2021-03-05T02:36:16+0000"}]},{"version_str":"2.2.8","version_number_info":{"majorPart":2,"minorPart":2,"buildPart":8},"base_header":"Version 2.2.8","release_date":"2021-02-26T18:33:49+0000","locales":[{"code":"en","header":"Version 2.2.8","log_text":["* Fixed resetting of trigger values for Two Stage modes","* Removed references to old Discord server","* Pull gyro calibration sampling routine out to its own method","* Fixed normal button binding to Touchpad Click output","* Attempt to go to DS4Updater Release page if automatic download of updater failed","* Added GitHub link to Social row in About window","* Fixed x86 ViGEm installer URL"],"editor":"ryochan7","editors_note":["Take a break"],"updated_at":"2021-02-26T18:33:49+0000"}]},{"version_str":"2.2.7","version_number_info":{"majorPart":2,"minorPart":2,"buildPart":7},"base_header":"Version 2.2.7","release_date":"2021-02-18T21:49:24+0000","locales":[{"code":"en","header":"Version 2.2.7","log_text":["* Added delay time to Gyro Directional Swipe action","* Fixed populate of Gyro Directional Swipe and Gyro Controls triggers buttons","* Lowered touchpad slide distance for Controls mode","* Fixed Steering Wheel calibration Special Action saving","* Allow resetting of extras for Trigger soft pull and full pull","* Allow resetting Extras bound to Gyro Swipe actions","* Now officially only support Windows 10 and later. THANKS MICROSOFT","* Added BatteryPercentage mode for DualSense Player LED Bar","* Fixed Switch Pro and JoyCon AccelY coordinate used by UDP Server","* Fixed profile cancelling for the test index","* Tweaked disable device time for Exclusive mode routine","* Removed DynamicResource lookups for Special Action Editor","* .NET 5 port in progress","* Added App instance check to work around Design mode in .NET 5.0.","* Changed Browse Programs fallback value in Profile Editor for .NET 5.0","* Changed method to strip null terminated strings","* Added Gyro Calibration button to Gyro Mouse StackPanel","* Updated ViGEmClient library to use notification queue","* Fixed critical notification callback bug in ViGEm.NET library","* Fixed infinite rumble problem stemming from ViGEm library issues"],"editor":"ryochan7","editors_note":["ViGEm updates are the most relevant"],"updated_at":"2021-02-19T17:57:22+0000"}]},{"version_str":"2.2.6","version_number_info":{"majorPart":2,"minorPart":2,"buildPart":6},"base_header":"Version 2.2.6","release_date":"2021-02-11T03:50:45+0000","locales":[{"code":"en","header":"Version 2.2.6","log_text":["* Fixed Gyro Mouse Joystick trigger selection","* Corrected Gyro Mouse and Gyro Mouse Joystick toggle flags","* Put Gyro Calibration button in other Gyro mode panels","* Added Mute LED mode for DualSense device options","* Fixed default virtual Touchpad button bindings","* Corrected Special Action regression"],"editor":"ryochan7","editors_note":["None"],"updated_at":"2021-02-11T03:50:45+0000"}]},{"version_str":"2.2.5","version_number_info":{"majorPart":2,"minorPart":2,"buildPart":5},"base_header":"Version 2.2.5","release_date":"2021-02-10T03:07:55+0000","locales":[{"code":"en","header":"Version 2.2.5","log_text":["* Fixed sync between button mouse sens and active mouse sens in Profile Editor","* Changed DualSense blanking flags used for initial connection and detach","* Now use defined ControlActionData for mapped actions rather than unboxing object references. Speeds up the mapping routine a good amount.","* Hebrew translation added to project file. Translation was never added in","* Allow Gyro triggers for Gyro Controls mode","* Reset Gyro Controls output accel values to 0 for each poll","* Driver installer window now takes arch into account when downloading the latest ViGEm installer. It uses a different setup file for each arch","* Disable Xbox 360 installer button in Welcome Dialog if running on Win8 or greater","* Added toggle mode to Gyro Controls","* Added ScrollViewer for Gyro tab","* Increased Full Click trigger effect resistance a bit","* Use fake HW serial to index SonyWA connections. Should allow multiple Sony dongles to work","* Allow audio volume searching for Nacon Rev Pro v.2 controller.","* Added DS4 setting to attempt to change output report features for copycat controllers"],"editor":"ryochan7","editors_note":["None"],"updated_at":"2021-02-10T03:07:55+0000"}]},{"version_str":"2.2.4","version_number_info":{"majorPart":2,"minorPart":2,"buildPart":4},"base_header":"Version 2.2.4","release_date":"2021-02-02T22:25:55+0000","locales":[{"code":"en","header":"Version 2.2.4","log_text":["* Fixed SelectedValue display in Dark theme for some dynamic ComboBox controls","* Added Gyro Directional Swipe output mode"],"editor":"ryochan7","editors_note":["None"],"updated_at":"2021-02-02T22:25:55+0000"}]},{"version_str":"2.2.3","version_number_info":{"majorPart":2,"minorPart":2,"buildPart":3},"base_header":"Version 2.2.3","release_date":"2021-02-01T21:09:33+0000","locales":[{"code":"en","header":"Version 2.2.3","log_text":["* Added an extra precaution to unplug any permanent output devices upon service stop. ViGEmBus should handle this already but just want to make sure.","* Updated Polish translation. Contribution by **gregory678**","* Changed locking strategy for ControllerSlotManager collection","* Fixed right click disconnect slot index for new sorted list","* Implemented a variant of Two Stage Triggers","* Added Trigger effects presets. Currently only useful for the DualSense controller","* Added averaging gyro calibration upon device connection. Contribution by **firodj**","* Skip unknown DS4Controls names while loading a profile","* Fixed issue with missingSettings being set for fallback value lookup on Profile load. Constantly re-saved profiles","* Only reset outDevTypeTemp on full profile save. Ensured proper controller image is used in Binding window after clicking Apply in Profile Editor","* Change arrangement of lit LED lights for DualSense controller","* Allow Touchpad Click button passthru with Mouse and Controls mode","* Changed device type settings. Now use device specific (serial) settings. Now saved to ControllerConfigs.xml","* Added check for valid output report types upon DS4 BT device connection. Can revert to using output report 0x11 if needed. Not sure if it will matter","* Ignore output plugin routine and other calls if requested profile file does not exist"],"editor":"ryochan7","editors_note":["None"],"updated_at":"2021-02-01T21:09:33+0000"}]},{"version_str":"2.2.2","version_number_info":{"majorPart":2,"minorPart":2,"buildPart":2},"base_header":"Version 2.2.2","release_date":"2021-01-19T17:17:09+0000","locales":[{"code":"en","header":"Version 2.2.2","log_text":["* Have app ignore embedded color profile for rainbowCCrop image. Fixes Profile Editor crashing app on some systems","* Supports .BAT/.CMD batch scripts in specAction LaunchProgram. Contribution by **mika-n**","* Added Hebrew translation. Contribution by **avsha114**","* Corrected Touchpad Resolution Y Max for DS4 and DualSense","* Fixed crash when right click disconnect is done twice and GUI has not changed yet. More of a pre-caution than anything","* Gioteck VX4 gamepad support. Contribution by **mika-n**","* Fixed passthru panels showing up properly for Touchpad and Gyro","* Pushing half-baked controller options window","* Change DupBox placeholder text behavior","* Removed Parler link from About window for now. RIP Parler","* Now use device specific Gyro Mouse sensitivity values","* Decreased sensitivity of DualSense Gyro Mouse slightly","* Added placeholder help text for window title auto profile field","* Fixed window style for Updater window","* Allow Home LED to be disabled for Switch Pro and JoyCon","* Fixed app config loading. Stopped extra config saves on program launch from missingSetting being set unintentionally","* Added more white variation of images for use in Dark theme","* Make custom Bezier curve perform circular interpolation rather than per axis","* Use ControlService event dispatcher for synchronization on device unplug","* Fixed Gyro Mouse and Mouse Joystick Smoothing panels visibility in Profile Editor under certain scenarios","* Fixed a bug in autoProfile set Path handler. Contribution by **mika-n**","* Lowered default rumble emulation strength of DualSense controller","* Allow configurable rumble strength setting for DualSense controllers. Will likely change later","* Now use player LEDs on Switch Pro, JoyCon, and DualSense controllers. Used to display input device slot number","* Display input slot number in controller list","* Now sort main controller list by device index","* Changed output device pluging routine. Stop DS4Windows service if ViGEm device connect call fails","* Changed default dead zone for KBM profile templates","* Only output DS4 touchpad button click when in Passthru mode","* Make sure to refresh gyro mouse smoothing combobox indexes after loading from a preset","* Bundled DS4Updater 1.4.5"],"editor":"ryochan7","editors_note":["Burnout"],"updated_at":"2021-01-19T17:17:09+0000"}]},{"version_str":"2.2.1","version_number_info":{"majorPart":2,"minorPart":2,"buildPart":1},"base_header":"Version 2.2.1","release_date":"2020-12-31T05:22:47+0000","locales":[{"code":"en","header":"Version 2.2.1","log_text":["* Put lock block in for DS4 USB output routine"],"editor":"ryochan7","editors_note":["Too many cases to test and my dying PC"],"updated_at":"2020-12-31T05:22:47+0000"}]},{"version_str":"2.2.0","version_number_info":{"majorPart":2,"minorPart":2,"buildPart":0},"base_header":"Version 2.2.0","release_date":"2020-12-31T03:22:07+0000","locales":[{"code":"en","header":"Version 2.2.0","log_text":["* Import newer ViGEm.NET libraries for ViGEmBus 1.17.333.0 extended support","* Allow passthru of Touchpad and Gyro to output virtual DS4. Requires ViGEmBus 1.17.333.0 and Windows 10","* Put note about DS4Windows assembly architecture in Log. Needed to diagnose Exclusive mode problems.","* No longer reset X360 report data each gamepad poll","* Fixed Touchpad Swipe and Gyro Tilt controls index values for Profile Editor controls","* Fixed some 8 controller bugs. Make sure to save set profile and load setting","* Don't reset auto profile flags on device removal","* Sort auto profile list by app file name","* Allow binding to Mute button in Special Action editor","* Added DualSense Mute button to Gyro and Touchpad triggers","* Allow Mute button as a Shift Trigger","* Use a WrapPanel for Utils section","* Fixed crash on Windows 7 when attempting to download ViGEm installer. Side effect of targeting .NET Framework 4.8","* Remove Aero2 assembly reference","* Changed output method used for Windows 7 BT DS4 devices. Forced to use Control endpoint on Windows 7","* Have driver installer window choose different ViGEmBus installer depending on detected Windows OS install"],"editor":"ryochan7","editors_note":["Windows 7 EOL seriously this time"],"updated_at":"2020-12-31T03:22:07+0000"}]},{"version_str":"2.1.23","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":23},"base_header":"Version 2.1.23","release_date":"2020-12-25T15:51:12+0000","locales":[{"code":"en","header":"Version 2.1.23","log_text":["* Updated App.config file with proper .NET Framework version","* Added support for mapping DualSense Mute button","* Fixed Dark theme crashing app in Windows 7. Removed Aero2 elements from Dark theme.","* Disable apply button when creating a new profile. Further enforce current flow","* Added feature set check before generating CRC-32 output data","* Fixed theme style for SaveWhere window","* Corrected KeyDown and KeyUp images in Macro editor","* Split DS4HapticState to two structs. Separate force feedback data from lightbar color","* Added -command cycle cmd flag. Allows for an easy on/off shortcut without having to set any conditions. Contribution by **wingfixer**","* Changed AutoProfile EXE file extension check to be case-sensitive. Contribution by **mika-n**","* Added MinWidth back in Dark theme for combobox. Was removed with Aero2 tags.","* Updated Russian translation file. Contribution by **shikulja**","* Don't display data write failure if device is known to be disconnecting. Hopefully eliminates excessive gamepad write failure log messages when Idle Disconnect is executed.","* Tweaked axis scaling to output Xbox 360 axis. Low end now can scale to 0 properly."],"editor":"ryochan7","editors_note":["Not much"],"updated_at":"2020-12-25T15:51:12+0000"}]},{"version_str":"2.1.22","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":22},"base_header":"Version 2.1.22","release_date":"2020-12-13T15:42:18+0000","locales":[{"code":"en","header":"Version 2.1.22","log_text":["* Make sure profile name textbox is enabled by default again"],"editor":"ryochan7","editors_note":["Fail"],"updated_at":"2020-12-13T15:42:18+0000"}]},{"version_str":"2.1.21","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":21},"base_header":"Version 2.1.21","release_date":"2020-12-13T01:11:04+0000","locales":[{"code":"en","header":"Version 2.1.21","log_text":["* Grab proper image for Exclusive access display"],"editor":"ryochan7","editors_note":["Oops"],"updated_at":"2020-12-13T01:11:04+0000"}]},{"version_str":"2.1.20","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":20},"base_header":"Version 2.1.20","release_date":"2020-12-12T21:26:53+0000","locales":[{"code":"en","header":"Version 2.1.20","log_text":["* Changed project file to allow building app with msbuild","* Use custom window for displaying Log messages. Can highlight text and click URLs","* Send empty output report before closing a DualSense device. Resets rumble emulation flag to allow haptics to work again.","* Fixed -command Shutdown cmdline option. Contribution by **mika-n**","* Updated Russian translation. Contribution by **shikulja**","* Allow longer periods of rumble with DualSense","* Changed battery max value for DualSense","* Increased delay before hotplug device check","* Added button mouse vertical scale","* Changed Subcommand routine for Switch Pro and JoyCon classes","* Updated Polish translation. Contribution by **gregory678**","* Added Brook Mars controller support. Contribution by **Кладовая**","* Implemented a Dark theme for the GUI","* Fixed Change Light extras setting loading in Binding window. Keep setting in tact","* Changed buffer size for DS4 FileStream instance","* Now use Interrupt endpoint for DS4 BT output reports","* Fixed out-of-bounds access when enabling square stick. Contribution by **hpesoj**","* Added Arabic translation. Contribution by **xLive**"],"editor":"ryochan7","editors_note":["Nothing"],"updated_at":"2020-12-12T21:26:53+0000"}]},{"version_str":"2.1.19","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":19},"base_header":"Version 2.1.19","release_date":"2020-11-29T15:47:50+0000","locales":[{"code":"en","header":"Version 2.1.19","log_text":["* Fixed translation loading"],"editor":"ryochan7","editors_note":["Fixed App.config"],"updated_at":"2020-11-29T15:47:50+0000"}]},{"version_str":"2.1.18","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":18},"base_header":"Version 2.1.18","release_date":"2020-11-28T16:51:16+0000","locales":[{"code":"en","header":"Version 2.1.18","log_text":["* Lowered intensity of rumble effect for DualSense","* Rumble and lightbar support for DualSense now work over BT","* Added Rotate options to the Preset Menu in the Profile Editor. Useful for mapping a single JoyCon","* Disable DualSense Mic LED for now","* Edit language used for Run At Startup options to make intent more clear. Contribution by **olokos**","* Updated Ukrainian localization. Contribution by **dondrakon1**","* Added Hungarian translation. Contribution by **rocketbucket10**","* Experimental rumble for DS4 emulation. Make support a profile option. Contribution by **mika-n**","* Added New Battery and Charging command line query options to return the battery value and the charging status. Contribution by **mika-n**","* Updated target .NET Framework to version 4.8. Contribution by **dante38**","* Disable Output Slots section when service is not running","* New outputSlot related command line interfaces. Contribution by **mika-n**"],"editor":"ryochan7","editors_note":["Backup before compy dies"],"updated_at":"2020-11-28T16:51:16+0000"}]},{"version_str":"2.1.17","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":17},"base_header":"Version 2.1.17","release_date":"2020-11-19T19:07:49+0000","locales":[{"code":"en","header":"Version 2.1.17","log_text":["* Implemented JoyCon support","* Implemented DualSense support. Lightbar and rumble support only work with USB for now","* Added workaround for DS4 reader when a duplicate timestamp is in a report. Fixes smoothing for UDP server output","* Populate totalMicroSec in JoyConDevice and SwitchProDevice. Used in the UDP server output","* Enabled Idle Disconnect for SwitchPro and JoyCon"],"editor":"ryochan7","editors_note":["Many more changes than the Changelog implies"],"updated_at":"2020-11-19T19:07:49+0000"}]},{"version_str":"2.1.16","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":16},"base_header":"Version 2.1.16","release_date":"2020-11-10T04:52:21+0000","locales":[{"code":"en","header":"Version 2.1.16","log_text":["* Allow inserting wait periods in macro sequence","* Disable IdleDisconnect by default","* Updated URL for Gamepad Tester","* Added initial Flick Stick support","* Various refactors to somewhat abstract controller type from mapper code","* Added initial mapping support for the Switch Pro controller","* Increased default flash warning interval in Settings. Now defaults to 40 ms","* Changed connection type check depending on the input device","* Added an extra Reset call for ManualResetEventSlim for DS4Device","* Allow task startup if running on battery power","* Added fuzz setting for 360 Steering Wheel mode","* Hide DS4 Controller option re-enabled. Contribution by **Yohoki**","* Chinese (Traditional, Taiwan) Translations Updated. Contribution by **SyaoranChang**","* Ukrainian translation added. Contribution by **atimonder1**","* Put null check when checking for new input devices. Necessary for new input device check refactor.","* Bundled HidNinja 0.2.2"],"editor":"ryochan7","editors_note":["Might finally use my Switch Pro controller"],"updated_at":"2020-11-10T04:52:21+0000"}]},{"version_str":"2.1.15","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":15},"base_header":"Version 2.1.15","release_date":"2020-10-04T18:29:47+0000","locales":[{"code":"en","header":"Version 2.1.15","log_text":["* Found a way to pass URL to Explorer and have the shell not interpret it. Removes cmd window appearing","* Disable Program Folder panel on initial config window when location cannot be written to","* Moved main touchpad options to a tab in the Profile Editor","* Moved items in DS4 Canvas around. Top Touch hover image now appears above Lightbar button","* Only reset rumble on extras deactivatoin if extras has rumble enabled","* Allow Touchpad Click to be used as a Gyro trigger","* Added an initial Touchpad Absolute Mouse implementation","* Make sure to isolate Touchpad double tap check to Mouse mode","* Added rotation setting to Touchpad Mouse","* Make No Controller Connected message dynamic. Show updated controller limit depending on build","* Increased interval for flashing latency warning","* Added minimum threshold to Touchpad Relative Mouse","* Added Min Threshold setting for Gyro Mouse","* Updated Dutch Translation. Contribution by **RedDevilus**","* Updated French Translation. Contribution by **RedDevilus**","* Added translation contributors to About window finally","* Disable ViGEm install button while installation process is active"],"editor":"ryochan7","editors_note":["Got nothing"],"updated_at":"2020-10-04T18:29:47+0000"}]},{"version_str":"2.1.14","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":14},"base_header":"Version 2.1.14","release_date":"2020-09-27T02:29:04+0000","locales":[{"code":"en","header":"Version 2.1.14","log_text":["* More max controller 4 value changes to use Global.MAX_DS4_CONTROLLER_COUNT parameter. Contribution by **mika-n**","* Corrected bindings for AutoProfiles controls","* Fixed trigger bindings in KB+M presets","* No longer skip profile migration for version 1 profiles (Jays2Kings)"],"editor":"ryochan7","editors_note":["Hopefully 8 Controller issues are done"],"updated_at":"2020-09-27T02:29:04+0000"}]},{"version_str":"2.1.13","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":13},"base_header":"Version 2.1.13","release_date":"2020-09-15T01:44:48+0000","locales":[{"code":"en","header":"Version 2.1.13","log_text":["* Added FORCE_4_INPUT compilation symbol","* Another place for bumping up test profile index"],"editor":"ryochan7","editors_note":["Blast"],"updated_at":"2020-09-15T01:44:48+0000"}]},{"version_str":"2.1.12","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":12},"base_header":"Version 2.1.12","release_date":"2020-09-14T06:44:30+0000","locales":[{"code":"en","header":"Version 2.1.12","log_text":["* Fixed test profile index use for Windows 7","* Found more places where controller limit check was needed"],"editor":"ryochan7","editors_note":["Win7 changes"],"updated_at":"2020-09-14T06:44:30+0000"}]},{"version_str":"2.1.11","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":11},"base_header":"Version 2.1.11","release_date":"2020-09-14T01:48:21+0000","locales":[{"code":"en","header":"Version 2.1.11","log_text":["* Added clamping on LS and RS dead zones in profile reader","* Corrected test profile index when launching Profile Editor from Profiles tab"],"editor":"ryochan7","editors_note":["Missed an index bump"],"updated_at":"2020-09-14T01:48:21+0000"}]},{"version_str":"2.1.10","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":10},"base_header":"Version 2.1.10","release_date":"2020-09-13T05:26:35+0000","locales":[{"code":"en","header":"Version 2.1.10","log_text":["* Allow Black icon image for tray icon","* Changes to allow a maximum of 8 input controllers. The old limit was 4.","* Leave custom lightbar color active after macro if 'Keep key state' is set. Contribution by **mika-n**","* Added One Euro Filter to UDP Server mapping","* Added simple Presets window for Profile Editor","* Changed some Gyro Controls checks in mapping routine. Old routine could have activated any set Gyro Controls buttons even while Gyro Mouse Joystick is used","* Added a Changelog viewer window to project","* Remove temp profile association on device removal","* Fixed profile save name check for Save method in Profile Editor","* Changed Quick Charge check to delay disconnecting BT controller until USB controller is detected. Allows USB wall chargers to be used to charge a DS4 and not interfere.","* Fixed profile save on profile migration"],"editor":"ryochan7","editors_note":["Unnecessary aggravation"],"updated_at":"2020-09-13T05:26:35+0000"}]},{"version_str":"2.1.9","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":9},"base_header":"Version 2.1.9","release_date":"2020-09-03T01:15:05+0000","locales":[{"code":"en","header":"Version 2.1.9","log_text":["* Added XInputChecker link","* Fixed null pointer issues in Macro Editor when using Preset options"],"editor":"ryochan7","editors_note":["Reinstall Windows time"],"updated_at":"2020-09-03T01:15:05+0000"}]},{"version_str":"2.1.8","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":8},"base_header":"Version 2.1.8","release_date":"2020-09-02T06:37:47+0000","locales":[{"code":"en","header":"Version 2.1.8","log_text":["* Added WIN64 compilation symbol back in","* Added Touchpad Click as an output binding","* Added support for SnakeByte Game:Pad 4S gamepad. Contribution by **mika-n**","* Implemented fuzz routine for LS and RS. Delta value before stick coordinates are updated","* Changed assembly references. Found a way to safely use AggressiveInlining","* Increased initial service start delay","* Do not change window size if it is currently larger than default Profile Editor size","* Added note about Edge to Exclusive mode error message","* Fixed app crash when TaskService COM objects don't work. Contribution by **mika-n**"],"editor":"ryochan7","editors_note":["Nothin"],"updated_at":"2020-09-02T06:37:47+0000"}]},{"version_str":"2.1.7","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":7},"base_header":"Version 2.1.7","release_date":"2020-08-30T03:59:05+0000","locales":[{"code":"en","header":"Version 2.1.7","log_text":["* Fixed 'index out of bounds' error for localization string when default profile is not found. Contribution by **mika-n**","* Updated build script to bundle newer translation packs","* Updated Spanish translation. Contribution by **peter9811**"],"editor":"ryochan7","editors_note":["Minor fixes"],"updated_at":"2020-08-30T03:59:05+0000"}]},{"version_str":"2.1.6","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":6},"base_header":"Version 2.1.6","release_date":"2020-08-29T05:53:41+0000","locales":[{"code":"en","header":"Version 2.1.6","log_text":["* Removed LBRY social link and resources","* Allow setting a custom executable file for DS4Windows.exe","* Changed CONFIG_VERSION to 4. Start of profile migration support","* Added 1 Euro Filter smoothing for Gyro Mouse and Gyro Mouse Joystick output modes","* Bump up Gyro Mouse offsets","* Apply 1 Euro filter to calculated rotation angle from 360 Steering Wheel mode rather than each accel axis value","* Fixed locatiztion bug in the input custom bezier curve string value. Contribution by **mika-n**","* Added support for three specialist PS4 controllers. Contribution by **tpneill**","* Increased scale multiplier used for Gyro Mouse","* Changed translation string for 'save' in German translation. Contribution by **Haamar**","* Dutch translation added. Contribution by **RedDevilus**","* French translation added. Contribution by **RedDevilus**","* Only call RefreshVolume when the DS4Audio device is detected","* App can now find a unified USB device tied to the DS4 HID and audio devices. DS4Windows no longer relies on string name to match audio devices","* Increased minimum headphone volume","* Added new Chinese (Traditional, Taiwan) translation. Contribution by **SyaoranChang**","* Fixed issue with wrong window position data being saved while window is minimized","* Now show battery level for controller plugin tray message","* Added current battery level from DS4State object to Controller Readings. Used to diagnose if BatteryChanged events are not firing in main window","* Change profile save routine to allow dots in profile name","* Escape underscores in profile names for some GUI controls. Needed to disable access key usage in some GUI controls","* Fixed sides for Test Rumble in Profile Editor","* Allow both rumble motors to be usable simultaneously for Test Rumble","* Dynamically create task.bat file as requested. Allows a custom exe filename to be written to the file","* Reset button mappings when a special action is triggered","* Updated app manifest file to specify confirmed compatible versions of Windows","* Now log current exe filename to Log file. Just the base filename not the whole path","* Updated DS4Updater.exe to version 1.4.3"],"editor":"ryochan7","editors_note":["Long Changelog this time around"],"updated_at":"2020-08-29T06:36:00+0000"}]},{"version_str":"2.1.5","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":5},"base_header":"Version 2.1.5","release_date":"2020-08-07T15:43:44+0000","locales":[{"code":"en","header":"Version 2.1.5","log_text":["* New 'Query' cmdline options to return profile and DS4Windows app properties to a 3rd party app or batch scripts. Contribution by **mika-n**","* Fixed Gyro Mouse Joystick invert options","* Added OneEuroFilter class to project","* Added 1 Euro Filter options to 360 Steering Wheel mode","* Disable profile name textbox when editing an existing profile","* Abstract portion of resource URI strings","* Added max output throttling option to Gyro Mouse Joystick","* Quick change to not persist auto profile messages to the log file","* Added small wrapper for ReaderWriteerLockSlim objects","* Display Gyro Mouse Joystick anti-dead zones as percentages","* Take special action for certain keys in RecordBox when WPF does not transmit a KeyDown event","* Added RWin button handling in mapping window","* Added Parler Social link in About window","* Added GitHub Issue template to Git repository","* Added minimum threshold for Gyro Mouse Joystick","* Set neutral resource language for assembly","* Disabled force feedback support for virtual DS4 controllers"],"editor":"ryochan7","editors_note":["Still nothin"],"updated_at":"2020-08-07T15:43:44+0000"}]},{"version_str":"2.1.4","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":4},"base_header":"Version 2.1.4","release_date":"2020-07-04T18:07:41+0000","locales":[{"code":"en","header":"Version 2.1.4","log_text":["* Fixed app crash when No is selected in UAC confirm window","* Make sure to cache profile flags after changing Steering Wheel axis in Profile Editor","* Force permanent output device removal on service stop","* Added support for Astro C40 gamepad. Contribution by **mika-n**","* Fixed Gyro Mouse Turn Behavior setting","* Fixed input bound flag updating for output slots","* Changed Exclusive Mode check to take HidGuardian support into account. Key icon will appear for devices affected by HG","* Added preset menu for face buttons. Finally wanted that option back.","* Re-enabled lightbar color change for output DS4 force feedback routine","* Fixed output slot active flag when switching device types","* Made changes to allow LastVersionChecked to be an optional element in config file","* Raised default stick mouse offset","* Fixed spelling mistake in DE translation file. Contribution by **Flo082002**","* Changed gamepad latency log message to show current latency measurement. Contribution by **dondrakon**","* Raised Square Stick Roundness max value to 1000.0","* Use BeginInvoke for changing properties for permanent device manipulation. Keeps EventDispatcher actions in order","* Reset state of permanent device when unbinding an input device","* Fixed NumPadEnter binding in Binding Window","* Bundled HidNinja v.0.2.1 HidGuardian management program"],"editor":"ryochan7","editors_note":["I got nothin"],"updated_at":"2020-07-04T18:07:41+0000"}]},{"version_str":"2.1.3","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":3},"base_header":"Version 2.1.3","release_date":"2020-06-17T02:14:15+0000","locales":[{"code":"en","header":"Version 2.1.3","log_text":["* Updated to use newer version of ViGEm.NET client libraries","* Correct feature configuration for Hori PS4 Mini controller. Contribution by **sergejkiller**","* Finally removed AnyCPU targets from solution","* Added extra null check safeguard for output slots","* Finally re-enabled Controller Readings tab from Profiles list","* Finally removed support for old Flush HID option","* Improved UI markup in Profile Editor window. Contribution by **dondrakon**","* Add some extra Japanese translation string. Contribution by **stryblt**","* Added config version number to profiles","* Change to bundle DE lang assembly pack","* Added app_version attr to profiles","* Added extra exception catch to safeguard against corrupt XML files","* Changed Profile Editor to not change virtual devices during loading","* Changed Check Updates default interval to 1 Day rather than 1 Hour","* Add Apply button on profile settings window. Contribution by **dondrakon**","* Added Chinese Simplified translation. Contribution by **mayawei**","* Allow skipping a version update from Updater Window","* Added link for HidNinja program in Settings tab","* Bundled HidNinja v.0.2 HidGuardian management program","* Added app_version attr to main config file"],"editor":"ryochan7","editors_note":["Burnout"],"updated_at":"2020-06-17T02:14:15+0000"}]},{"version_str":"2.1.2","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":2},"base_header":"Version 2.1.2","release_date":"2020-06-02T00:40:16+0000","locales":[{"code":"en","header":"Version 2.1.2","log_text":["* Added architecture info to log","* Added option to specify permanently connected output devices","* Added extra check before sending output reports to virtual device"],"editor":"ryochan7","editors_note":["Should work"],"updated_at":"2020-06-02T00:40:16+0000"}]},{"version_str":"2.1.1","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":1},"base_header":"Version 2.1.1","release_date":"2020-05-15T19:39:08+0000","locales":[{"code":"en","header":"Version 2.1.1","log_text":["* Changed type of output report transmitted to DS4 in BT. Now use report type 0x15 (previously 0x11)","* Added extra data transmission flag to output report","* Changed thread affinity of hidDevice object. Link with initial high priority thread","* Use a Dispatcher instance for managing the OutputSlotManager rather than Tasks","* Changed how a running output slot queue is specified","* Initial mouse offset refactors. Base mouse offset on percentage of full speed. Defaults to 0.500","* Make button mouse offset a profile setting","* Set MinWidth and MinHeight values for the main window. Contribution by **dondrakon**","* Group some button mouse fields into a class. Reduces getter calls","* Show minimum effective mouse speed in GUI","* Put OS Info in log. Will be useful for debugging","* Removed chance for a dead lock when stopping input controllers. Luckily I have never encountered it","* Fixed a bug where a shiftKey macro accidentally saved HoldMacro and Macro status values. Contribution by **mika-n**","* Fixed debug x86 project target by enabling the Allow Unsafe Code project setting. Contribution by **mika-n**"],"editor":"ryochan7","editors_note":["Might have missed some changes from commits in other branches"],"updated_at":"2020-05-15T19:39:08+0000"}]},{"version_str":"2.1","version_number_info":{"majorPart":2,"minorPart":1,"buildPart":0},"base_header":"Version 2.1","release_date":"2020-05-02T17:26:38+0000","locales":[{"code":"en","header":"Version 2.1","log_text":["* Fixed possible sign flip issue with radial output curves","* Fixed NaN problem when radial cap is 0. Fixes output curve coordinate issues on the extreme low end","* Support for various non-standard DS4 gamepads which behave in BT just like USB connected DS4. Contribution made by **mika-n**","* Made a dedicated updater dialog window","* Added Changelog text to updater window","* Now actively using Newtonsoft Json.NET library","* Added Markdown.XAML library","* Fixed a few networking issues when pulling new version info","* Minor optimization of Controller Readings tab. Moved state copying outside of UI thread","* Updated UDP server to call the semaphore release on socket complete event","* Added German translation files. Changes made by **Flo082002**","* Added small log message stating whether running as Admin or User. Useful info when dealing with SendInput problems","* Fixed bug with 360 Steering Wheel output. Now two DS4 gamepads can be properly mapped to different VJoy output device axes"],"editor":"ryochan7","editors_note":["First version with Changelog info. Hope this works. Fingers crossed."],"updated_at":"2020-05-02T17:10:57+0000"},{"code":"jp","header":"Version 2.1","log_text":["* Fixed possible sign flip issue with radial output curves","* Fixed NaN problem when radial cap is 0","* Support for various non-standard DS4 gamepads which behave in BT just like USB connected DS4. Contribution made by **mika-n**","* Made a dedicated updater dialog window","* Added Changelog text to updater window","* Now actively using Newtonsoft Json.NET library","* Added Markdown.XAML library","* Fixed a few networking issues when pulling new version info","* Minor optimization of Controller Readings tab. Moved state copying outside of UI thread","* Updated UDP server to call the semaphore release on socket complete event","* Added German translation files. Changes made by **Flo082002**","* Added small log message stating whether running as Admin or User. Useful info when dealing with SendInput problems","* Fixed bug with 360 Steering Wheel output. Now two DS4 gamepads can be properly mapped to different VJoy output device axes"],"editor":"ryochan7","editors_note":["TODO: Make some form of translation later"],"updated_at":"2020-05-02T17:10:57+0000"}]}]}}