Skip to content

Release v5.0

Latest
Compare
Choose a tag to compare
@tylov tylov released this 12 Jan 21:02
· 15 commits to master since this release

Finally after nearly two years, a new release of STC! It has lots of improvements, new features and bug fixes. There are a number of breaking changes since the last released version, so make sure to check out the version history. Special thanks to all who contributed with PRs, bug reports and suggestions!

New Features in v5.0**

  • New main build system with Meson. Simple Makefile provided as well.
  • New sum type (tagged union), included via algorithm.h
  • New single/multi-dimensional generic span type, with numpy-like slicing.
  • Coroutines now support structured concurrency and symmetric coroutines.
  • Coroutines now support error handling and error recovery.
  • Template parameter i_type lets you define i_type, i_key, and i_val all in one line (comma separated).
  • Template parameters i_keyclass and i_valclass to specify types with _drop() and _clone() functions defined.
  • Template parameters i_keypro and i_valpro to specify cstr, box and arc types (users may also define pro-types).
  • hmap now uses Robin Hood hashing (very fast on clang compiler).
  • Several new algorithms added, e.g. c_filter (ranges-like).
  • A lot of improvements and bug fixes.

What's Changed

  • add cco macro, block style coroutine definition by @liigo in #57
  • Merge in backported code from master by @tylov in #63
  • Dev43 by @tylov in #65
  • Use attribute((unused)) for clang too by @sgraham in #73
  • Remove trailing whitespace by @sgraham in #75
  • singleheader.py fixes for Windows and newer Python by @sgraham in #74
  • Fix issue with cbits_resize overwriting data when shrinking by @thehoustonian in #94
  • Fix arc memory leak by @wmww in #82
  • Detect Clang and Intel compilers for unused attribute. by @Melkor-1 in #89
  • fix some mistake in deq_api.md by @soyoo in #90
  • Add meson build system support by @mochaaP in #98
  • build/meson: fix building as a subproject by @mochaaP in #100
  • ci: add meson build/tests with asan/ubsan/msan by @mochaaP in #101
  • build: misc changes by @mochaaP in #111

New Contributors

Full Changelog: v4.2...v5.0