Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,25 @@
# Changelog

## M6D Read-Only FAT32 candidate — 2026-07-30

- Added an allocation-free FAT32 backend over the architecture-independent
block-device contract.
- Validated BPB geometry, FAT capacity, device bounds, FSInfo signatures, and
the complete backup boot sector before mounting.
- Added bounded cluster traversal with free, reserved, bad, out-of-range,
premature-end, overlong, and cyclic-chain rejection.
- Added FAT 8.3 and checksum-validated, bounded UTF-16 long-name decoding.
- Added root, nested-directory, offset, and multi-cluster persistent reads.
- Mounted FAT32 read-only at `/disk` behind the M6C VFS.
- Added streaming shell `cat`, path-aware `ls`, and `fat32` diagnostics.
- Added a deterministic 64 MiB FAT32 QEMU fixture preserving the M6B device
identity sector.
- Advanced the capability registry to version 7 and added exact M6D smoke
evidence while preserving M5 through M6C regression gates.

M6D does not expose persistent files to Ring 3, load executables from FAT32,
write persistent media, discover partitions, or support physical installation.

## M6C Bounded Cache and VFS candidate — 2026-07-27

- Adopted Soma OS as the temporary user-facing working identity while retaining
Expand Down
4 changes: 2 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 8 additions & 9 deletions PROJECT.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
- Architecture: x86-64
- Firmware: UEFI 2.x
- Primary language: Rust 2024
- Accepted checkpoint: M6B Virtio Block Transport
- Immutable release: `v0.0.10-m6b`
- Current development checkpoint: M6C bounded cache and VFS
- Accepted checkpoint: M6C Bounded Cache and VFS
- Immutable release: `v0.0.11-m6c`
- Current development checkpoint: M6D read-only FAT32
- Deployment policy: QEMU only until physical-install safety gates pass

## Mission
Expand All @@ -21,12 +21,11 @@ Development is grouped into major milestone batches. Small formatting or CI corr

## Current objective

Add an allocation-free, fixed-capacity read-through cache over the accepted
virtio block transport. Establish bounded inode, superblock, mount, canonical
path, directory, and generation-protected user file-handle contracts. Adapt
RAMFS behind that VFS boundary without enabling persistent writes.
Validate and mount a deterministic FAT32 volume over the accepted cache and
virtio block stack. Expose bounded persistent directory and file reads through
the VFS and shell while preserving an enforceable zero-dirty-data boundary.

## Next major objective

Validate and mount a dedicated FAT32 image read-only, then expose bounded
persistent directory listing and file reads through the accepted VFS.
Add process-facing persistent file syscalls and executable reads without
weakening path, handle, address-space, or read-only storage isolation.
32 changes: 23 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ milestones before any physical-disk work.
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/chavalasantosh/OperatingSystem)

## Current checkpoint: M6C Bounded Cache and VFS
## Current checkpoint: M6D Read-Only FAT32

The accepted baseline entering this phase is `v0.0.10-m6b`. M0 through FH2
The accepted baseline entering this phase is M6C. M0 through FH2
proved UEFI ownership transfer, protected kernel
execution, interrupts, Ring 3 entry, `SYSCALL`/`SYSRET`, ELF64 loading,
recoverable user faults, physical ownership, and a fresh Soma OS page-table
Expand Down Expand Up @@ -65,10 +65,23 @@ M6C builds the filesystem boundary without enabling persistent writes:
- RAMFS accessed through the same VFS interface reserved for FAT32;
- `cache` and `mounts` shell diagnostics plus exact smoke evidence.

M6D activates persistent reads through that boundary:

- a deterministic 64 MiB FAT32 image attached as the dedicated virtio device;
- validated BPB geometry, FAT capacity, FSInfo, backup boot sector, and device
bounds;
- bounded FAT-chain traversal with malformed-cluster and cycle rejection;
- short-name and checksum-validated UTF-16 long-filename decoding;
- root, nested-directory, offset, and multi-cluster file reads;
- a second VFS mount at `/disk` with read-only enforcement;
- cache-backed persistent reads with zero dirty entries;
- `fat32`, path-aware `ls`, and persistent streaming `cat` shell diagnostics;
- exact QEMU evidence preserving every M5 through M6C regression gate.

## Shell commands

```text
help version userspace uptime memory irq tasks pci block cache mounts ls cat write echo clear
help version userspace uptime memory irq tasks pci block cache fat32 mounts ls cat write echo clear
```

## Build and verify
Expand Down Expand Up @@ -98,14 +111,15 @@ docs/ Requirements, architecture, ADRs, testing, security, process

## Current boundary

M6C and FH3 remain single-core and PIT-driven. Block completion is synchronous
M6D and FH3 remain single-core and PIT-driven. Block completion is synchronous
and polling, one request is outstanding at a time, and only the explicitly
identified disposable QEMU disk is used. The cache cannot issue writes and
cannot contain dirty entries. RAMFS remains the only writable filesystem. The
combined EFI-stub kernel still retains a bounded identity mapping while a
separate high-half kernel image is designed. Read-only FAT32, persistent
writes, physical-disk installation, graphics, SMP, and local APIC timers remain
later gates.
cannot contain dirty entries. RAMFS is the writable root and FAT32 is mounted
read-only at `/disk`. The combined EFI-stub kernel still retains a bounded
identity mapping while a separate high-half kernel image is designed.
Process-facing persistent file syscalls, executable loading from FAT32,
persistent writes, physical-disk installation, graphics, SMP, and local APIC
timers remain later gates.

## Safety

Expand Down
64 changes: 34 additions & 30 deletions SOURCE_MANIFEST.sha256
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,27 @@
ae0cb6c3b2dcaed5941d193848a2d05028f12f0692e95aacf2808ed7b037dd8f .gitattributes
9f35a88b86d7601a4b40fe13e7987baac18a1310911aec01111ee123f8bbc3a4 .github/workflows/ci.yml
4337eb9c42b5bfdf2840306b3944a65e475e21af781307f998ef299b56f685d7 .gitignore
e9c73c8314203328f4e7bd580523aa2d93301804219c315d4eaa9ee31f1dd7d9 CHANGELOG.md
fa978f37685c47c2209dc2c11e4bb7d278ab47a813b051d1b25ad66e3eafc770 CONTRIBUTING.md
b005b436a9410aa67e042285a1854b9b83b7c0b351d3adfb1044e032b73485a8 Cargo.lock
2c03da856ec66c6d6407cfe6f007989ac5e48acdf5ac923bf1d1bc7d3d448675 Cargo.toml
718742da4c6d89cf96babe555371260bcaaadca3ce715e74342cb445e4d80245 Makefile
1d3d88e61dab2ee6685a1f707b018096f2f7de66ab670d91e0a5caeb63ebdafa PROJECT.md
93b9eb67c61384abc261e61be00889a012230bf40bacb07368d03183b217387e README.md
3ebceddec88cf60e09b74d7f17cbe6f67a5672a9653d7f5084edc3f43547756c SECURITY.md
17fe0e368f6e7327b413a3113c56cce5f169a1ccb54f0b65375e4abcacc35145 assets/branding/sanjuos-logo.png
7ba85a6000841f1851b06532a09ea534d1cf8f30e821cf700a8d7c8500128358 boot/uefi/Cargo.toml
b76bfe164228ed69486dcf752025c38cd4ec8b78c10fdbd90ecc7b7468306b13 boot/uefi/Cargo.toml
d80a890c3bfcb13a3a9fc850b6e9b9a2eea333c83b1e78c5db60abd0272bc9b8 boot/uefi/src/arch/mod.rs
0421c9e8f0f8d9831db2e45f0755baaac2d6685325b90f42454318db3e1f1351 boot/uefi/src/arch/x86_64/mod.rs
2e1e0a9d3f411a129246981f897aa3e161e9ce9c43cbda5b40909c3cefbd55da boot/uefi/src/arch/x86_64/mod.rs
3899462a2005889f9e86c3ef775364441b46f0b7da079cad52e792c02fb6b997 boot/uefi/src/arch/x86_64/paging.rs
dd017528cd4bd9206416bc0df717263aca92719b80ffd83009902577b519ce32 boot/uefi/src/arch/x86_64/pci.rs
74116134615fd003f8592bec4557a326920ffa0a70f1b2afde755c44844c4b9f boot/uefi/src/arch/x86_64/qemu.rs
856bb4f4fe71b42b41b46518fc1b693481dd08271e902aaf14b082d7c824143d boot/uefi/src/arch/x86_64/qemu.rs
7d11876ab13082c796a5a2af100ece7b713251c408e3c67b313cc51ed3a3d410 boot/uefi/src/arch/x86_64/serial.rs
7143759544dc7000e33aa1f2e7d554997596256ac9e1d3f4a4b71c7101082d3b boot/uefi/src/arch/x86_64/virtio_block.rs
47d9c858ae79958d4c09a61f1bdd9bc64d3f5a852f7aade95463f6decac0ad3a boot/uefi/src/main.rs
395268c2b70e15139514429ccce4e04628560ac42ccf94ced6448eb6602f0001 capabilities/capabilities.toml
3f1809f5a5df415a9e2c514a53590f5e8faad1d0c58bc5e41f023999472b57ca capabilities/smoke-expectations.txt
9e9b7c91e0240a56ca882439b3f84e14994c76e4ba1408af7f2cc55deffd6123 Cargo.lock
2c03da856ec66c6d6407cfe6f007989ac5e48acdf5ac923bf1d1bc7d3d448675 Cargo.toml
fcb21c956affe13e6da974cb3086cebefa090da4f5f6b834a8021a019e26d942 CHANGELOG.md
fa978f37685c47c2209dc2c11e4bb7d278ab47a813b051d1b25ad66e3eafc770 CONTRIBUTING.md
170bbed66770e66c19298c0b9338102160029dfc3863a1184733c65fe9de4b98 boot/uefi/src/main.rs
e2c964ea3da4fb68513434992c00bd47bdb88cb0d3846331d4f4726aae26cdcf capabilities/capabilities.toml
2f51d76ab9535dbef035139472ad9c77be4002b5aee9351bcb62643a1788ec4b capabilities/smoke-expectations.txt
9e75ed09ebb91c490a3cbb1d14641ff8fe062cf76b1d1c912ac44c134870a893 docs/CAPABILITY_MATRIX.md
4b490a94642825c10c5876ab94d6e1390360ba754e9615735c649b64a5fea334 docs/adr/0001-rust-first.md
2408920abe6ae8d6c3861f0bcfbe5c3cb362a444fc5104eb5d245fee9334a22d docs/adr/0002-uefi-x86-64-first.md
774a003ce11a0bf69485779bdfd25a3ee935b492258d6ba082f9c5aa378dc4bc docs/adr/0003-modular-monolithic-kernel.md
Expand All @@ -32,9 +37,9 @@ e57c9bfed03a3a425d8592033d8b5fc36146f56b0388ffb8af9c8ec8c75413b3 docs/adr/0008-
012833274e4c031ef4b8b3fe59ae552ac2ad90b03cd3824abc940a91c0ee3b69 docs/adr/0011-private-address-spaces-preemptive-contexts.md
7a0311f75934b7c354720bc5b6df7537521d8dd3ac347893b58dd5a4eb69ae09 docs/adr/0012-pci-storage-foundation.md
0f73d36c6c092c8fcd9da7fdce333dca1730c82a0ad1f6e51bf7f6538a9c3996 docs/adr/0013-bounded-cache-vfs-contracts.md
8218e319a472f46e49fb77d7211d47b0bb9ef439a02ce37cf2b691d1efc633ea docs/architecture/SYSTEM_OVERVIEW.md
ab1a238796efa11410026c202e590f78a23e460f128f44a34ec39c2f94f487ff docs/CAPABILITY_MATRIX.md
9ff539a3bc489a25ca113fd28d05ecb157af365d22dbc8a1472b71b6d11dbc3d docs/process/BACKLOG.md
7c62c3d7a9e1bc0dd2ad74698ee57a7e7f03f8b3190af1945dc5e363edb0baf6 docs/adr/0014-read-only-fat32.md
f10d714529b183eb5e3ce4ce55d68669d920b28e3796d3c8240e3aaefcc9afbb docs/architecture/SYSTEM_OVERVIEW.md
09c0f9949090e778bb5fdcc3a477763c6c133985a461482ce6749b00597fcd17 docs/process/BACKLOG.md
fee8050e8dcc105d812af867282e410f229c2422e535add412d987b4ab70c890 docs/process/DEFINITION_OF_DONE.md
620312efa0d2c090a909a109f0303cdbfb10f6b756be238a41b182f80cf4c76c docs/process/ENVIRONMENT_NOTE.md
e88116bc1322b9bb9bd971f45c27ae9a104231f7e7175e2dabaa3bdcc874aef5 docs/process/RISK_REGISTER.md
Expand All @@ -47,9 +52,9 @@ f1775d368dea5e3970dc3449e2b2431dc4b46c8d3517461e82f9b343575c73ca docs/process/S
5ef377c5d302832ac135ca68a5d2299a1cfefa84fd0cc1df3f2a759160c62734 docs/process/SPRINT_FOUNDATION_1.md
e2e35b9e47bcaa4b909f6d52bd64c56fc02d03ff45e440d4d2f2ae5a207a7b6d docs/process/SPRINT_FOUNDATION_2.md
6f15cc971ee785b6211dfa469d345c13dc7ef6b65ab484adb9be0b76bf5ebec9 docs/process/SPRINT_FOUNDATION_3.md
f725fbcc2dc35f4ff05a234e8b52369deaf2cae0203cc532f95852a95c21c388 docs/process/SPRINT_M6_STORAGE_FOUNDATION.md
7b389a225cddaa49961d5e66156dfac95c349ae3471ede3b4044b9f48c870621 docs/process/SPRINT_M6_STORAGE_FOUNDATION.md
695d5c8f71075cc6f377a12c222d2b95e010192a7c6a428d6f3e830dcab8c7c2 docs/requirements/PRODUCT_REQUIREMENTS.md
194ea4a76bc203f7888ac75ea9ad4d1e55c5eed9d3e1c643592e1b1e878759bc docs/security/THREAT_MODEL.md
b92a6698778218974c058f0d5d826edc99361cd8dfcf46619d58c258935d93fc docs/security/THREAT_MODEL.md
80e655063c71d86e90895b289c57a61a127e2ea2b0ee8dfb26bbe78e032f027f docs/testing/FOUNDATION_HARDENING_1_VALIDATION.md
a7706bae9b2288ef67a77263af7ef0672eeec34c0d9331671cda04cf0858c39f docs/testing/FOUNDATION_HARDENING_2_VALIDATION.md
d9c7d5e718be2f21f50408551733c5860c04745bd4dd55c78b3876827cb1ea21 docs/testing/FOUNDATION_HARDENING_3_VALIDATION.md
Expand All @@ -59,52 +64,51 @@ d9c7d5e718be2f21f50408551733c5860c04745bd4dd55c78b3876827cb1ea21 docs/testing/F
ca41b8558018f1e32ffdf570f061c60dc9914f781ae17f755d2c6402607eb67e docs/testing/M6A_PCI_DISCOVERY_VALIDATION.md
c4556e45804712a1f0382fdbd2d4e4fecdf467c95a867a3d16ef0a8aaa515fc7 docs/testing/M6B_BLOCK_TRANSPORT_VALIDATION.md
9f082036ffb705d275ad4d8ccdff940d71fac78b59c7d73c409baebb0a122d36 docs/testing/M6C_CACHE_VFS_VALIDATION.md
efa26f528172a01bec7dc627f9164d19808f590d05fffd3a7400711fef041017 docs/testing/TEST_STRATEGY.md
43f52e072f297d1ba7a3e7a4f92f9e8a3d9bfdc5c4476972be62dc411f0fc20a kernel/Cargo.toml
0831501e48e91561dedf6fa1e20f3bfcf11a94f36d1756e37b317c8c6805cf47 docs/testing/M6D_FAT32_VALIDATION.md
2567e747a138ed4afb9342e964e9d7a775cc256a6c92a6e076cd8a17edcc10cf docs/testing/TEST_STRATEGY.md
b9b62f40044477dd3ba88c6d860a1148299cac8c99e01991b3790573b5bc78de kernel/Cargo.toml
528774183d2c2c8a809b796a1dad91a336462bfd589255007da6d0447ffff04c kernel/src/block.rs
0f8884112d25f779cff472251105301b160b4368ee6aeca421eff75242a4404e kernel/src/boot_info.rs
00f58db133b7d506c6c71b921ba5b8f3a62590c11583201277bae152f3c02a08 kernel/src/cache.rs
f38b67a8ae6c0e8a733038dc62c410a4d1c042fb54e3f3746ea2fa795235ebd1 kernel/src/cache.rs
069853672f94c05025c9342485c3f00453d76c95a228302e01b9ebff47a072a6 kernel/src/capabilities.rs
8010bfaa835197b850c4a45e007f8b74b72c1de78673ebf3f0bedddd5912cf5d kernel/src/elf.rs
3268dbae4febca5081223c7d29dabde3665a73d4ec7c63bb839fdcc8170361d6 kernel/src/fat32.rs
165004c146db5716c8fc5f0f264dcdbc2920c70676caecf3f0e63635b271b8d9 kernel/src/fs.rs
e2624581521c46725a393ed2070c56f23b266738773a7aef1891dd5e16438459 kernel/src/generated/capabilities.rs
fda176faf186e931699ebbc5fcf0c290edf81d240550346ef1d47c6add9c6988 kernel/src/generated/capabilities.rs
ae5160fc6d70367b7758afac6876faeb3c9e7766411b4dc1fc3ac10fa28dafa8 kernel/src/generated/mod.rs
e6d19b13631029aefb179636a8b2cf20dad347bf2bc89365133912271c758008 kernel/src/heap.rs
9b88a5d4c56554cb1c4bd646925b28bc97a3feb4d3d6c576b5dc33dbe8496d02 kernel/src/input.rs
6180752d6eb7f79d2d174e9a300b186553a88a3c2ee1e7709dc55a5e85426e57 kernel/src/lib.rs
770972a6bf8f7816412f61fdda7200ff7cf814ce5ba3513797648e592f19b77d kernel/src/lib.rs
472d2bb193b4c3449807927e2059db0ed94ea7218c3238f7f082aeda65582683 kernel/src/memory.rs
6188979546aeab5b63216056d9d148184fe89ede5226726b9c8c29471c0717a0 kernel/src/ownership.rs
52dabe4f896d71aa0dd67716cd2660ce1b96550a32ead52836185138384f4ba6 kernel/src/paging.rs
f0ad8e59490e98186eb44b4dae04a42be46aae6b669e34b6548efa6646dbae82 kernel/src/pci.rs
b36eff431fd41dada1848ccc363ac9a66f1c1ff38f99cb2e16a8655820ebbe06 kernel/src/process.rs
18426c0070887453f9de8a816927fe2c2b3cec57e40f90ef152d67546a462ca3 kernel/src/scheduler.rs
293e9bb2c227fe95f8df14870434207f23aeb5be236225d0e44db12d2b898f50 kernel/src/shell.rs
144860da122b3f90371563499cfd296092f7d002382d53b0ca382adb65c2d451 kernel/src/shell.rs
48ade91d48b51bb4b4cb48d4c3c5e060b5d9cf6e04af139f80ccbe5aa0d64edd kernel/src/startup.rs
1f6223882f082385c2152ef1d6e2938768f995c73eb02e9aaa6845b2e097d739 kernel/src/syscall.rs
7616eda0e38ebf9c2a56f16bb82a2484846e1879dcdd2b6c55b5e689d8c0a3fe kernel/src/vfs.rs
718742da4c6d89cf96babe555371260bcaaadca3ce715e74342cb445e4d80245 Makefile
b2e953a9fae4f33d871d23b45ba726c6035a0c13f04bfaa493122333701c5055 PROJECT.md
de6c9c714fb60079d38d9f403583b2d2bb28ec813111b5c89d5766437501b3e7 README.md
e3d968e077578909717fb6e2fae0af6848ed1d804c9f21d6606648ef62abf7b7 kernel/src/vfs.rs
5aa479510db257bb2f5c82eb11fbbd3c30d1cc5ee70864dd9af5b2387e709c43 rust-toolchain.toml
cd7c4d2ac3a81f614a8134661c0353e238ea19d4cb000bf98143a8e5f4a9a521 scripts/build-llvm-probe.sh
c26e150f860ee56bc77d7181d7ff3514b32615e17a21494c33c6a159108cb528 scripts/build-smoke.sh
644efa62e87b7fd2b884d694f54d0a020a3c94040b9dcba8c3712ed6924bc64f scripts/build-user-programs.sh
2906bb8debe2870d78b51b72fe33dfeb725cf2f6bffe03af8f8454ad9715c100 scripts/build.sh
57c2bb12342f4269d9d2c39c4d402d72758d4b3f2c47c8b5bec8323f71a1bc1e scripts/create-fat32-image.py
f5e3a26817aecf454c61b0bb0ff5f86fd03d7a3fb0ece74c67f1913a4dd94a74 scripts/find-ovmf.sh
dee85ec792e3681c8bd60d98122c3dee6efcee1ca185643ff2475674496eb456 scripts/generate-capabilities.py
ebb9021802198356ab3068e70f73519ee409919d5785e018447c4d880c1048e1 scripts/generate-source-manifest.py
b424e16e3444699ec89bb3d84e4e44c2dfaf4631431d26c88cc6a0e9e957cf42 scripts/image.sh
5ae79499617b1d5d44b0ff7f7d797606d1b8eb3a47081af0b36ac006269bd64e scripts/run-qemu.sh
7102e7e0d2f2c70ed8242291349c21d945f31acd285aa9800d0c6da18a90e675 scripts/run-qemu.sh
e16f345f1ba68ffe4960ffbc162126c6bd8e9a8e753f72e91c88e6f1f8317d22 scripts/setup.sh
7a5880e9ba6e6ead03ca59fd1433fe19b3de942ab99b5fc82e0aa09c7f8963e0 scripts/smoke-test.sh
598e74922b59a8cb4d264105c77310143234cc7cd32dcbe0299ee16bf300c0e5 scripts/source-check.py
5c173cb2d9283719235f9c48296916ee5bb33c332d72c8114ed3ea25f1b23759 scripts/smoke-test.sh
b64fde198997fd985c317210d762ce8b5dc2aca929ab4e0fd5daa9f4c6f9487a scripts/source-check.py
4cd8845ab8db1a1702165dcd7b777917804a285a06a5270226aff85e8a53280a scripts/verify-llvm-probe.sh
3ebceddec88cf60e09b74d7f17cbe6f67a5672a9653d7f5084edc3f43547756c SECURITY.md
88cf4ef34b86ae3e33b04d4f1b7e67a15778d88e1728be97982c679a52361a82 user/programs/bin/fault-test.elf
005acc8f60ef17a3db46b01f8c17257ed77a21168649fc1367013080387ba77c user/programs/bin/hello.elf
abc0d075a3f46d74a8bd26eafbc8320b0449835287ac5e05b8fa40aae34e88d6 user/programs/bin/init.elf
b6bfae7312024c4f6a58168103374fdd8ef78d6fe1b13637c414f996161453c5 user/programs/src/fault-test.S
1dd645bc1eb5fda9d15685f359a564be1346fd08fefa384ea85da829abe3ad46 user/programs/src/hello.S
3dcc935b116e777b03821a59082b05a44e9a636ac39dcecf3915368ffaeda389 user/programs/src/init.S
613a7ccaa0b692edca8b0f823d60874df86459fdfe6310ef863bc310be1a9deb verification/uefi-probe/main.c
5ff24f8132b0ee21d0e54b7d1c91aefef56e3a49c55c25a3437e0f0a8b6b8d5f verification/uefi-probe/README.md
613a7ccaa0b692edca8b0f823d60874df86459fdfe6310ef863bc310be1a9deb verification/uefi-probe/main.c
2 changes: 1 addition & 1 deletion boot/uefi/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "sanju-boot"
version = "0.0.11"
version = "0.0.12"
edition.workspace = true
rust-version.workspace = true
publish.workspace = true
Expand Down
Loading
Loading