-
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathCHANGELOG
More file actions
68 lines (55 loc) · 2.39 KB
/
Copy pathCHANGELOG
File metadata and controls
68 lines (55 loc) · 2.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.1.3] - 2026-01-12
- Rename repository from slick_object_pool to slick-object-pool (hyphenated naming follows recommended convention)
- Changed export name from slick::slick_object_pool to slick::object-pool
- Refactor repository name in CMake configuration files
- Update documentation and build references to use new repository name
## [0.1.2] - 2025-11-14
### Added
- vcpkg integration
## [0.1.1] - 2025-11-12
### Changed function signitures
- Changed allocate_object() to allocate()
- Changed free_object() to free()
## [0.1.0] - 2025-10-23
### Added
- Initial release of slick_object_pool
- Lock-free multi-producer multi-consumer (MPMC) object pool implementation
- Header-only library design for easy integration
- C++20 compliant implementation
- Cache-line aligned atomic operations to prevent false sharing
- O(1) constant-time allocation and deallocation
- Power-of-2 ring buffer with efficient bitwise indexing
- Automatic heap fallback when pool is exhausted
- Cross-platform support (Windows, Linux, macOS)
- Comprehensive test suite with Google Test
- CMake build system with FetchContent support
- Support for AddressSanitizer, ThreadSanitizer, and UndefinedBehaviorSanitizer
- Type safety with static assertions for trivially copyable types
- Thread-safe operations for concurrent access
- Detailed documentation and usage examples
- MIT License
### Features
- `ObjectPool<T>` class template for type-safe object pooling
- `allocate()` method for O(1) object allocation
- `free()` method for O(1) object deallocation
- `size()` method to query pool capacity
- Namespace: `slick::ObjectPool<T>`
- Include path: `<slick/object_pool.h>`
### Documentation
- Comprehensive README with architecture details
- Usage examples for basic, multi-threaded scenarios
- API reference documentation
- Performance benchmarks and comparisons
- Best practices and limitations guide
- TESTING.md with detailed sanitizer instructions
- DOCUMENTATION.md with implementation details
### Platform Support
- Windows (MSVC, MinGW)
- Linux (GCC 10+, Clang 11+)
- macOS (Clang 11+)
- POSIX-compliant systems
[0.1.0]: https://github.com/SlickQuant/slick_object_pool/releases/tag/v0.1.0