Skip to content

Releases: mjsottile/sfsexp

v1.4.1 release

24 Mar 07:47
Compare
Choose a tag to compare

Summary

This is a bug fix release that addresses a race condition that can occur in multi-threaded programs when memory management is enabled. In previous versions of the library memory management was enabled by default. This is no longer the case, and it must be enabled explicitly at configure time.

Explanation of bug: The global variables used for caching and reusing allocated structures and the functions that manipulate them do not currently protect critical sections to guarantee atomicity which can lead to failures in multithreaded programs. The current fix is to disable memory management by compiling with the _NO_MEMORY_MANAGEMENT_ directive such that the thread-unsafe code must be enabled explicitly. The unsafe code may be removed in future releases if performance evaluation determines that it is a legacy feature that no longer provides a tangible performance benefit. If it does provide a measurable benefit, a thread-safe fix will be implemented.

What's Changed

  • include LICENSE_LGPL in the distribution archive by @mjg in #20
  • few fixes to run test_builds.sh by @ether42 in #22
  • enable NO_MEMORY_MANAGEMENT by default by @ether42 in #23

New Contributors

Full Changelog: v1.4.0...v1.4.1

v1.4.0

26 May 05:35
Compare
Choose a tag to compare

Updates

  • updates to build and installation process, pkg-config
  • rename package from sexpr to sfsexp to avoid confusion
  • documentation updates
  • additional UTF-8 tests
  • removal of archaic code that is no longer necessary
  • fix for sexp_to_dotfile looping on empty lists
  • update sexpvis.c to add arguments

Pull request changes

New Contributors

Full Changelog: v1.3.1...v1.4.0

v1.3.1

29 May 09:17
Compare
Choose a tag to compare

Update with:

  • print_sexp bug fix for insufficient space issue
  • missing files from distribution for test cases
  • updated README

v1.3

05 Mar 09:06
ad589f9
Compare
Choose a tag to compare

Most recent release, from 2013. Moved to github 3-5-2018.