Skip to content

Releases: lcm-proj/lcm

v1.5.1

23 Dec 19:06
Compare
Choose a tag to compare

Release 1.5.1

  • General
    • Various bug fixes
      • Fixed a bug where -l option didn't work in lcm-logger
      • Fixed a bug where not all compiler flags were being set
      • Fixed a command in the post-install instructions for linux
      • Fixed various compiler warnings
    • Added CONTRIBUTING.md
    • Added documentation for installing LCM
  • Build system
    • No longer built with -Werror flags by default
    • Builds with release flags by default
    • Installed version of libchar-2d will be used if possible, rather than always building from
      source
    • Encoding no longer needs to be set in locale (e.g. the LANG environment variable) in order
      to build the Java component
    • Finding Glib with pkgconfig is now supported
    • Added a missing library for lcm-lua on Windows
    • Added meson build system support for some components
  • Python
    • Minimum required version is 3.7
    • EventLog now supports a Path argument, rather than just a string
    • Added PEP-517 support (users can now pip3 install .)
    • New wheels uploaded to PyPi, which support for newer versions of Python, macOS, and musl-based
      linux (like Alpine)
    • Typing information now supported via a stub file
    • SIGINT no longer produces an exception when shutting down LCM executables installed via a
      wheel
  • lcm-gen
    • Python output uses absolute (package-level) import paths where possible rather than relative
      import paths
    • More comments are included in the generated output for C, C++, Python, and Java
    • The version of lcm-gen is now included in the output
    • Python output now uses the @staticmethod decorator rather than = staticmethod()
    • Python output now exports symbols using Python's redundant alias convention
  • lcm-logger
    • Added --disk-quota option

v1.5.0

19 Apr 18:03
53e68e6
Compare
Choose a tag to compare

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

30 Aug 23:43
Compare
Choose a tag to compare

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

30 Mar 06:55
Compare
Choose a tag to compare

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

28 Oct 16:59
Compare
Choose a tag to compare

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

22 Jan 06:13
Compare
Choose a tag to compare

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

20 Nov 05:48
Compare
Choose a tag to compare

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

21 Sep 04:35
Compare
Choose a tag to compare

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

21 Sep 04:35
Compare
Choose a tag to compare

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

21 Sep 04:34
Compare
Choose a tag to compare

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