Skip to content

ArrayList v1.0.8 Arduino Edition

Latest

Choose a tag to compare

@braydenanderson2014 braydenanderson2014 released this 25 Jul 07:10
· 16 commits to main since this release
08759dd

What's Changed

Changelog

1.0.8

  • Fixed operator[] undefined behavior by returning a reset static default reference for out-of-bounds access.
  • Fixed getReference() shared static corruption by resetting the fallback value on each out-of-bounds call.
  • Fixed sort() so the selected algorithm path receives the comparator correctly.
  • Restored merge sort to respect the user-supplied comparator.
  • Fixed quicksort partitioning so it matches the documented comparator contract.
  • Guarded sort(), bubbleSort(), and quickSort() against empty and single-element lists.
  • Guarded begin() and end() so they no longer dereference the backing array and are safe for empty or zero-capacity buffers.
  • Initialized sortAlgorithm in the constructor.
  • Copied initialSize and sortAlgorithm in the copy constructor and assignment operator.
  • Made copy assignment allocate the new buffer before replacing the old one.
  • Replaced bulk-copy and growth paths with element-by-element assignment where needed to preserve non-trivial copy semantics.
  • Changed clear() to preserve capacity instead of reallocating.
  • Added null checks to the active growth and capacity-management paths.
  • Hardened resize1() and resize2() so zero-capacity and one-capacity lists can still grow.
  • Fixed bulk add/insert paths so they continue resizing until enough capacity exists.
  • Added and updated regression tests for bulk growth, sorting, iterator safety, and resize edge cases.
  • Reworked the README into a full library document with overview, install/update instructions, support links, badge placeholders, API reference, and changelog.
  • Updated package metadata for Arduino Library Manager and PlatformIO publishing.
  • Bumped version to 1.0.8 to align with Platformio Version.

These changes should ensure stable and reliable behavior from the Arraylist class. If you have any problems, please file a report. Just note any report filed on this repository will be closed and transferred to the main repository.