File: CHANGELOG.md

package info (click to toggle)
ruby-memoizable 0.5.1-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 296 kB
  • sloc: ruby: 1,052; makefile: 4
file content (107 lines) | stat: -rw-r--r-- 3,236 bytes parent folder | download
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# 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.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.5.1] - 2026-03-03

### Fixed

- Include RBS signature file in gem package

## [0.5.0] - 2026-02-09

### Added

- `Memory#delete` method to remove a specific memoized value from cache
- `Memory#clear` method to remove all memoized values from cache
- `Memory#fetch` now accepts an optional default argument
- Steep for static type checking
- Mutant for mutation testing
- RuboCop and Standard Ruby for linting
- YARD and Yardstick for documentation coverage
- GitHub Actions CI pipeline (replacing Travis CI)
- GitHub Actions workflow for publishing gems to RubyGems with Sigstore attestation

### Changed

- Renamed `Memory#[]=` to `Memory#store`
- `ModuleMethods#memoize` now raises `ArgumentError` when method is already memoized
- Memoization cache now uses composite keys `[class, method_name]` to support inheritance ([#13](https://github.com/dkubb/memoizable/issues/13))
- Replaced `thread_safe` gem dependency with Ruby's built-in `Monitor`

### Removed

- `Memory#key?` method
- `ModuleMethods#memoized?` method
- `ModuleMethods#included` method
- `thread_safe` gem dependency

## [0.4.2] - 2014-03-27

### Changed

- Updated `thread_safe` dependency to use semantic versioning compatible version

## [0.4.1] - 2014-03-04

### Added

- Support for Ruby 2.1.0

### Changed

- Updated `thread_safe` dependency to ~> 0.2.0

## [0.4.0] - 2013-12-24

### Added

- `Memory#marshal_dump` and `Memory#marshal_load` methods for Marshal serialization support ([#10](https://github.com/dkubb/memoizable/issues/10))

## [0.3.1] - 2013-12-18

### Changed

- Added double-checked locking to `Memory#fetch` for improved thread safety

### Removed

- Unnecessary `Memory#set` method

## [0.3.0] - 2013-12-15

### Added

- Thread-safe memory operations using `thread_safe` gem
- `BlockNotAllowedError` raised when passing a block to memoized methods
- `ModuleMethods#included` to allow module methods to be memoized

### Changed

- Memory is now shallowly frozen after initialization

## [0.2.0] - 2013-11-18

### Added

- Core memoization functionality
- `Memoizable::MethodBuilder` for memoized method creation
- `InstanceMethods#memoize` to manually set memoized values
- `InstanceMethods#freeze` support for frozen objects
- `ModuleMethods#unmemoized_instance_method` to access original method
- Thread-safe cache using `ThreadSafe::Cache`

[Unreleased]: https://github.com/dkubb/memoizable/compare/v0.5.1...HEAD
[0.5.1]: https://github.com/dkubb/memoizable/compare/v0.5.0...v0.5.1
[0.5.0]: https://github.com/dkubb/memoizable/compare/v0.4.2...v0.5.0
[0.4.2]: https://github.com/dkubb/memoizable/compare/v0.4.1...v0.4.2
[0.4.1]: https://github.com/dkubb/memoizable/compare/v0.4.0...v0.4.1
[0.4.0]: https://github.com/dkubb/memoizable/compare/v0.3.1...v0.4.0
[0.3.1]: https://github.com/dkubb/memoizable/compare/v0.3.0...v0.3.1
[0.3.0]: https://github.com/dkubb/memoizable/compare/v0.2.0...v0.3.0
[0.2.0]: https://github.com/dkubb/memoizable/compare/v0.0.0...v0.2.0