Skip to content

Latest commit

 

History

History
896 lines (586 loc) · 55.9 KB

CHANGELOG.md

File metadata and controls

896 lines (586 loc) · 55.9 KB

Changelog

All notable changes to this project will be documented in this file. Dates are displayed in UTC.

Generated by auto-changelog.

  • Updating 'files' in package.json f1820e2

5 July 2024

  • Updating '.npmignore' to ignore umd & minified files in '/dist' c898f8c
  • Generating CHANGELOG.md 4d72e13

5 July 2024

  • Updating '.npmignore' to ignore umd & minified files in '/dist' 8189937
  • Generating CHANGELOG.md f7d238b

5 July 2024

5 July 2024

  • Updating types file #216
  • Bump mocha from 10.5.2 to 10.6.0 #215
  • Bump typescript from 5.5.2 to 5.5.3 #214
  • Bump mocha from 10.5.1 to 10.5.2 #212
  • Bump mocha from 10.5.0 to 10.5.1 #211
  • Bump mocha from 10.4.0 to 10.5.0 #210
  • Bump typescript from 5.4.5 to 5.5.2 #209
  • Bump nyc from 15.1.0 to 17.0.0 #207
  • --- #205
  • Bump rollup from 4.17.1 to 4.17.2 #201
  • Bump rollup from 4.16.4 to 4.17.1 #200
  • Bump rollup from 4.16.3 to 4.16.4 #199
  • Bump rollup from 4.16.1 to 4.16.3 #198
  • Bump rollup from 4.14.3 to 4.16.1 #195
  • Updating dependencies 415fc43
  • Generating CHANGELOG.md 0247396

16 April 2024

  • Update lru.d.ts #193
  • Bump rollup from 4.14.2 to 4.14.3 #194
  • Bump rollup from 4.14.1 to 4.14.2 #192
  • Bump typescript from 5.4.4 to 5.4.5 #191
  • Bump rollup from 4.14.0 to 4.14.1 #189
  • Bump typescript from 5.4.3 to 5.4.4 #188
  • Bump rollup from 4.13.2 to 4.14.0 #187
  • Bump rollup from 4.13.1 to 4.13.2 #186
  • Bump rollup from 4.13.0 to 4.13.1 #185
  • Bump mocha from 10.3.0 to 10.4.0 #184
  • Bump typescript from 5.4.2 to 5.4.3 #183
  • Bump rollup from 4.12.1 to 4.13.0 #182
  • Bump typescript from 5.3.3 to 5.4.2 #181
  • Bump rollup from 4.12.0 to 4.12.1 #180
  • Bump eslint from 8.56.0 to 8.57.0 #179
  • Bump rollup from 4.11.0 to 4.12.0 #178
  • Bump rollup from 4.10.0 to 4.11.0 #177
  • Bump husky from 9.0.10 to 9.0.11 #176
  • Bump rollup from 4.9.6 to 4.10.0 #175
  • Bump mocha from 10.2.0 to 10.3.0 #174
  • Bump husky from 9.0.7 to 9.0.10 #173
  • Bump husky from 9.0.6 to 9.0.7 #172
  • Bump husky from 9.0.1 to 9.0.6 #171
  • Bump husky from 8.0.3 to 9.0.1 #170
  • Bump rollup from 4.9.5 to 4.9.6 #169
  • Bump rollup from 4.9.4 to 4.9.5 #168
  • Bump rollup from 4.9.3 to 4.9.4 #167
  • Bump rollup from 4.9.2 to 4.9.3 #166
  • Bump rollup from 4.9.1 to 4.9.2 #165
  • Bump rollup from 4.9.0 to 4.9.1 #164
  • Bump eslint from 8.55.0 to 8.56.0 #163
  • Bump rollup from 4.8.0 to 4.9.0 #162
  • Bump rollup from 4.6.1 to 4.8.0 #161
  • Bump typescript from 5.3.2 to 5.3.3 #160
  • Bump eslint from 8.54.0 to 8.55.0 #159
  • Bump rollup from 4.6.0 to 4.6.1 #158
  • Bump rollup from 4.5.2 to 4.6.0 #157
  • Bump rollup from 4.5.1 to 4.5.2 #156
  • Bump rollup from 4.5.0 to 4.5.1 #155
  • Bump typescript from 5.2.2 to 5.3.2 #154
  • Bump rollup from 4.4.1 to 4.5.0 #153
  • Bump eslint from 8.53.0 to 8.54.0 #152
  • Bump rollup from 4.4.0 to 4.4.1 #151
  • Bump rollup from 4.3.0 to 4.4.0 #150
  • Bump rollup from 4.2.0 to 4.3.0 #149
  • Bump eslint from 8.52.0 to 8.53.0 #148
  • Bump rollup from 4.1.6 to 4.2.0 #147
  • Bump rollup from 4.1.5 to 4.1.6 #146
  • Bump actions/setup-node from 3 to 4 #145
  • Bump rollup from 4.1.4 to 4.1.5 #144
  • Generated CHANGELOG.md 047189c
  • Version bump, updating copyright date in LICENSE & README.md, building outputs d14a007

29 October 2023

  • Fixing keys() for empty caches db61658
  • Generated CHANGELOG.md 826432c

29 October 2023

  • Bump eslint from 8.51.0 to 8.52.0 #143
  • Bump rollup from 4.0.2 to 4.1.4 #142
  • Bumping devDependency 5274956
  • Refactoring keys() to return an array first to last 3643062
  • Generating CHANGELOG.md 26efa30

10 October 2023

  • Bump rollup from 4.0.0 to 4.0.2 #140
  • Bump eslint from 8.50.0 to 8.51.0 #139
  • Bump precise from 4.0.1 to 4.0.2 #138
  • Bump rollup from 3.29.4 to 4.0.0 #136
  • Bump @rollup/plugin-terser from 0.4.3 to 0.4.4 #137
  • Bump precise from 4.0.0 to 4.0.1 #135
  • Updating .npmignore, version bump e720f07
  • Setting .csj extension on main value as per "Main entry point export" at https://nodejs.org/api/packages.html 345cde5
  • Generating CHANGELOG.md 9f568f9

4 October 2023

  • Returning an essential statement to re-balance the structure, fixes #134 #134
  • Updating README.md 9313e61
  • Version bump to release 362b905
  • Adding a simple test to show how resetTtl should be used for #134 0c1f7c3

29 September 2023

  • Bump rollup from 3.29.3 to 3.29.4 #133
  • Bump rollup from 3.29.2 to 3.29.3 #132
  • Bump eslint from 8.49.0 to 8.50.0 #131
  • Copilot generated tests 1c39644
  • Exporting LRU class for extending, updating the interface for typescript, version bump to release 31c5e7c
  • Adding a precommit hook via husky to run npm test d4e7728

21 September 2023

  • Implementing nyc for code coverage & adding tests to get 100% eb7d2c8
  • Adding more tests c94f446
  • Adding more timeouts 7a3bf0c

20 September 2023

  • Fixing set(), fixes #37 & #75 such that the expiry property would roll forward if the cache is set to reset the ttl (cache-back centric) without impacting the original behavior #37
  • Generating CHANGELOG.md f72b64b

20 September 2023

  • Bump rollup from 3.29.1 to 3.29.2 #130
  • Bump eslint from 8.48.0 to 8.49.0 #129
  • Bump rollup from 3.29.0 to 3.29.1 #128
  • Bump actions/checkout from 3 to 4 #127
  • Bump rollup from 3.28.1 to 3.29.0 #126
  • Bump eslint from 8.47.0 to 8.48.0 #125
  • Bump typescript from 5.1.6 to 5.2.2 #124
  • Bump rollup from 3.28.0 to 3.28.1 #123
  • Bump eslint from 8.46.0 to 8.47.0 #122
  • Bump rollup from 3.27.2 to 3.28.0 #121
  • Bump rollup from 3.27.1 to 3.27.2 #120
  • Bump rollup from 3.27.0 to 3.27.1 #119
  • Bump eslint from 8.45.0 to 8.46.0 #118
  • Bump rollup from 3.26.3 to 3.27.0 #117
  • Bump rollup from 3.26.2 to 3.26.3 #116
  • Bump eslint from 8.44.0 to 8.45.0 #115
  • Bump rollup from 3.26.1 to 3.26.2 #114
  • Bump rollup from 3.26.0 to 3.26.1 #113
  • Bump eslint from 8.43.0 to 8.44.0 #112
  • Bump rollup from 3.25.3 to 3.26.0 #111
  • Bump typescript from 5.1.5 to 5.1.6 #109
  • Bump typescript from 5.1.3 to 5.1.5 #108
  • Bump rollup from 3.25.2 to 3.25.3 #107
  • Bump rollup from 3.25.1 to 3.25.2 #106
  • Bump eslint from 8.42.0 to 8.43.0 #105
  • Bump rollup from 3.24.0 to 3.25.1 #104
  • Bump rollup from 3.23.0 to 3.24.0 #103
  • Bump eslint from 8.41.0 to 8.42.0 #102
  • Bump typescript from 5.0.4 to 5.1.3 #100
  • Bump rollup from 3.22.0 to 3.23.0 #99
  • Bump eslint from 8.40.0 to 8.41.0 #98
  • Bump @rollup/plugin-terser from 0.4.1 to 0.4.3 #97
  • Bump rollup from 3.21.7 to 3.22.0 #95
  • Bump rollup from 3.21.6 to 3.21.7 #94
  • Bump rollup from 3.21.5 to 3.21.6 #93
  • Bump eslint from 8.39.0 to 8.40.0 #92
  • Bump rollup from 3.21.4 to 3.21.5 #91
  • Bump rollup from 3.21.3 to 3.21.4 #90
  • Bump rollup from 3.21.2 to 3.21.3 #89
  • Bump rollup from 3.21.0 to 3.21.2 #88
  • Bump rollup from 3.20.7 to 3.21.0 #87
  • Bump eslint from 8.38.0 to 8.39.0 #86
  • Bump rollup from 3.20.6 to 3.20.7 #85
  • Adding tests for keys() and clear() as per fastify/fastify#4668 (comment) 🚀 6371a50
  • Moving has() into the class and into the README.md (want interop with common primitives), adding entries() & values(), & adding tests 535ff96
  • Generated CHANGELOG.md ac40e9c

19 April 2023

  • Bump rollup from 3.20.5 to 3.20.6 #83
  • Bump rollup from 3.20.4 to 3.20.5 #82
  • Bump rollup from 3.20.2 to 3.20.4 #81
  • Bump @rollup/plugin-terser from 0.4.0 to 0.4.1 #80
  • Bump typescript from 5.0.3 to 5.0.4 #79
  • Bump eslint from 8.37.0 to 8.38.0 #78
  • Adding types to exports, fixes #84 #84
  • Generating CHANGELOG.md a698b7b
  • Updating benchmark.js 30a3d1a

7 April 2023

  • Updating rollup config such that ecma module is '.js' and UMD is 'umd.js', replacing private #has() with equal has(), updating test such that it imports by name, updating package.json such that exports key is present for esm and cjs usage 6a284e6
  • Generating CHANGELOG.md 6e8b7a7

2 April 2023

2 April 2023

  • Revert Map (10.3.0) #76
  • Bump typescript from 5.0.2 to 5.0.3 #73
  • Bump eslint from 8.36.0 to 8.37.0 #72
  • Bump rollup from 3.20.0 to 3.20.2 #71
  • Updating tests to use assert.strictEqual(), moving expiresAt() to alphabetical position 07460a5
  • Building with reverted code 74f21b8
  • Revert "Use Map for faster execution" cc91ecc

23 March 2023

  • Use Map for faster execution #69
  • Bump rollup from 3.19.1 to 3.20.0 #70
  • Version bump to release 024f7ba
  • Generating CHANGELOG.md 27650bc
  • Ensure alphabetic order 146d157

17 March 2023

  • Use faster way for getting unix time #68
  • Bump typescript from 4.9.5 to 5.0.2 #67
  • Add GitHub Actions #64
  • Version bump to release 35cf853
  • Generating CHANGELOG.md b19aa74

13 March 2023

  • Removing private params from set() in README.md - bad things come from this 520d012
  • Generating CHANGELOG.md b813f2d

13 March 2023

  • Next steps #66
  • Creating resetTtl property, updating type def file, updating README.md 583d7b1
  • Version bump to release 399d1fe
  • Generating CHANGELOG.md f22d2bd

13 March 2023

  • Fixing regression from 10.1.0 #65
  • Returning the reassignment of item.expiry to the correct spot in set() & returning test with updated syntax, og code at f4f372b6627e8901c70de6d5975fa7448e03fbc7 8b9a1bc
  • Generating CHANGELOG.md 8e02c09
  • Version bump to release 5dce4bf

13 March 2023

  • Add documentation for optional params #62
  • feat: add option to reset ttl on consecutive cache fill #59
  • Implement getExpirationTime operation #61
  • Updating engines.node to specify 12+ for private method, fixes #60 #60
  • Version bump to release, updating dependencies, updating rollup.config.js, updating years, updating types file 2e43bf9
  • npm run build eb8578e
  • Address code review comments a9a478a

1 November 2022

  • fix: Remove has() from type definition #58
  • Version bump to release, updating CHANGELOG.md ee3e0d5

27 October 2022

  • Changing has() to be private as #has(), updating eslint rules #57
  • Updating CHANGELOG.md 5fdd139
  • Updating CHANGELOG.md d854d0e

5 October 2022

  • Removing browser from package.json to address a webpack interop issue with the dist outputs, adding test-webpack npm script, updating .gitignore 58c5d63

23 September 2022

  • fix: Manual typings with generics #55
  • Version bump to release c185335
  • fix: More accurate types 517ef2d
  • Updating CHANGELOG.md c422fb9

21 September 2022

  • Version bump to release 54b85bf
  • Putting the type file back in root & generated from ./src instead of ./dist 214c487
  • Updating CHANGELOG.md 41a22ae

20 September 2022

  • Updating folder structure & named export #53
  • Generating a new CHANGELOG.md, fixes #51 #51
  • Updating build and changing ./lib to ./dist, removing default export for named lru export, adding .npmignore file 981cc72
  • Generating new .d.ts types file from npm run types script, updating package.json file paths 949dbf8
  • Updating build script such that it executes types script ea2163d

12 March 2022

  • Include missing props in the TypeScript definition #52
  • Updating CHANGELOG.md d5ed34f
  • Updating CHANGELOG.md be2111e
  • Version bump to release 177bbb9

13 February 2022

  • Fix evict() for sizes 0 & 1 #50
  • Updating CHANGELOG.md 29c810c
  • Fixing evict() such that it handles a size of 0 and 1 properly c00f2cb
  • Adding test case for issue #46 39a2161

13 February 2022

  • Removing creeping expiry behavior #49
  • Removing creeping expiry behavior - it's an old flaw that keeps items in cache if accessed (wrong behavior) f2d8953
  • Version bump to release, updating LICENSE.md & README.md years f16fc2e
  • Updating CHANGELOG.md 683f030

6 June 2020

  • Updating CHANGELOG.md 42dc1ba
  • Removing prototype from this.items{} 1ec0ff8

6 June 2020

29 May 2020

  • Revert "Fixing set() bug by assigning expiry in all cases, adding test, fixes #36" #36
  • Updating CHANGELOG.md b879ea4
  • Reverting 7.0.3 due to possibility of items staying in cache forever 65b9270

28 May 2020

  • Moved to using rollup directly instead of tslib-cli #38
  • Bump acorn from 5.7.3 to 5.7.4 #36
  • Add undefined as possible return type from get in TS types #34
  • Fixing set() bug by assigning expiry in all cases, adding test, fixes #37 #37
  • Using auto-changelog to generate a formatted changelog d099c3f
  • Updating dependencies 99ec4ca
  • Updating changelog script to include merges, generating new CHANGELOG 0cc846c

31 October 2019

  • Adds factory function to typings #33
  • Revert "fixes #30: auto generate type definitions from source" #32
  • fixes #30: auto generate type definitions from source #31
  • Create FUNDING.yml #29
  • Merge pull request #32 from avoidwork/revert-31-ts-port #30
  • Revert "fixes #30: auto generate type definitions from source" #30
  • Merge pull request #31 from osdevisnot/ts-port #30
  • auto generate type definitions 6321fa8
  • update dev dependencies 0386635
  • Version bump to release new type definition 1cf5b1d

8 October 2019

  • Modernization Niceties #28
  • Creating changelog npm script & CHANGELOG output f175497
  • update tslib-cli - avoids warning during build ab1d29f
  • Version bump 1890567

26 September 2019

  • Revamp Build Infra for tiny-lru #27
  • start using new build tool fc614a3
  • Version bump to release modernization effort 0672370
  • remove extraneous files from lib d35c2cb

19 September 2019

  • Add typescript signature #26
  • Bump mixin-deep from 1.3.1 to 1.3.2 #24
  • Bump eslint-utils from 1.3.1 to 1.4.2 #23
  • Bump lodash from 4.17.11 to 4.17.14 #22
  • Version bump to release #26, updating dependencies 0814a7f
  • ES6 module d84aead

30 January 2019

  • Add es5 output compiled with babel-preset-env #20
  • Rebuilding so version tag is updated everywhere b230fc8

21 January 2019

  • Initial refactoring to a reorganizing FIFO behavior 525e740
  • Updating benchmark e6e35df
  • Keeping set() DRY f13067c

13 January 2019

  • Fixing duplicate banner in minified files f8b25e8

13 January 2019

  • Version bump for npmjs issue aa6115b

13 January 2019

  • Missed changing calls to this.remove() 37ad9b8

13 January 2019

  • Removing unneeded ops from conditional statements 785f03b

13 January 2019

  • Swapping siguratures of delete() & remove() and adding keys() to get an API closer to a Map (leaving length vs size for now) b347c8e
  • Updating travis-ci.org config to target current unstable & supported/functional stables c0d0fb2

13 January 2019

  • Lower engine requirements to node 6+ #18
  • Version bump to release engine requirement change, updating README & LICENSE copyright years eb5d9fe
  • Updating README c5c362d

31 December 2018

  • Updating README, fixes #17 #17
  • Updating npm ignore file c8c5ab7
  • Version bump to release README changes c515ceb
  • Updating README 7b66c2e

19 December 2018

  • Reverting attribute name change to keep it aligned with common doubly linked list implementations 9302ce1

12 December 2018

  • Removing an unneeded conditional statement & assignment in update path of set() 744b6b9

12 December 2018

  • Fixing assignment of right for of old left 157a61a

12 December 2018

  • Renaming previous to left & next to right for easier left>right mental picture ce8c396
  • Adding tests to validate cache item shape 0ee3265
  • Fixing assigning left of previous first assignment of right from an update in set() 10e4f25

9 December 2018

  • Initial refactor to remove notify functionality 9576b00
  • Reducing code 31bc3eb
  • Fixing call to set(), reducing get(), fixing signature of delete() e1a2032

8 December 2018

  • Fixing assignment of last & adding test 12d7d06

7 December 2018

  • Refactoring set() to avoid ops & fix an assignment 8b6719a

5 December 2018

  • Refactoring set() to not call link() on update 'cause it kills performance hard 42536c7

5 December 2018

  • Fixing relational assignments, fixes #16 #16
  • Prep to fix the other side of the link list c790d38

5 December 2018

  • Fixing pointer drift via set() & keeping it DRY 8f18b83

5 December 2018

  • Fixing mis-assignment of this.last from remove() 6d72db2

5 December 2018

  • Undoing API change as it's breaking things 1a0c3b2

5 December 2018

  • Undoing API change as it's breaking things 5378fdb

5 December 2018

  • Moving reset() into lexical scope & calling from constructor() & clear(), fixing / simplifying remove(), fixes #7 #7
  • Version bump d646940
  • Updating test to validate there is only 1 null next & previous within cache items cd1d926

30 November 2018

  • Fixing a long standing reference error of a pointer being circular ref (key === previous && key === next) 4f2fae5

27 November 2018

  • Fixing factory signature drift 40ea57b

26 November 2018

  • Refactoring remove() to have a third parameter which is called from evict() to minimize lookup 5862111

26 November 2018

  • Reverting change get() such that it calls set(), refactoring set() to add a forth bypass parameter to avoid a call to has() (original goal i think, been too many now), fixes #15 - revisit later to minimize ops properly #15

24 November 2018

  • Fixing a flawed conditional which a modified test helped hide e67d2df

24 November 2018

  • Refactor #14
  • Initial refactoring to have a singular ttl property & no timers 3fc4311
  • Returning state logic, updating test 25088eb
  • Verbose statements, fixing remove() by moving a notify() into a conditional statement when a key is valid, adding benchmark.js for dev purposes c02f7a8

20 November 2018

  • Dropping transpire, major version bump 7a3c9a6

20 November 2018

  • Fixing set() such that it calls evict() 6e35d86
  • Version bump 64e8802

20 November 2018

  • Removing a conditional statement from remove() f321070

20 November 2018

  • Changing the signature of remove(), fixes #13 #13
  • Updating dependencies 1420af2

24 May 2018

  • Fixing leaks due to rushing; changing signature of clearTimer() to accept a second arg, fixing remove() by conditionally clearing the expires timer for a record, fixing reset() by clearing expires, fixing set() to only call setExpires() if enabled & key is new bbbfacb

23 May 2018

  • Creating expire property to remove items regardless of last accessed (ttl), fixes #11 #11

28 March 2018

  • Refactoring remove() to avoid an assignment if not required fb174d7
  • Updating CI config cd8da34

25 March 2018

  • Swapping null for '' as an interim fix for an erroneous null value which collides with remove() - lack of time / this'll solve it for now; no negative impact on bench-lru results df0a745
  • Build artifacts 8708506
  • Updating copyright year, minor tweak to a test 22b0fd5

28 December 2017

  • Adding ttl property to expire stale items 31c832f

13 November 2017

  • Simplifying an assignment (see #10), version bump to release 56488c1
  • Adding more tests to verify deleting the last item doesn't have the same issue as #8 957210d

12 November 2017

  • Fixing a null reference error #10
  • Blocking an erroneous null assignment, fixes #8 #8
  • Updating tests & adding one that deletes the first item in the cache creating a null reference 3e17016
  • Version bump to release c19d67a
  • Updating travis-ci.org configuration 35ea0c6

6 November 2017

  • Reverting Reflect.ownKeys() to Object.keys() because it doesn't need symbols in the enumeration cf6eabf
  • building 6a67f1c

9 October 2017

  • Removing loader script, fixes #6 #6
  • Updating dev dependencies, adding npm lock file 05dff7f
  • Creating reset() & wiring it into clear() and constructor() 9764b4f
  • Updating lock file a3da95d

13 May 2017

  • Correcting the setting of this.first & this.last, updating test, fixes #7 #7
  • Fixing a potential reference error, fixes #7 #7
  • Adding tests for issue #5 41f3d8f

11 April 2017

  • Fixing a reference loop when cache holds 2 items, fixes #5 #5
  • Fixing a reference error, fixes #4 #4
  • Partially fixing remove() by insuring key variable is a string, added tests (WIP) f53da2f

10 February 2017

10 February 2017

10 February 2017

  • Fixing a potential reference error f45ec73

10 February 2017

10 February 2017

  • Changing the signature of remove() to avoid edge case creation bb88a78
  • Adding some tests double checking deleting things that don't exist won''t be an issue e208b76

23 January 2017

  • Fixing a potential reference error a429da6

5 January 2017

  • Refactoring set() to be faster for updating values, updating delete() arguments to match remove() dd6a223

2 January 2017

  • Creating cache.clear(), updating README 5b89f46
  • Updating the return of clear(), updating .gitignore 0e565ec
  • Updating copyrights d8e6bbc

20 November 2016

  • Updating package.json to use index.js 480d61a

20 November 2016

19 November 2016

  • Adding update() to receive state from onchange() 05ffd08

19 November 2016

  • Creating this.notify & this.onchange(eventName, serializedCache), updating eslint rules 2b2880f
  • Updating README 09b61a1
  • Adding "use strict"; to intro.js e86d4ee

14 November 2016

  • Creating merge() to be the completion of dump() for duplicating state between caches 9e4195f

14 November 2016

  • Removing LRUItem class, creating clone() & dump(), cloning values on set() & get() so the cache is pristine, adding tests 52df3a9
  • Adding a bower config 7202699
  • Updating bower config to ignore more files a73e37a

24 January 2016

  • Add has and delete methods so that it's compatible with lodash's memoize function #1
  • Updating to ES6 syntax & babel transpile, removing /docs as it will not be generated now f75b2eb
  • rebuild 5e09785
  • Add has and delete methods so that it implements the parts of the Map method interface that make it compatible with lodash's memoize method. Add corresponding docs and tests. 6fa548e

25 August 2013

  • Minor tweak to code structure, added docs 5f000f8

28 July 2013

1.0.0

26 July 2013