|
764 | 764 | </label> |
765 | 765 | <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix> |
766 | 766 |
|
| 767 | + <li class="md-nav__item"> |
| 768 | + <a href="#491-unreleased" class="md-nav__link"> |
| 769 | + <span class="md-ellipsis"> |
| 770 | + |
| 771 | + 4.9.1 (unreleased) |
| 772 | + |
| 773 | + </span> |
| 774 | + </a> |
| 775 | + |
| 776 | +</li> |
| 777 | + |
767 | 778 | <li class="md-nav__item"> |
768 | 779 | <a href="#490-2026-01-01" class="md-nav__link"> |
769 | 780 | <span class="md-ellipsis"> |
|
3888 | 3899 |
|
3889 | 3900 |
|
3890 | 3901 | <h1 id="changelog">Changelog<a class="headerlink" href="#changelog" title="Permanent link">¶</a></h1> |
| 3902 | +<h2 id="491-unreleased">4.9.1 (unreleased)<a class="headerlink" href="#491-unreleased" title="Permanent link">¶</a></h2> |
| 3903 | +<p>This release focuses on improving memory management for STL containers and attribute setters.</p> |
| 3904 | +<p>Enhancements: |
| 3905 | +* Support <code>takeOwnership</code> and <code>keepAlive</code> when setting attributes via <code>Arg("value").takeOwnership()</code> and <code>Arg("value").keepAlive()</code> |
| 3906 | +* Add <code>Arg</code> parameter names to all STL container methods for keyword argument support |
| 3907 | +* Add <code>keepAlive</code> support for STL container operations (vector push/insert, set insert, map/multimap store) |
| 3908 | +* Add <code>keepAlive</code> for map/unordered_map/multimap keys to prevent GC of pointer-type keys</p> |
| 3909 | +<p>Bug Fixes: |
| 3910 | +* Fix error when multiple overloaded methods take different types of vectors |
| 3911 | +* Fix type unknown errors when using <code>std::shared_ptr</code> with g++ |
| 3912 | +* Fix CMake <code>_Ruby_DLEXT</code> variable type (string, not path) |
| 3913 | +* Fix crash caused by static variable in keepAlive implementation |
| 3914 | +* Fix incorrect attribute overloading behavior</p> |
3891 | 3915 | <h2 id="490-2026-01-01">4.9.0 (2026-01-01)<a class="headerlink" href="#490-2026-01-01" title="Permanent link">¶</a></h2> |
3892 | 3916 | <p>This release revamps smart pointer support for <code>std::shared_ptr</code> and <code>std::unique_ptr</code>.</p> |
3893 | 3917 | <p>Rice now always creates wrapper classes for smart pointers under the <code>Std</code> module (e.g., <code>Std::SharedPtr≺MyClass≻</code>, <code>Std::UniquePtr≺MyClass≻</code>). These wrapper classes expose methods like <code>empty?</code>, <code>get</code>, <code>swap</code>, and for shared_ptr, <code>use_count</code>. Methods defined on the managed type are automatically forwarded to the wrapper class using Ruby's <code>Forwardable</code> module.</p> |
|
0 commit comments