Unclaimed project
Are you a maintainer of mini-lsm ? Claim this project to take control of your public changelog and roadmap.
Claim this project Changelog
mini-lsm A course of building an LSM-Tree storage engine (database) in a week.
© 2026 AnnounceHQ. All rights reserved.
Back to changelogNew January 20, 2025
Mini-LSM v202501 This is a yearly release of the mini-lsm course. The 2025 release includes various bug fixes and typo fixes. I would like to thank everyone who helped with this course.
Join the Discord server: https://skyzh.dev/join/discord
Start learning: https://skyzh.github.io/mini-lsm/
Week 1+2 reference solution: https://github.com/skyzh/mini-lsm/tree/main/mini-lsm
Week 3 reference solution: https://github.com/skyzh/mini-lsm/tree/main/mini-lsm-mvcc
Solution checkpoint (still the v202401 version): https://github.com/skyzh/mini-lsm-solution-checkpoint
Your feedback is greatly appreciated -- feel free to discuss and leave your comments in the Discord Server or on GitHub!
What's Changed
feat: refine the CLI tool by @leiysky in https://github.com/skyzh/mini-lsm/pull/33
fix: readme typo by @PinelliaC in https://github.com/skyzh/mini-lsm/pull/34
chore: add license link by @caicancai in https://github.com/skyzh/mini-lsm/pull/36
docs: correct doc error in week1_day1_task2 by @xiaguan in https://github.com/skyzh/mini-lsm/pull/38
docs: add the unknown link in week1_day1_task1's docs by @Zeng1998 in https://github.com/skyzh/mini-lsm/pull/39
docs: fix a typo by @Zeng1998 in https://github.com/skyzh/mini-lsm/pull/40
refactor: error handling by @PinelliaC in https://github.com/skyzh/mini-lsm/pull/41
chore: typos by @ben1009 in https://github.com/skyzh/mini-lsm/pull/42
Fix paths to lsm_{iterator,storage}.rs in Week 1 Day 2 by @lacop in https://github.com/skyzh/mini-lsm/pull/44
test: improve week1_day2::test_task2_merge_error by @xxchan in https://github.com/skyzh/mini-lsm/pull/43
simplify the implementation of scan by @letterbeezps in https://github.com/skyzh/mini-lsm/pull/45
add hint for week2 day5&day6 by @HuSharp in https://github.com/skyzh/mini-lsm/pull/46
fix: typo by @PinelliaC in https://github.com/skyzh/mini-lsm/pull/50
Update week1-07-sst-optimizations.md by @redixhumayun in https://github.com/skyzh/mini-lsm/pull/49
Fix W1D6 test by @yyin-dev in https://github.com/skyzh/mini-lsm/pull/48
Improve readability and clarity by @yyin-dev in https://github.com/skyzh/mini-lsm/pull/52
doc: week2-03-tiered.md by @YangchenYe323 in https://github.com/skyzh/mini-lsm/pull/57
docs: week2-02-simple.md by @YangchenYe323 in https://github.com/skyzh/mini-lsm/pull/54
fix capacity of level ssts by @letterbeezps in https://github.com/skyzh/mini-lsm/pull/55
Fix path name for concat iterator by @zxch3n in https://github.com/skyzh/mini-lsm/pull/58
test: test scan exclusive start on a sstable by @zxch3n in https://github.com/skyzh/mini-lsm/pull/56
fix: typo by @Yongxin-Hu in https://github.com/skyzh/mini-lsm/pull/61
fix: typo in md (iter->tier) by @cypppper in https://github.com/skyzh/mini-lsm/pull/64
fix: call lsm::close when closing the cli by @dimbtp in https://github.com/skyzh/mini-lsm/pull/60
chore: typos & refine comments by @ben1009 in https://github.com/skyzh/mini-lsm/pull/65
Fix typos in W3D5 writeup and code by @yyin-dev in https://github.com/skyzh/mini-lsm/pull/67
Fix minor mistake in W3D6 writeup by @yyin-dev in https://github.com/skyzh/mini-lsm/pull/69
chore: typo in week2-05-manifest.md by @ben1009 in https://github.com/skyzh/mini-lsm/pull/73
[fix]: Fix typo in w1d6 by @Gleiphir2769 in https://github.com/skyzh/mini-lsm/pull/75
Add A simple solution to solutions list by @slowpz in https://github.com/skyzh/mini-lsm/pull/77
[test]: Modify test_sst_build_all() to add checks for first_key and last_key of SST by @Gleiphir2769 in https://github.com/skyzh/mini-lsm/pull/76
Update week3-06-serializable.md by @redixhumayun in https://github.com/skyzh/mini-lsm/pull/79
Fix some clippy lint. by @Foreverhighness in https://github.com/skyzh/mini-lsm/pull/80
bump dependencies by @skyzh in https://github.com/skyzh/mini-lsm/pull/81
fix: ensure WAL is atomic for each write batch by @skyzh in https://github.com/skyzh/mini-lsm/pull/84
fix: Avoid leveled compaction crash when recovering from manifest by @YangchenYe323 in https://github.com/skyzh/mini-lsm/pull/63
docs: add recovery mode for leveled compaction by @skyzh in https://github.com/skyzh/mini-lsm/pull/86
book: more questions on multi-tenant systems by @skyzh in https://github.com/skyzh/mini-lsm/pull/87
Add fh solution. by @Foreverhighness in https://github.com/skyzh/mini-lsm/pull/89
fix: universal compaction condition by @skyzh in https://github.com/skyzh/mini-lsm/pull/97
fix(docs): update universal compaction instructions by @skyzh in https://github.com/skyzh/mini-lsm/pull/101
Update week1-05-read-path.md, fix typo by @billonahill in https://github.com/skyzh/mini-lsm/pull/104
chore: bump compiler version and clippy fixes by @skyzh in https://github.com/skyzh/mini-lsm/pull/105
fix: update pebblesdb link by @nautaa in https://github.com/skyzh/mini-lsm/pull/110
Fix typo in week2-01-compaction.md by @elliottyoon in https://github.com/skyzh/mini-lsm/pull/103
Clarify more about the binary heap by @billonahill in https://github.com/skyzh/mini-lsm/pull/102
fix(compaction): correct level0_file_num_compaction_trigger in simple leveled compaction by @zztaki in https://github.com/skyzh/mini-lsm/pull/112
fix(book): typo w2d3 and week3 overview by @dqkqd in https://github.com/skyzh/mini-lsm/pull/117
relicense mini-lsm-book to CC BY-NC-SA 4.0 by @skyzh in https://github.com/skyzh/mini-lsm/pull/118
New Contributors
@leiysky made their first contribution in https://github.com/skyzh/mini-lsm/pull/33
@PinelliaC made their first contribution in https://github.com/skyzh/mini-lsm/pull/34
@caicancai made their first contribution in https://github.com/skyzh/mini-lsm/pull/36
@xiaguan made their first contribution in https://github.com/skyzh/mini-lsm/pull/38
@Zeng1998 made their first contribution in https://github.com/skyzh/mini-lsm/pull/39
@ben1009 made their first contribution in https://github.com/skyzh/mini-lsm/pull/42
@lacop made their first contribution in https://github.com/skyzh/mini-lsm/pull/44
@xxchan made their first contribution in https://github.com/skyzh/mini-lsm/pull/43
@letterbeezps made their first contribution in https://github.com/skyzh/mini-lsm/pull/45
@HuSharp made their first contribution in https://github.com/skyzh/mini-lsm/pull/46
@redixhumayun made their first contribution in https://github.com/skyzh/mini-lsm/pull/49
@yyin-dev made their first contribution in https://github.com/skyzh/mini-lsm/pull/48
@YangchenYe323 made their first contribution in https://github.com/skyzh/mini-lsm/pull/57
@zxch3n made their first contribution in https://github.com/skyzh/mini-lsm/pull/58
@Yongxin-Hu made their first contribution in https://github.com/skyzh/mini-lsm/pull/61
@cypppper made their first contribution in https://github.com/skyzh/mini-lsm/pull/64
@dimbtp made their first contribution in https://github.com/skyzh/mini-lsm/pull/60
@Gleiphir2769 made their first contribution in https://github.com/skyzh/mini-lsm/pull/75
@slowpz made their first contribution in https://github.com/skyzh/mini-lsm/pull/77
@Foreverhighness made their first contribution in https://github.com/skyzh/mini-lsm/pull/80
@billonahill made their first contribution in https://github.com/skyzh/mini-lsm/pull/104
@nautaa made their first contribution in https://github.com/skyzh/mini-lsm/pull/110
@elliottyoon made their first contribution in https://github.com/skyzh/mini-lsm/pull/103
@zztaki made their first contribution in https://github.com/skyzh/mini-lsm/pull/112
@dqkqd made their first contribution in https://github.com/skyzh/mini-lsm/pull/117
Full Changelog : https://github.com/skyzh/mini-lsm/compare/v202401...v202501