You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
2.9 KiB

  1. # Change Log
  2. All notable changes to Sylvan will be documented in this file.
  3. ## [Unreleased]
  4. ### Added
  5. - The embedded work-stealing framework now explicitly checks for stack overflows and aborts with an appropriate error message written to stderr.
  6. - New functions `sylvan_project` and `sylvan_and_project` for BDDs, a dual of existential quantification, where instead of the variables to remove, the given set of variables are the variables to keep.
  7. ### Changed
  8. - Rewritten initialization of Sylvan. Before the call to `sylvan_init_package`, table sizes must be initialized either using `sylvan_set_sizes` or with the new function `sylvan_set_limits`. This new function allows the user to set a maximum number of bytes allocated for the nodes table and for the operation cache.
  9. ## [1.2.0] - 2017-02-03
  10. ### Added
  11. - Added documentation in the docs directory using Sphinx. Some documentation is removed from the README.md file.
  12. ### Changed
  13. - The custom terminal/leaf API is slightly modified. The `read_binary_cb` has a different signature to remove the dependency upon MTBDD functionality.
  14. - The custom terminal/leaf API functions have been renamed and moved to a separate file.
  15. - Lace has been updated with a new version. The new version has rewritten the hardware locality code that pins worker threads and memory.
  16. ### Fixed
  17. - A bug in `mtbdd_reader_readbinary` has been fixed.
  18. ## [1.1.2] - 2017-01-11
  19. ### Fixed
  20. - The pkg-config file is slightly improved.
  21. - A critical bug in `sylvan_collect` has been fixed.
  22. ## [1.1.1] - 2017-01-10
  23. ### Fixed
  24. - The pkg-config file now includes hwloc as a requirement
  25. ## [1.1.0] - 2017-01-09
  26. ### Added
  27. - This CHANGELOG file.
  28. - Custom leaves can now implement custom callbacks for writing/reading to/from files.
  29. - Implemented GMP leaf writing/reading to/from file.
  30. - Method `mtbdd_eval_compose` for proper function composition (after partial evaluation).
  31. - Method `mtbdd_enum_par_*` for parallel path enumeration.
  32. - LDD methods `relprod` and `relprev` now support action labels (meta 5).
  33. - Examples program `ldd2bdd` now converts LDD transition systems to BDDs transition systems.
  34. - Methods `cache_get6` and `cache_put6` for operation cache entries that require two buckets.
  35. - File `sylvan.pc` for pkg-config.
  36. ### Changed
  37. - The API to register a custom MTBDD leaf now requires multiple calls, which is better design for future extensions.
  38. - When rehashing during garbage collection fails (due to finite length probe sequences), Sylvan now increases the probe sequence length instead of aborting with an error message. However, Sylvan will probably still abort due to the table being full, since this error is typically triggered when garbage collection does not remove many dead nodes.
  39. ### Fixed
  40. - Methods `mtbdd_enum_all_*` fixed and rewritten.
  41. ### Removed
  42. - We no longer use both autoconf makefiles and CMake. Instead, we removed the autoconf files and rely solely on CMake now.