Changelog.txt 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304
  1. This this the changelog file for the Pothos C++ library.
  2. Release 0.8.0 (pending)
  3. ==========================
  4. API changes:
  5. - BufferManager: added functionality to specify custom memory allocation
  6. Additions:
  7. - Added Pothos::ProxyVector <-> std::vector<Pothos::Label> conversions
  8. PothosUtil:
  9. - Added --proxy-environment-info option
  10. - Added option to print type conversions for a given type
  11. SIMD support:
  12. - Added SIMDDispatcherUtils
  13. - Buffer and vector conversions use SIMD conversion
  14. - Added utility header that adds SFINAE structs for XSIMD type support
  15. Build changes:
  16. - Update to CMake 3.0 style and project config generation
  17. - Increase the CMake build requirement to version 3.1.0
  18. Release 0.7.2 (pending)
  19. ==========================
  20. Build Changes:
  21. - undefined linker flags are only used on module builds
  22. - create interface library to support modern cmake targets
  23. Release 0.7.1 (2021-01-24)
  24. ==========================
  25. - TestDocUtils: fix GCC "unused result" warning
  26. - Fix std::vector<bool> emplace_back missing
  27. - Revert BufferAccumulator.cpp from #205
  28. Release 0.7.0 (2020-07-19)
  29. ==========================
  30. Additions:
  31. - Added PothosUtil --num-trials option for tests
  32. - Added PothosUtil --list-modules
  33. - Octal support for muparserx expressions
  34. API Changes:
  35. - Added ExceptionForErrorCode exception class with error code
  36. - New test assert macros for comparisons
  37. - Added equality operator for Object class to other type
  38. - Added Block::prepare() API call to be called before work()
  39. - Callable API support for std::function
  40. - Added function to query Pothos module search paths
  41. - Added std::function support for Callable API
  42. - Added calls setOut/InputAlias() for Topology API
  43. - Update poco submodule to poco-1.9.0-release
  44. - OutputPort::getBuffer() returns the exact specified buffer length
  45. - Added OutputPort::getBuffer() with specified data type variant
  46. - Version reporting API and build support for loadable modules
  47. Fixes:
  48. - Move probe handlers into worker actor - fixes python overload
  49. - Fixes for circular buffer alias calculation
  50. Release 0.6.1 (2018-04-30)
  51. ==========================
  52. - Fixed BufferPool::get() unique check from buffer refactor work
  53. - Remove arbitrary argument limit from Callable::opaqueCall()
  54. - Additional error handling when RemoteServer fails to launch process
  55. - Added support for PothosUtil to query information about loaded modules
  56. - Fix for potential overrun in Block Description if the line is empty.
  57. Release 0.6.0 (2017-12-25)
  58. ==========================
  59. - Updated internal poco submodule to poco-1.8.0.1-release
  60. - Removed deprecated API call OutputPort::popBuffer()
  61. - Re-implement RingDeque container to use std::allocator
  62. - Removed previously unused ObjectM class (mutable object)
  63. - Added Pothos::Util::SpinLockRW for single write, multi-read
  64. - API changes to Object, Proxy, and Callable interface types
  65. * Object supports implicit templated convert to target type
  66. * Proxy supports implicit templated convert to target type
  67. * Deprecated Callable interface's callVoid(), use call()
  68. * Deprecated Callable interface's callObject(), use call()
  69. * Deprecated Proxy interface's callVoid(), use call()
  70. * Deprecated Proxy interface's callProxy(), use call()
  71. - Automatic slots for all void calls in Block::registerCallable:
  72. Previously calls with 1 or more arguments became automatic slots.
  73. The new rule checks for void return type and supports calls
  74. without arguments. In addition registerSlot() will not throw
  75. when registering slots that were created automatically.
  76. - Renamed the project repo from pothos to PothosCore
  77. - Updated toolkit/submodule URLs for repo rename
  78. - Renamed pothos-gui toolkit to PothosFlow
  79. - Renamed pothos-sdr toolkit to PothosSoapy
  80. - Alternative JSON C++ library to handle JSON parsing/emitting
  81. Release 0.5.1 (2017-08-16)
  82. ==========================
  83. - Fixed buffer inlining corner case for amalgamated multi-buffers
  84. - Moved cmake modules into subdirectory to hide them from cmake's
  85. default project search path when cloned in user's home directory
  86. - Fix for doc parser and getline for windows newlines
  87. - Added missing functional include for Remote/Server.cpp
  88. - Exception handling for EvalEnvironment::registerConstantObj()
  89. - Fixed memory leak in Util FileLock implementation
  90. Release 0.5.0 (2017-04-27)
  91. ==========================
  92. - BlockEval API changes to support GUI evaluator
  93. - DocUtils API changes to support GUI docs query
  94. - Removed the pothos-serialization dependency and
  95. replaced it with a much smaller in-library solution.
  96. The serialization format has changed for this release.
  97. - Switch stdio to end of line flushing for logging
  98. - Added Plugin path API for concatenating two paths
  99. - Added API for parsing sources for block descriptions
  100. - Created configuration-file based loader for plugins:
  101. - With built-in loader for JSON topologies
  102. - With built-in loader for JIT compilation
  103. - With built-in loader for block descriptions
  104. - Added PluginModule boolean operator for checking null
  105. - Reimplemented compiler support around file paths
  106. - Reimplemented QFormat for simplification and warnings
  107. Release 0.4.3 (2017-04-23)
  108. ==========================
  109. - Fixed RemoteServer process arguments for some shells
  110. - Fix copy/paste typo in DeviceInfoUtils registration
  111. Release 0.4.2 (2017-01-26)
  112. ==========================
  113. - Fix expression parser for nested parenthesized functions
  114. - Added missing ProxyEnvironment calls to managed registry
  115. - Added missing BufferChunk calls to managed registry
  116. - RemoteServer should wait() on process after terminate
  117. - Added missing Block::isActive to managed registry
  118. - Fixed typo in PothosConfig.cmake for include check
  119. - PothosUtil option argument for --proxy-server
  120. Release 0.4.1 (2016-09-26)
  121. ==========================
  122. - Update internal poco submodule to track poco-1.7.5
  123. - Dynamic environment variables for snappy packages
  124. - Fixed output port reserve handling for empty managers
  125. - Fix warnings for doxygen generated documentation
  126. - Set _DEBUG define when not building under MSVC Debug
  127. - Bump activity indicator for slots and de/activate
  128. Release 0.4.0 (2016-08-02)
  129. ==========================
  130. Deprecated Framework API calls:
  131. - Deprecated OutputPort::popBuffer, use popElements
  132. New Framework API calls:
  133. - Added OutputPort::setReserve function call
  134. - Added OutputPort::popElements function call
  135. - Added OutputPort::getBuffer function call
  136. - Added InputPort::peekMessage function call
  137. - Added BlockRegistry::make block proxy factory
  138. - Added Block::emitSignal to replace callVoid
  139. - Added DType::fromDType factory method
  140. - Added BufferChunk::convert into a specified buffer
  141. General additions and changes:
  142. - Added set, get, and function call operator to Proxy
  143. - Support global variables in JSON Topology description
  144. - BufferChunk management of multiple buffer references
  145. - Moved EvalEnvironment interface into public headers
  146. - Library fixes to support compilation on FreeBSD systems
  147. - Use default debug log level for plugin registry events
  148. - Allow for plugin module re-initialization after deinit()
  149. - Fixed weak storage of plugin's associated module object
  150. - Updated the internal Poco submodule to version 1.7.4
  151. Release 0.3.3 (2016-05-10)
  152. ==========================
  153. - Added conversion for proxy vector to/from numeric matrix
  154. - Switch to getWildcardAddr() in logger for portability
  155. - Fix Poco in-tree build support, was missing Poco_FOUND
  156. - Updated muparserx submodule, contains various fixes
  157. - CMake POTHOS_SOVER variable cache fix use INTERNAL type
  158. - Proxy server sets unbuffered on descriptors for printf() users
  159. Release 0.3.2 (2016-03-06)
  160. ==========================
  161. - Use current DLL path to determine the system install root
  162. - Fixes for POTHOS_MODULE_UTIL destination and install prefix
  163. - Added conversions between ObjectMap and ObjectKwargs
  164. - Added CMake ENABLE_* flags for internal dependencies
  165. Release 0.3.1 (2016-01-01)
  166. ==========================
  167. - The reserve only prevents work when all ports fail
  168. - InputPort::setReserve() only bump for larger setting
  169. - Renamed BlockEval to fix symbol conflict with GUI
  170. - Restored pothos-all metapackage for convenience
  171. - Added pothos (runtime) to libpothos-dev Depends
  172. - Make spuce submodule optional as a dependency
  173. - CMakeLists.txt use newer git submodule syntax
  174. - spuce submodule set to 0.4.2 release tag
  175. Release 0.3.0 (2015-12-16)
  176. ==========================
  177. - Absorbed the pothos-util toolkit into lib/Util
  178. - Replaced NamedMutex use with FileLock and std::mutex
  179. - Added templated Q-format/fixed-point conversions
  180. - Added POTHOS_TEST_CLOSE() for equality with tolerance
  181. - Support complex integer toString() and conversions
  182. - Added displayable port alias name to framework APIs
  183. - Support conditional preview mode in block description parser
  184. - Applications can cleanup before exit with deinit()
  185. - Detection logic in input port for queue overflows
  186. - Added network utils for IPv6 with fall-back support
  187. - Improved error reporting and formatting for self tests
  188. - Fixed text fixture symbol declaration for OSX
  189. - Set library SOVERSION using POTHOS_ABI_VERSION
  190. - Use requestTermination in server and fix destructor throw
  191. - RemoteProxyEnvironment reply cache check without blocking
  192. - Bumped API number to "0.3-0" for serialization changes
  193. - Re-implement RPC datagram format with embedded length
  194. - Switch to portable binary Object serialization from EOS
  195. Release 0.2.2 (2015-12-07)
  196. ==========================
  197. - Fix Topology::dumpJSON undefined JSON Object behavior
  198. - Buffer accumulator pop all front-most consumed buffers
  199. - Fixed Buffer manager reuse on small consume logic
  200. - Fixed Pothos Util doc parse bug in use of seekg()
  201. Release 0.2.1 (2015-08-26)
  202. ==========================
  203. - Fix buffer accumulator require circular optimization
  204. - Support custom multi-dest buffers when domain unspecified
  205. - JSON stats use block name from flattened hierarchy
  206. - Cache calls to get buffer manager implementations
  207. - Install buffer managers skips signal/slot ports
  208. - Default propagate labels now skips signal ports
  209. - Support alias paths in block description markup
  210. - Fixed workInfo element counts to exclude signals/slots
  211. - Fixed integer parser failure in named ports setup
  212. - Allow work() operation with unused output ports
  213. - Created new test suite macro for array equality
  214. - WorkerActor push downstream only when data available
  215. - Fix Topology::waitInactive() activity checker
  216. - Fix input port buffer accumulator total counter
  217. - Implement SoapySDRConfigVersion.cmake version check
  218. Release 0.2.0 (2015-06-17)
  219. ==========================
  220. - Support /usr/local module installs when root is /usr
  221. - Support POTHOS_PLUGIN_PATH environment variable
  222. - Support using system installed version of Poco
  223. - Serialization switched to portable text archive
  224. - Topology waitInactive() support for infinite timeout
  225. - PothosUtil --print-tree renamed to --plugin-tree
  226. - PothosUtil --self-tests-at combined with --self-tests
  227. - Fixed automatic port deletion upon disconnection
  228. - Threading overhaul and performance improvements
  229. - Topology factory from JSON description
  230. - Topology supports pass-through flows
  231. Release 0.1.1 (2015-06-16)
  232. ==========================
  233. - Fix temporary file cleanup for unix circular buffer
  234. - Support openSuSE for automatic LIB_SUFFIX detection logic
  235. - Pothos build utils set library paths in unix environment
  236. - Added serialization for built-in proxy container types
  237. - Fixed circular buffer push front condition when non-empty
  238. - Fixed Topology::waitInactive() false positive condition
  239. - Fixed usage of managed buffers for message back-pressure
  240. Release 0.1.0 (2014-12-21)
  241. ==========================
  242. This is the first public release of the Pothos C++ library.