forked from medikoo/memoizee
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES
94 lines (76 loc) · 3.61 KB
/
CHANGES
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
v0.3.9 -- 2015.08.04
* Update dependencies
* Improve documentation
* FIx spelling of LICENSE
v0.3.8 -- 2014.10.08
* Introduce WeakMap based `weak` mode
v0.3.7 -- 2014.08.14
* Fix prefetch support for asynchronous functions (#19)
* Configure lint scripts
v0.3.6 -- 2014.07.28
* Fix race condition issue related to clear/delete calls and returning id's (#18)
* Fix maxAge major cache handling issue (on timeout instead of individual record whole cache was
cleared)
v0.3.5 -- 2014.07.07
* Fix internal id genaration, for primitive, length = 1 case.
Ids were not serialized to strings, and that caused issues with other
internal logiv, which e.g. treated `null` case specifically.
Fixes #15 (Thanks @isaacg for reporting)
v0.3.4 -- 2014.06.22
* Fix async handling in case of clear between two async calls
(assurance of unique cache ids solves that). Fixes #13
v0.3.3 -- 2014.05.12
* Fix profiler special property definition
v0.3.2 -- 2014.05.01
* Provide no-arguments memoization out of a box
(no need to provide normalizer to `memoizee/plain`)
v0.3.1 -- 2014.04.27
* Update package.json to use latest 'tad' engine (fixes tests evaluation)
v0.3.0 -- 2014.04.27
Major reorganization and partial refactoring
* Move out main modules from lib folder
* Introduce normalizer based memoization. Primitive and regular handlers were converted into
dedicated normalizers (located in lib/normalizers folder). Custom normalizers can be provided at
run time via `normalizer` option.
* Provide 'plain' module which does not import (require) any extensions or normalizers. Thanks to
that it's lighter for e.g. client-side bundle. Any extensions that are expected to be used should
be required upfront, normalizers should be provided via `normalizer` option.
* Rename `memoized.clear` into `memoized.delete`, and `memoized.clearAll` into `memoized.clear`
* Rename `memoized.clearRef` into `memoized.deleteRef` (applies to 'refCounter' option)
* Remove 'method' option. Instead 'methods' and 'methods-plan' modules are provided which generate
descriptors for lazy created memoized methods.
* 'profile' is no longer an extension. It's provided as dedicated module.
* Clean up logic for `async` handling
* Take out 'max' extension's LRU logic into external `lru-queue` package.
See https://github.com/medikoo/lru-queue
* Remove possibility to access original arguments when resolvers are used
* Assure expected length of memoized functions
* Remove Makefile (it's environment agnostic package)
v0.2.6 -- 2013.10.08
* Fix internal events propagation when handling async calls that
resolve with errors. `asyncpurge` was emitted for values that had no
`asyncinit` emitted. Issue #9
v0.2.5 -- 2013.06.21
* Fix primitive handling for dynamic arguments length
v0.2.4 -- 2013.03.23
* Throw on circular invocations, they cannot be memoized as intended.
v0.2.3 -- 2012.10.04
* Fixed serious bug related to not properly cleared cache when working in
regular mode
v0.2.2 -- 2012.10.03
* preFetch functionality for maxAge variant
* Prevent memoization of already memoized functions
v0.2.1 -- 2012.09.21
* Fix missing global reference in method option logic
* Fix variable visibility in async option logic
* Lint cleanup
v0.2.0 -- 2012.09.21
* Modularization and general algorithm cleanup
* Cache is limited (max option) using LRU instead of FIFO algorithm
* Improved async mode, and its handling by other options
v0.1.1 -- 2012.09.19
* Fix dispose invocations for no arguments call
* Small documentation improvements
v0.1.0 -- 2012.09.18
* Initial. Derived from es5-ext package and added `async`, `maxAge`,
`refCounter`, `max` and `dispose` options.