Releases: lcm-proj/lcm
v1.5.0
Release 1.5.0
This is primarily a bugfix and maintenance release.
- General
- Several bug fixes
- Fixed general and deprecation warnings on recent versions of Python and Java
- Build system
- Updated CMake to fix warnings
- Docs
- Now built through Sphinx with a ReadTheDocs theme
- Automatically updated and deployed via CI/CD
- Location has moved from https://lcm-proj.github.io/ to https://lcm-proj.github.io/lcm/
- Windows support
- Moved from supporting Visual Studio to supporting a MSYS2 MGW64 environment
- Java
- Version 1.8 or later is now required
v1.4.0
Release 1.4.0
Significant changes:
- Build system
- Switch to CMake
- Add CPack support
- lcm-gen
- Allow arrays to be sized with const values
- C
- Add lcm_subscription_get_queue_size()
- Standardize C/C++ code formatting with clang-format
- C++
- Add support for some C++11 features (lambda subscribe)
- add lcm::Subscription::getQueueSize()
- Go
- Experimental support for golang
- Python
- Add dimensions and typenames fields for better introspection
- lcm-logger
- flush buffers before exiting
- General
- Lots of misc bugfixes
v1.3.1
v1.3.0
Oct 28, 2015
Release 1.3.0
This is primarily a bugfix and maintenance release.
- C# / .NET
- fix lcm-dotnet Close (closes issue #18)
- Windows
- Add socket window size notes in documentation
- Visual Studio build fixes, update to VS2013
- Cygwin build fixes
- C / C++
- Reject invalid multicast addresses
- Use last fragment timestamp instead of first for message timestamping
- binary search bugfix in lcm_eventlog_seek_to_timestamp()
- API changes:
- add FILE* LogFile::getFilePtr()
- void LCM::unbsubscribe() -> int LCM::unsubscribe()
- Python
- Python 3 compatibility bugfixes
- setup.py use subprocess instead of deprecated commands package
- EventLog.seek() use fseeko() not fseek()
- lcm-spy
- misc bugfixes
- fix bitshifting of signed integer types
- lcm-gen
- add --cpp-std option for C++11 support in generated types.
v1.2.1
v1.2.0
Release 1.2.0
This release adds charting to lcm-spy (Andy Barry) and updates the lcm-spy GUI.
This release also marks the official migration of LCM to GitHub. The new site
is https://github.com/lcm-proj/lcm
- C / C++
- Use select() instead of poll() in lcm_mpudpm.c
- lcm-spy
- Add sparklines and charting (Andy Barry), via JChart2d
- Python
- Fix setup.py
- Java
- TCPService convert mutex to read/write lock. Reduces deadlock when
send/receive buffers are full. - Make TCPService interruptible (closes googlecode issue #94)
- TCPService convert mutex to read/write lock. Reduces deadlock when
- lcm-gen
- Fix regression for comments appearing in various places in a type
definition file (closes googlecode issue #97)
- Fix regression for comments appearing in various places in a type
- misc
- Build system cleanups
- Add more unit tests, cleanup existing tests.
- Documentation fixes.
- OS/X
- reduce max packet sizes (closes googlecode issue #99)
- fix test/cpp/Makefile
v1.1.2
This is a bugfix and maintenance release.
C / C++:
- memset struct msghdr to 0 before calling recvmsg (fixes issue #90).
- fix eventlog memory leak when errors occur.
lcm-gen:
- Apply patch from bibocc to fix lcm-gen regression (fixes issue #92).
- fix emit-cpp for the case where it needs to includ both and
. - Resize vector in decode after checking whether the size > 0.
- fix tokenizer regression in parsing empty comment blocks (fixes issue #93).
- Add --version flag.
- Update manpage.
v1.1.1
v1.1.0
Release 1.1.0
General:
- Add "memq://" provider to support unit testing code that uses LCM.
Supported in C, C++, Python, lua, Java.
C:
- lcm_tcpq.c add missing #include <signal.h>
- Add introspection to generated C types
- Increase fragmentation threshold.
- Add lcm_handle_timeout() function
C++:
- Fix emit_cpp for messages that contain a single non-primitive type
- Declare const fields using enums instead of static const int
- Some const correctness
- Add lcm::LCM::handleTimeout() function
Python:
- Add Python3 compatibility
- Add lcm.LCM.handle_timeout() function
- Sub-types are initialized to valid instances instead of None
lua:
- Add handle_timeout() function, deprecate timedhandle()
lcm-logger:
- Remove --auto-split-hours option
- Rename --auto-split-mb option to --split-mb
- Add --rotate option for rotating log files
- Add --quiet option
lcm-gen:
- Add --package-prefix option
- Detect duplicate types in input.
- C emit_hash_recursive function explicit cast result to int64_t (closes #81)
- Detect corrupt log files.
lcm-spy:
- Better drawing of long type names
lcm-logplayer:
- Actually accept -l/--lcm-url optin
misc:
- Add more unit tests
v1.0.0
Release 1.0
This release adds experimental support for Lua (contributed by Tim Perkins)
C:
-
tcpq provider:
- unsubscribe correctly send unsubscribe request to server, not subscribe.
- automatically reconnect when possible.
-
fix lcm_internal_pipe in windows - don't use addrlen param in accept()
-
lcm_coretypes use void casting to avoid unused parameter warning instead of
unnamed parameter. -
Windows: Ignore the return value of setsockopt() when joining the mc group
for the send fd. -
Cast to struct timeval and not GTimeVal when getting packet timestamp.
C# / .NET:
-
replace Dns.GetHostEntry by Dns.GetHostAddresses - should solve problems
with reverse DNS lookupslcm-gen:
-
C
- avoid unused parameter warnings in generated types
-
C#
- emit_csharp in lcm-gen: fix generation of multidimensional arrays
Python:
-
#define Py_RETURN_NONE if it's not already defined (chrismurf).
-
lcm_handle raise IOError if lcm_get_fileno() fails
Java:
-
refactor TCPProvider so that subscriptions are re-sent if the TCP
connection has been restarted.lcm-logplayer-gui:
-
improve low-rate playback performance (Andrew Richardson).