123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304 |
- This this the changelog file for the Pothos C++ library.
- Release 0.8.0 (pending)
- ==========================
- API changes:
- - BufferManager: added functionality to specify custom memory allocation
- Additions:
- - Added Pothos::ProxyVector <-> std::vector<Pothos::Label> conversions
- PothosUtil:
- - Added --proxy-environment-info option
- - Added option to print type conversions for a given type
- SIMD support:
- - Added SIMDDispatcherUtils
- - Buffer and vector conversions use SIMD conversion
- - Added utility header that adds SFINAE structs for XSIMD type support
- Build changes:
- - Update to CMake 3.0 style and project config generation
- - Increase the CMake build requirement to version 3.1.0
- Release 0.7.2 (pending)
- ==========================
- Build Changes:
- - undefined linker flags are only used on module builds
- - create interface library to support modern cmake targets
- Release 0.7.1 (2021-01-24)
- ==========================
- - TestDocUtils: fix GCC "unused result" warning
- - Fix std::vector<bool> emplace_back missing
- - Revert BufferAccumulator.cpp from #205
- Release 0.7.0 (2020-07-19)
- ==========================
- Additions:
- - Added PothosUtil --num-trials option for tests
- - Added PothosUtil --list-modules
- - Octal support for muparserx expressions
- API Changes:
- - Added ExceptionForErrorCode exception class with error code
- - New test assert macros for comparisons
- - Added equality operator for Object class to other type
- - Added Block::prepare() API call to be called before work()
- - Callable API support for std::function
- - Added function to query Pothos module search paths
- - Added std::function support for Callable API
- - Added calls setOut/InputAlias() for Topology API
- - Update poco submodule to poco-1.9.0-release
- - OutputPort::getBuffer() returns the exact specified buffer length
- - Added OutputPort::getBuffer() with specified data type variant
- - Version reporting API and build support for loadable modules
- Fixes:
- - Move probe handlers into worker actor - fixes python overload
- - Fixes for circular buffer alias calculation
- Release 0.6.1 (2018-04-30)
- ==========================
- - Fixed BufferPool::get() unique check from buffer refactor work
- - Remove arbitrary argument limit from Callable::opaqueCall()
- - Additional error handling when RemoteServer fails to launch process
- - Added support for PothosUtil to query information about loaded modules
- - Fix for potential overrun in Block Description if the line is empty.
- Release 0.6.0 (2017-12-25)
- ==========================
- - Updated internal poco submodule to poco-1.8.0.1-release
- - Removed deprecated API call OutputPort::popBuffer()
- - Re-implement RingDeque container to use std::allocator
- - Removed previously unused ObjectM class (mutable object)
- - Added Pothos::Util::SpinLockRW for single write, multi-read
- - API changes to Object, Proxy, and Callable interface types
- * Object supports implicit templated convert to target type
- * Proxy supports implicit templated convert to target type
- * Deprecated Callable interface's callVoid(), use call()
- * Deprecated Callable interface's callObject(), use call()
- * Deprecated Proxy interface's callVoid(), use call()
- * Deprecated Proxy interface's callProxy(), use call()
- - Automatic slots for all void calls in Block::registerCallable:
- Previously calls with 1 or more arguments became automatic slots.
- The new rule checks for void return type and supports calls
- without arguments. In addition registerSlot() will not throw
- when registering slots that were created automatically.
- - Renamed the project repo from pothos to PothosCore
- - Updated toolkit/submodule URLs for repo rename
- - Renamed pothos-gui toolkit to PothosFlow
- - Renamed pothos-sdr toolkit to PothosSoapy
- - Alternative JSON C++ library to handle JSON parsing/emitting
- Release 0.5.1 (2017-08-16)
- ==========================
- - Fixed buffer inlining corner case for amalgamated multi-buffers
- - Moved cmake modules into subdirectory to hide them from cmake's
- default project search path when cloned in user's home directory
- - Fix for doc parser and getline for windows newlines
- - Added missing functional include for Remote/Server.cpp
- - Exception handling for EvalEnvironment::registerConstantObj()
- - Fixed memory leak in Util FileLock implementation
- Release 0.5.0 (2017-04-27)
- ==========================
- - BlockEval API changes to support GUI evaluator
- - DocUtils API changes to support GUI docs query
- - Removed the pothos-serialization dependency and
- replaced it with a much smaller in-library solution.
- The serialization format has changed for this release.
- - Switch stdio to end of line flushing for logging
- - Added Plugin path API for concatenating two paths
- - Added API for parsing sources for block descriptions
- - Created configuration-file based loader for plugins:
- - With built-in loader for JSON topologies
- - With built-in loader for JIT compilation
- - With built-in loader for block descriptions
- - Added PluginModule boolean operator for checking null
- - Reimplemented compiler support around file paths
- - Reimplemented QFormat for simplification and warnings
- Release 0.4.3 (2017-04-23)
- ==========================
- - Fixed RemoteServer process arguments for some shells
- - Fix copy/paste typo in DeviceInfoUtils registration
- Release 0.4.2 (2017-01-26)
- ==========================
- - Fix expression parser for nested parenthesized functions
- - Added missing ProxyEnvironment calls to managed registry
- - Added missing BufferChunk calls to managed registry
- - RemoteServer should wait() on process after terminate
- - Added missing Block::isActive to managed registry
- - Fixed typo in PothosConfig.cmake for include check
- - PothosUtil option argument for --proxy-server
- Release 0.4.1 (2016-09-26)
- ==========================
- - Update internal poco submodule to track poco-1.7.5
- - Dynamic environment variables for snappy packages
- - Fixed output port reserve handling for empty managers
- - Fix warnings for doxygen generated documentation
- - Set _DEBUG define when not building under MSVC Debug
- - Bump activity indicator for slots and de/activate
- Release 0.4.0 (2016-08-02)
- ==========================
- Deprecated Framework API calls:
- - Deprecated OutputPort::popBuffer, use popElements
- New Framework API calls:
- - Added OutputPort::setReserve function call
- - Added OutputPort::popElements function call
- - Added OutputPort::getBuffer function call
- - Added InputPort::peekMessage function call
- - Added BlockRegistry::make block proxy factory
- - Added Block::emitSignal to replace callVoid
- - Added DType::fromDType factory method
- - Added BufferChunk::convert into a specified buffer
- General additions and changes:
- - Added set, get, and function call operator to Proxy
- - Support global variables in JSON Topology description
- - BufferChunk management of multiple buffer references
- - Moved EvalEnvironment interface into public headers
- - Library fixes to support compilation on FreeBSD systems
- - Use default debug log level for plugin registry events
- - Allow for plugin module re-initialization after deinit()
- - Fixed weak storage of plugin's associated module object
- - Updated the internal Poco submodule to version 1.7.4
- Release 0.3.3 (2016-05-10)
- ==========================
- - Added conversion for proxy vector to/from numeric matrix
- - Switch to getWildcardAddr() in logger for portability
- - Fix Poco in-tree build support, was missing Poco_FOUND
- - Updated muparserx submodule, contains various fixes
- - CMake POTHOS_SOVER variable cache fix use INTERNAL type
- - Proxy server sets unbuffered on descriptors for printf() users
- Release 0.3.2 (2016-03-06)
- ==========================
- - Use current DLL path to determine the system install root
- - Fixes for POTHOS_MODULE_UTIL destination and install prefix
- - Added conversions between ObjectMap and ObjectKwargs
- - Added CMake ENABLE_* flags for internal dependencies
- Release 0.3.1 (2016-01-01)
- ==========================
- - The reserve only prevents work when all ports fail
- - InputPort::setReserve() only bump for larger setting
- - Renamed BlockEval to fix symbol conflict with GUI
- - Restored pothos-all metapackage for convenience
- - Added pothos (runtime) to libpothos-dev Depends
- - Make spuce submodule optional as a dependency
- - CMakeLists.txt use newer git submodule syntax
- - spuce submodule set to 0.4.2 release tag
- Release 0.3.0 (2015-12-16)
- ==========================
- - Absorbed the pothos-util toolkit into lib/Util
- - Replaced NamedMutex use with FileLock and std::mutex
- - Added templated Q-format/fixed-point conversions
- - Added POTHOS_TEST_CLOSE() for equality with tolerance
- - Support complex integer toString() and conversions
- - Added displayable port alias name to framework APIs
- - Support conditional preview mode in block description parser
- - Applications can cleanup before exit with deinit()
- - Detection logic in input port for queue overflows
- - Added network utils for IPv6 with fall-back support
- - Improved error reporting and formatting for self tests
- - Fixed text fixture symbol declaration for OSX
- - Set library SOVERSION using POTHOS_ABI_VERSION
- - Use requestTermination in server and fix destructor throw
- - RemoteProxyEnvironment reply cache check without blocking
- - Bumped API number to "0.3-0" for serialization changes
- - Re-implement RPC datagram format with embedded length
- - Switch to portable binary Object serialization from EOS
- Release 0.2.2 (2015-12-07)
- ==========================
- - Fix Topology::dumpJSON undefined JSON Object behavior
- - Buffer accumulator pop all front-most consumed buffers
- - Fixed Buffer manager reuse on small consume logic
- - Fixed Pothos Util doc parse bug in use of seekg()
- Release 0.2.1 (2015-08-26)
- ==========================
- - Fix buffer accumulator require circular optimization
- - Support custom multi-dest buffers when domain unspecified
- - JSON stats use block name from flattened hierarchy
- - Cache calls to get buffer manager implementations
- - Install buffer managers skips signal/slot ports
- - Default propagate labels now skips signal ports
- - Support alias paths in block description markup
- - Fixed workInfo element counts to exclude signals/slots
- - Fixed integer parser failure in named ports setup
- - Allow work() operation with unused output ports
- - Created new test suite macro for array equality
- - WorkerActor push downstream only when data available
- - Fix Topology::waitInactive() activity checker
- - Fix input port buffer accumulator total counter
- - Implement SoapySDRConfigVersion.cmake version check
- Release 0.2.0 (2015-06-17)
- ==========================
- - Support /usr/local module installs when root is /usr
- - Support POTHOS_PLUGIN_PATH environment variable
- - Support using system installed version of Poco
- - Serialization switched to portable text archive
- - Topology waitInactive() support for infinite timeout
- - PothosUtil --print-tree renamed to --plugin-tree
- - PothosUtil --self-tests-at combined with --self-tests
- - Fixed automatic port deletion upon disconnection
- - Threading overhaul and performance improvements
- - Topology factory from JSON description
- - Topology supports pass-through flows
- Release 0.1.1 (2015-06-16)
- ==========================
- - Fix temporary file cleanup for unix circular buffer
- - Support openSuSE for automatic LIB_SUFFIX detection logic
- - Pothos build utils set library paths in unix environment
- - Added serialization for built-in proxy container types
- - Fixed circular buffer push front condition when non-empty
- - Fixed Topology::waitInactive() false positive condition
- - Fixed usage of managed buffers for message back-pressure
- Release 0.1.0 (2014-12-21)
- ==========================
- This is the first public release of the Pothos C++ library.
|