Repository navigation
Releases: ishaanko/worldarchive
Releases · ishaanko/worldarchive
Release list
WorldArchive v0.4.0
Changed
- Breaking. WorldArchive no longer reads settings files from WorldArchive 0.1.0. The
settings screen says so and offers Reset settings, which keeps the old file. Settings
from 0.1.1 and newer load as before. - Breaking. WorldArchive no longer reads the shared Git repository of WorldArchive 0.1.0.
Its backups stay out of the backup list until you import them one time. Open World
Backups and click Import. Paste the local path of the repository into Repository
address, then click Find Backups from Repository. The default path was
.minecraft/worldarchive/worldarchive.git. - Each backup copies the world faster, up to four files at the same time, so autosave stops for
a shorter time. A backup of an open world checks every file twice. A backup of a closed world
reads each file once. - A backup never makes a Git or ZIP folder that you chose when that folder is missing, for
example because its drive is not connected. The backup to that folder fails and says that the
folder cannot be reached. When you save the settings with a new folder, WorldArchive makes it.
The default folders inworldarchiveare still made when a backup needs them. - Verify tells you when the checksum file (
.sha256) of a ZIP backup is missing. - Git backups are much faster. A backup starts a few Git commands instead of one for each file,
and it copies only new Git LFS files. The full repository check withgit fsckno longer
runs after each backup. Verify still reads every file of the backup. - A ZIP backup writes its archive one time and reads it back one time to check it. ZIP backups
no longer use the temporary folder of your system. - A delete of many backups and the backup scan at start are much faster. A Git delete also
frees its space on this computer at once. - World Backups checks the storage of each world one time when you open it. Before, it
scanned every backup folder again each time you came back to it. - The schedule skips a world that did not run since its last backup, for example while the
game is paused. A skip makes no save and shows no message. Before, the save before each
scheduled backup changed the world, so the schedule never skipped. - Sync, Verify, and Restore now have a Cancel button.
- The delete prompt names each backup by date and label. It also says how many copies are on
the Git remote and how many backups have a label. The delete removes the remote copies too. - A delete prompt no longer expires. WorldArchive deletes only the copies that the prompt
showed. If a backup changed after you confirmed, WorldArchive deletes nothing of it and
says why. - Delete results name each backup by date and label.
- The cleanup confirmation shows the same date, label, and changes as the preview. The cleanup
result says why each kept backup stayed. It also warns you when Git could not free the space
yet. - The backup filter matches labels, triggers as the list shows them, such as "world exit",
and the start of a backup ID. It no longer matches the world name, which every row has. - Review Cleanup stays off until you save the storage limits. A storage limit accepts a
comma as the decimal mark, for example "1,5". - The settings file no longer stores the default backup folders. A copied or moved game folder
uses its own backup folders. - Defaults on the settings screen keeps your backup folders.
- Before WorldArchive upgrades an older settings file, it keeps a copy named
worldarchive.json.schema<number>.bak. - The screens say "remote" where they said "GitHub". The Worlds tab now says that
Sync tries a failed upload again. Before, it said that the next backup does.
Fixed
- A save that replaces
level.datwhile a backup copies the world no longer fails the backup.
The backup copies the file again. - WorldArchive can back up a world that contains a
.gitfolder or file, for example a data
pack that is a Git clone. The backup leaves out every.gitentry. - A saves folder or a world folder that is a symbolic link or a Windows junction now works.
WorldArchive uses the real folder. A link inside a world still stops a backup. - When a file name or a link stops a backup, the message names the file.
- Cancel during a Git upload keeps the copies that are already complete.
- When the backup list cannot be saved after a backup, the result says so. The next start lists
the backup again. - A second game that uses the same WorldArchive folder no longer deletes the world copy of a
backup that the first game makes. - A backup of the open world no longer turns autosave on again after
/save-off. - A schedule that you turned off no longer gives warnings.
- Menus no longer freeze while a backup runs. A change to a backup folder while a backup runs
gets a message that asks you to try again later. - An error in WorldArchive while a world opens, saves, or closes no longer reaches the game, also
a Java error such as a missing class. A backup that the error stops fails with a notice. - A backup that you start while the previous one gives autosave back no longer leaves autosave
off. WorldArchive asks you to try again in a moment. - One file with a date in the future, as in some downloaded maps, no longer lets a backup of a
closed world miss a change that the game made during the copy. - When you quit during a backup, the game waits at most about 35 seconds, world copy included.
A notice at the next start says what did not finish. - A world whose name has no readable text gets automatic backups. WorldArchive uses the folder
name. - A label keeps the exact text that you typed. Before, the credential filter could change it.
- One damaged object in a Git repository, for example after a power loss, no longer makes every
later Git backup of that world fail. - A lock file that a stopped Git process left behind no longer blocks backups and deletes.
- Hooks in a world's Git repository never run. A
core.hooksPathin your global Git settings no
longer breaks Git backups, and WorldArchive no longer writes Git LFS hooks into that folder. - A remote that does not allow changes to
mainno longer makes uploads fail. - When a remote refuses a delete, nothing changes on the remote. Before,
maincould move
although the delete failed. - A delete of an imported Git backup also removes it from the world's remote.
- A deleted Git backup no longer comes back after a restart.
- A remote with more than 256 backups can be imported. When one backup of an import cannot be
downloaded, the other backups still import. - When this computer's Git copy of a backup is damaged, a restore uses the remote copy and
repairs the local one. - WorldArchive writes Git backups to disk before it reports them complete. It also writes the
Git LFS files that a restore or an import downloads to disk before it records them. - When Verify or a restore finds a damaged Git LFS file, WorldArchive moves it out of the
way. The next backup writes the file again, and a restore gets it again from the remote.
Before, later backups used the damaged file and reported success. - A file that holds the text of a Git LFS pointer, for example in a data pack cloned without
Git LFS, no longer makes every Git backup of the world fail. - A cancel right after a Git backup was written no longer reports that backup as failed. It
waits for its upload as pending sync. - Open Folder no longer makes an empty Git folder. The first Git backup also works when such
a folder is there. - A ZIP backup that lost its
.sha256file stays in the list, and it verifies and restores. - The next backup removes the files that a crash left in a ZIP folder. It keeps the checksum
file (.sha256) of an archive that is missing for a moment, for example while a sync tool
delivers it. - Verify and import refuse a ZIP archive with a folder entry that has the name of a file. No
restore can write such an archive. - Verify and import refuse a ZIP backup whose checksum file is gone and whose end is cut
short, because other ZIP programs cannot open it. WorldArchive can still restore it. - The ZIP folder of a world can be a link to another drive. Before, the list and delete did
not see the archives there. - Verify says "unavailable" instead of "damaged" when it cannot read a ZIP archive, for
example on a drive that is not connected. - Messages for a full drive, a missing ZIP folder, and a failed delete say what happened and
what to do. - An import never writes into the folder that you choose. Identical copies of one archive
import one time. - On Windows, WorldArchive tries again for a short time when another program, such as an
antivirus scanner, holds a file. - A delete that leaves a copy now reports that it failed. Before, a backup whose remote refused
the delete counted as deleted. - A delete fails when a backup folder that you chose cannot be reached, for example on a drive
that is not connected, and nothing is made in its place. Before, the delete said that the
backup was deleted, and the backup came back later. If you remove a world's folder by hand
from WorldArchive's default backup folders, you can still delete its backups. - A deleted backup whose files are on a drive that was not connected at a start no longer comes
back when the drive is back. - A delete that you confirmed before a sync finished no longer deletes the remote copy that the
sync made. WorldArchive deletes nothing and says that the backup changed. - A delete of a ZIP backup whose archive has a new name now also deletes that archive when only
the checksum file kept the old name. - A failure message with a line break no longer stops a delete.
- After you remove a world's remote from its settings, a delete removes the copies on this
computer and says that the copy on the old remote stays. A backup whose only copy is on that
remote stay...
WorldArchive v0.3.9
Changed
- WorldArchive now runs on Minecraft 26.3 with Fabric Loader 0.19.5 and Fabric API
0.160.5. Mod Menu is optional; the World Backups icon on the title screen opens
the mod without it. The folder picker uses the dialog that ships with Minecraft
26.3. - Git backups need Git 2.29 or newer. An older Git is reported on the settings
screen instead of failing in the middle of a backup.
Fixed
- A world that contains a
.gitignorefile, or a computer with a global Git
excludes file, no longer loses files from its Git snapshots. Before, the
ignored files were left out and every Git backup of that world failed. - A world name or label such as "Secret: Base" no longer corrupts the Git
snapshot manifest. Before, the credential filter rewrote the stored text and
the backup could not be verified or restored. - A world name such as "Task100% Done" can be backed up to ZIP again. Before,
the credential filter treated the name as an encoded secret. - Settings that save cleanly can always be loaded again; the same credential
check now runs at save time. - A configuration upgraded from schema 4 keeps each world's separate ZIP folder.
- Batch delete: a world whose deletion never started keeps its confirmation, so
the same tokens work when you retry. - Batch delete reports a backup whose remote copy is still pending as partly
deleted instead of fully deleted. - Storage cleanup no longer fails for a world that has a backup with a failed
ZIP or Git destination. - Storage cleanup treats a ZIP archive that is already gone as deleted instead
of reporting a failure. - A local Git remote path may contain characters such as an apostrophe or an
ampersand, for example "OneDrive - Bob's Laptop". - A Git repository that another program holds open now fails with a clear
message instead of waiting forever. - Temporary Git work trees left behind by a killed Git process are removed.
- A ZIP or Git backup destination can no longer be placed inside a source
world through a different spelling of the same path on a case-insensitive
disk. - Restore works on volumes that refuse extended attributes, such as exFAT and
some network shares. - Restore no longer refuses a network share that cannot report its free space.
- Catalog and change-inventory files may grow past 64 MiB.
- Metadata files use the same line endings on every platform, so a synced
data folder is byte-identical everywhere. - Ownership markers left behind by an interrupted capture are cleaned up.
- The ZIP folder override checkbox on the Worlds settings tab keeps the typed
folder when unticked and can be ticked while the global ZIP folder is empty.
Its Browse button is disabled while the override is off. - The settings screen reports a settings file that cannot be opened instead of
offering defaults that cannot be saved. - The schedule interval accepts surrounding spaces, and folder fields accept a
path that starts with "~". - The import screen no longer crashes the game when a button is pressed before
WorldArchive has finished loading. - A scheduled backup that comes due while a save is pending runs on the next
tick instead of skipping a full interval. - An error inside the scheduled backup tick is logged instead of crashing the
game. - A plain click in the backup browser always selects the clicked row, and
"Select all" replaces the selection instead of adding to it. - The storage screen's Back button and Escape key wait while a save or review
runs. - The World Backups icon returns to the pause screen you came from.
- Dates on the import and cleanup preview screens follow the game's locale.
Full changelog: v0.3.8...v0.3.9
WorldArchive v0.3.8
Added
- The Create Backup screen has a Cancel button while a manual backup runs. Cancel
stops the world copy or the destination writes, removes the partial files, and
reports "Backup cancelled". A destination that had already finished is kept.
Full changelog: v0.3.7.3...v0.3.8
WorldArchive v0.3.7.3
Fixed
- The World Backups icon on the pause and title screens stays at the end of
the icon row when other mods add or move icons after WorldArchive placed
it. Before, a mod that changed the row later could leave the icon off to
the right of the others.
Full changelog: v0.3.7.2...v0.3.7.3
WorldArchive v0.3.7.2
Changed
- Storage cleanup no longer deletes anything from the configured remote.
0.3.7.1 removed the remote copy of an unprotected backup together with its
local copies. Cleanup now frees space on this computer only. A backup whose
snapshot is on the remote stays listed as a remote-only entry, and the
Delete button is the way to remove it from the remote. A backup with no copy
left anywhere still leaves the catalog.
Full changelog: v0.3.7.1...v0.3.7.2
WorldArchive v0.3.7.1
Fixed
- Storage cleanup now deletes the backups it lists. Before, it only removed
the ZIP copy of a backup and left the Git snapshot and the catalog entry in
place, so the backup was still there after the cleanup and after a restart.
A backup the keep settings do not protect is now deleted the same way the
Delete button deletes it: Git snapshot, remote copy, ZIP, and catalog entry. - Cleanup frees the Git LFS space of deleted snapshots. Only the objects a
remaining snapshot still points at are kept. - A protected backup that loses its local Git copy keeps its synchronized
remote copy in the catalog, so it stays visible and can be deleted later.
Full changelog: v0.3.7...v0.3.7.1
WorldArchive v0.3.7
Added
- The backup toast that appears after you leave a world has a Cancel button.
It stops the backup while the world is copied or while the destinations
write. A destination that had already finished is kept and recorded. Once
the backup is being recorded in the catalog it can no longer be cancelled.
Full changelog: v0.3.6...v0.3.7
WorldArchive v0.3.6
Added
- A World Backups icon sits at the far right of the square icons on the title
screen and on the pause screen. On the title screen it opens the list of
backed-up worlds; in a world it opens that world's backups. - The backup browser can select several backups at once. Ctrl or Cmd click
toggles a row, Shift click extends the selection, and "Select all" picks
every backup that matches the filter. One confirmation deletes all of them,
and the result screen shows how many were removed and which ones failed.
Changed
- The storage screen opens in seconds on large archives. Before, it copied,
hashed, and fully unpacked every ZIP backup on each visit, which took more
than ten minutes on big stores. The scan now reads only each archive's
filename, checksum sidecar, and embedded manifest. Import still verifies
every archive in full. - Deleting several backups runs them together inside one per-world lock
instead of one full operation per backup. Git and ZIP work overlaps. - The worlds screen and the ZIP health check use the same fast scan.
- Measuring the Git repository size reads one set of file attributes per file
instead of three.
Full changelog: v0.3.5.1...v0.3.6
WorldArchive v0.3.5.1
Fixed
- The mod now accepts Fabric API 0.157.0 or newer. Before, it required the
exact Fabric API version it was built with, so each Fabric API update
stopped the mod from loading until a new WorldArchive release.
Full changelog: v0.3.5...v0.3.5.1
WorldArchive v0.3.5
Changed
- A backup that writes the Git and the ZIP destination together now shows one
combined progress. Before, the two destinations reported to the same toast
and the bar moved backward. - Sync returns immediately when the backup is already synchronized with the
remote. The mod no longer verifies and pushes the snapshot again.
Full changelog: v0.3.4...v0.3.5