changelog.rst 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395
  1. :github_url: https://github.com/gopro/OpenGoPro/tree/main/demos/python/sdk_wireless_camera_control
  2. =========
  3. Changelog
  4. =========
  5. All notable changes to this project will be documented in this file.
  6. The format is based on `Keep a Changelog <https://keepachangelog.com/en/1.0.0/>`_,
  7. and this project adheres to `Semantic Versioning <https://semver.org/spec/v2.0.0.html>`_.
  8. 0.21.2 (June-26-2025)
  9. ---------------------
  10. * Fix wireless webcam demo
  11. 0.21.1 (June-26-2025)
  12. ---------------------
  13. * Add user streaming guidance to webcam demo
  14. 0.21.0 (June-25-2025)
  15. ---------------------
  16. * Support WiFi connecting on MacOS >= 15
  17. * Clean up streaming demos
  18. 0.20.2 (May-30-2025)
  19. --------------------
  20. * Fix COHN feature to handle cameras that do not support COHN
  21. 0.20.1 (May-15-2025)
  22. --------------------
  23. * Add stream feature abstraction and update stream demos
  24. 0.20.0 (May-12-2025)
  25. --------------------
  26. * NOTE! This is a major update and includes breaking API changes
  27. * Major refactor to support any combination of network interfaces for WirelessGoPro
  28. * Add observable / observer base type and use for asynchronous push notification operations
  29. * Maintain database of COHN credentials
  30. * Remove Python 3.10 and add 3.13 support
  31. 0.19.8 (April-30-2025)
  32. ----------------------
  33. * Default ainput printer arg to None to support non-terminal applications without access to stdout
  34. 0.19.7 (April-28-2025)
  35. ----------------------
  36. * Add Reboot Command
  37. * Hardcode bypass_eula_check to True to allow connecting to networks without internet access.
  38. * Add scheduled capture setting (and support for other future quantitative settings)
  39. 0.19.6 (April-8-2025)
  40. ---------------------
  41. * Update dependencies
  42. * Fix register / unregister all settings / statuses
  43. 0.19.5 (March-27-2025)
  44. ----------------------
  45. * Fix race condition in BLE opening
  46. * Set third party when opening device
  47. * Add more detailed advertisement data parsing capability
  48. * Add 4:3 and 16:9 preset enums
  49. * Use constant setting IDs when getting presets
  50. 0.19.4 (March-21-2025)
  51. ----------------------
  52. * Inject BLE keep alive and set the default to 3 seconds
  53. * Make WiFi connect and disconnect async methods
  54. 0.19.3 (March-20-2025)
  55. ----------------------
  56. * Fix BLE Keep alive
  57. 0.19.2 (March-19-2025)
  58. ----------------------
  59. * Allow more configurability in wifi open / close
  60. 0.19.1 (March-18-2025)
  61. ----------------------
  62. * Add encode argument for set_livestream_mode
  63. 0.19.0 (February-20-2025)
  64. -------------------------
  65. * Major settings and status API changes to use auto-generated code
  66. 0.18.0 (January-7-2025)
  67. -----------------------
  68. * Change supported Python versions to >= 3.10 and < 3.13
  69. 0.17.1 (September-13-2024)
  70. --------------------------
  71. * Fix COHN demo
  72. * Fix livestream demo CLI argument parsing
  73. * Add `raw` field to MediaList object
  74. 0.17.0 (September-9-2024)
  75. -------------------------
  76. * Add Hero 13 support (settings, statuses, protobuf)
  77. * Fix MacOS Wifi scanning
  78. * Major infrastructure updates
  79. 0.16.2 (July-18-2024)
  80. ---------------------
  81. * Add Setting 125
  82. * Don't default to hardcoded parameters for set livestream mode
  83. * Fix routing for Get All Setting / Status commands
  84. 0.16.1 (April-23-2024)
  85. ----------------------
  86. * Always use extended headers
  87. * Add Delete Media HTTP API's
  88. * Add port argument to Preview Stream HTTP API
  89. * Only ask for sudo password when required
  90. * fix WiFi connection on RHEL based systems
  91. 0.16.0 (April-9-2024)
  92. ---------------------
  93. * Refactor all network operations to operate on common Message class
  94. * Add PUT Operation support
  95. * Add Custom Preset Update
  96. * Update Bleak to 0.21.1
  97. 0.15.1 (December-6-2023)
  98. ------------------------
  99. * Fix livestream demo.
  100. 0.15.0 (December-6-2023)
  101. ------------------------
  102. * Add alpha support for COHN (Camera-on-the-Home-Network)
  103. * A real implementation is going to require a major rearchitecture to dynamically add connection types.
  104. * Remove TKinter GUI. Will be replaced with Textual TUI in the future
  105. * Improve wifi SSID matching
  106. * Fix unhashable pydantic base models
  107. 0.14.1 (September-21-2023)
  108. --------------------------
  109. * Fix BLE notifications not being routed correctly
  110. * Don't hardcode media directory. Also append directory to filenames in media list.
  111. * Fix malformed Set Setting HTTP url
  112. 0.14.0 (September-13-2023)
  113. --------------------------
  114. * NOTE! This is a major update and includes massive API breaking changes.
  115. * Move to asyncio-based framework
  116. * Add HERO 12 support
  117. * Move from generic response to per-command typed response
  118. * Improve video viewer latency
  119. * Improve BLE and HTTP setting documentation
  120. * Add media list and metadata pydantic models
  121. 0.13.0 (February-24-2023)
  122. -------------------------
  123. * Allow for GUI dependencies to be optional (with "gui" extras)
  124. * Add English language verification for Wifi Driver
  125. * Documentation fixes missed from 0.12.0
  126. * Update dependencies (including bleak to 0.19.5)
  127. 0.12.0 (December-16-2023)
  128. -------------------------
  129. * Add USB support
  130. * Introduces breaking changes of top level interface (i.e. GoPro --> WirelessGoPro / WiredGoPro)
  131. * Includes mDNS discovery of GoPro's
  132. * Add run-time python version verification
  133. * Improve error messaging and documentation around wifi interface issues
  134. * Add livestream demo
  135. * Add webcam demo
  136. * Add message rules for Commands / Settings / Statuses (Fastpass, etc)
  137. 0.11.2 (November-9-2022)
  138. ------------------------
  139. * Update bleak to 0.19.0
  140. * Improve Bluetooth Scan delays
  141. * Add support for Hero 11 Mini
  142. 0.11.1 (October-18-2022)
  143. ------------------------
  144. * Improve Mac Wifi connection robustness
  145. * Fix BLE can ignoring timeout and retry args
  146. 0.11.0 (September-14-2022)
  147. --------------------------
  148. * Add Hero 11 Support
  149. * Add Presets Control Demo
  150. * Refactor all commands to be variadic
  151. * Add API GUI MVC framework
  152. * Protobuf command bug fixes
  153. * Improve API doc generation and docstring verification
  154. * Drop Python 3.8 support
  155. 0.10.0 (July-14-2022)
  156. ---------------------
  157. * Add sudo password argument to Wifi Controller and expose through CLI demos via stdin
  158. * Add more protobuf commands and missing protobuf ID parsing functionality
  159. * Add livestream demo GUI
  160. * Change preview stream demo to be a GUI
  161. * Add support for fragmenting long data packets when sending BLE data
  162. 0.9.2 (June-16-2022)
  163. -----------------------
  164. * Remove use of importlib.metadata as it was complicating pyinstaller use of this package
  165. 0.9.1 (May-27-2022)
  166. -----------------------
  167. * Improve non-main thread and asyncio exception handling
  168. * Add pydocstyle verification
  169. 0.9.0 (February-7-2022)
  170. -----------------------
  171. * Move to Poetry-based development environment
  172. * Fix docstring inconsistencies
  173. 0.8.0 (February-3-2022)
  174. -----------------------
  175. * Improve BLE connection Robustness
  176. * Deprecate support for Open GoPro Versions other than 2.0
  177. * Add set / date time commands
  178. * Implement remaining protobuf commands and fix protobuf parsing
  179. * Add hilight commands
  180. * Implement common UUID type
  181. * Add video performance mode
  182. * Remove deprecated status and setting ID's
  183. 0.7.2 (January-3-2022)
  184. ----------------------
  185. * Allow for WiFi adapter to specify interface
  186. * Clean up Wifi adapter
  187. * Bump test package versions
  188. 0.7.1 (December-16-2021)
  189. -------------------------
  190. * Add global behaviors commands and camera control status
  191. * Add register / unregister all for settings and statuses
  192. * Add max lens setting
  193. * Improve API documentation
  194. 0.7.0 (October-27-2021)
  195. -------------------------
  196. * Add video performance mode functionality
  197. 0.6.3 (October-7-2021)
  198. -------------------------
  199. * Decouple response accumulating from parsing
  200. 0.6.2 (September-28-2021)
  201. -------------------------
  202. * Fix setup.py entrypoints for demo programs
  203. 0.6.1 (September-20-2021)
  204. -------------------------
  205. * make parsers available at instantiation
  206. * use GoPro specific enums to handle invalid parameter cases
  207. * handle HTTP GET errors
  208. * add Construct typing
  209. * update Construct parsers to return actual enum's so identity checks can be used
  210. 0.6.0 (September-2-2021)
  211. ------------------------
  212. * Major refactor to support multiple Open GoPro API versions and different BLE / WiFi adapters
  213. * Improve BLE connection robustness by ensuring disconnects
  214. * Implement Open GoPro Version 2.0
  215. * Major documentation updates
  216. * Add end-to-end testing and improve test coverage
  217. * Upgrade bleak
  218. * Add connect WiFi demos
  219. 0.5.8 (August-10-2021)
  220. ----------------------
  221. * Add option to start GoPro communication without WiFi (i.e only use BLE)
  222. * Add battery logging example
  223. 0.5.7 (June-7-2021)
  224. -------------------
  225. * Fix wifi driver for Windows
  226. 0.5.6 (May-26-2021)
  227. -------------------
  228. * Minor documentation updates
  229. 0.5.5 (May-26-2021)
  230. -------------------
  231. * Documentation link updates
  232. 0.5.4 (May-6-2021)
  233. ------------------
  234. * Update documentation to coexist with jekyll on Github pages
  235. 0.5.3 (April-15-2021)
  236. ---------------------
  237. * Documentation updates
  238. * Move into Open GoPro repo
  239. 0.5.2 (April-2-2021)
  240. --------------------
  241. * Add entrypoints for video, photo, and stream
  242. * Updates to response interface for usability
  243. * Fix Ubuntu Wifi driver scanning
  244. 0.5.1 (April-1-2021)
  245. --------------------
  246. * Add photo, video, and stream entry points
  247. * Change active accumulating response to a dict indexed by UUID's to handle simultaneous active responses
  248. 0.5.0 (March-30-2021)
  249. ---------------------
  250. * Add support for Ubuntu 20.04
  251. * Upgrade to bleak 0.11.0
  252. 0.4.6 (March-29-2021)
  253. ---------------------
  254. * Fix bug where multiple simultaneous sync responses weren't handled
  255. 0.4.5 (March-29-2021)
  256. ---------------------
  257. * Infrastructure updates:
  258. - Move from flake8 to pylint in order to catch missing args in docstrings
  259. - Implement a lot of pylint suggestions
  260. 0.4.4 (March-27-2021)
  261. ---------------------
  262. * Infrastructure updates:
  263. - Add Github actions for CI / CD
  264. - Fix all mypy and flake8 errors
  265. 0.4.3 (March-26-2021)
  266. ---------------------
  267. * Make BLE interface controller-agnostic
  268. 0.4.2 (March-25-2021)
  269. ---------------------
  270. * Fix line endings that were causing PyPi failures
  271. 0.4.1 (March-25-2021)
  272. ---------------------
  273. * Fix install error by adding protobuf requirement
  274. 0.4.0 (March-25-2021)
  275. ---------------------
  276. * Merge BLE and WiFi classes into one GoPro class
  277. * Automatically periodically send keep alive
  278. * Run pydocstyle on docstrings
  279. 0.3.3 (March-22-2021)
  280. ---------------------
  281. * Add support to wait for encoding and system ready statuses in BLE
  282. * Add protobuf framework (not being sent yet)
  283. * Fix Wi-Fi SSID corner cases
  284. 0.3.2 (March-15-2021)
  285. ---------------------
  286. * Handle case where BLE parameter has length 0
  287. * Doc updates
  288. 0.3.1 (March-12-2021)
  289. ---------------------
  290. * Add automatic VLC opening
  291. 0.3.0 (March-11-2021)
  292. ---------------------
  293. * Wrote documentation and did some refactoring
  294. 0.2.0 (March-10-2021)
  295. ---------------------
  296. * first usable Beta package.
  297. * Should work on Windows and Mac
  298. 0.1.x (March-10-2021)
  299. ---------------------
  300. * open_gopro created. Incremental updates until the package could actually install