Lcm Versions Save

Lightweight Communications and Marshalling

v1.5.0

1 year ago

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
  • 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

5 years ago

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

8 years ago

Release 1.3.1

This is primarily a bugfix and maintenance release.

  • Java
    • Fix lcm-java automake for out of source builds
  • Lua
    • Add support for Lua 5.3
  • Python
    • Fix python LCM code generation when a package is not specified
  • General
    • Minor documentation updates

v1.3.0

8 years ago

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

9 years ago

Release 1.2.1

This is a bugfix and maintenance release.

  • Documentation updates
  • lcm-spy
    • Misc bugfixes
    • Fix bug where lcm-spy did not display content of some messages (Johan Widen)
  • Remove jchart2d jar file from INSTALLED_CLASSPATH variable

v1.2.0

9 years ago

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)
  • lcm-gen
    • Fix regression for comments appearing in various places in a type definition file (closes googlecode issue #97)
  • 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

9 years ago

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

9 years ago

This is a bugfix and maintenance release.

Python:

  • Fix multithreading issue

lcm-gen:

  • C / C++ bindings include field comments in generated files.

v1.1.0

9 years ago

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

9 years ago

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 lookups

    lcm-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).