Releases: Thealexbarney/LibHac
v0.9.1
v0.9.0
hactoolnet
- #111 Update displayed text for newer master key revisions
LibHac
- #116 Add support for cache storage savedata management
- #111 Refactor the
Result
struct - #117 Generate C#
Result
definitions from an external .csv file - #117 Add a default
IResultNameResolver
to get names fromResult
s - #114 Implement the path normalization functions from FS
- #114 Make sure
AesXtsFile
is flushed properly when closing - #114 Rewrite SubdirectoryFileSystem
- #110 Add an
InMemoryFileSystem
class for testing - #113 Add some common tests for all classes implementing
IFileSystem
v0.8.2
v0.8.1
v0.8.0
v0.7.0
All projects targeting .NET Core 2.1 have been updated to target .NET Core 3.0
hactoolnet
- Display the title name when reading an NCA containing an NPDM (#88)
- Display result names when exiting because of an error (#90)
- Fix a bug that would occur when repacking a non-empty savedata (#87)
LibHac
- Implement the savedata indexer along with savedata management
FileSystemProxy
functions (#89, #93) - Add a new
LibHac.Crypto
namespace with optimized AES implementations 2-3x faster than before. (#92, #94, #95, #97) - Add the option to specify a callback function that will be called when a non-successful result is returned in a debug build (#90)
- Slightly reduce the memory retained after reading a key file (#91)
v0.6.0
hactoolnet
- No significant changes
LibHac
Various breaking changes throughout. APIs are being adjusted to more closely match the APIs in Horizon OS. For example, the IStorage
and IFileSystem
-related interfaces now all return Result
indicating the outcome of the function call rather than throw exceptions.
Added base functionality for a FS service and client. Functionality will continue to be expanded in future releases.
Downloads:
Most users should download hactoolnet.exe
hactoolnet.exe
: hactoolnet. Most users should download this file.
hactoolnet_netcore.zip
: hactoolnet for .NET Core. Runs on Windows, Linux and macOS.
hactoolnet_native.exe
: A self-contained hactoolnet natively built for Windows. Has faster startup time.
LibHac.0.6.0.nupkg
: The LibHac library for inclusion in other projects. The same version that's on NuGet.
v0.5.1
hactoolnet
- Only sign save files if needed
- Don't add unnecessary ".cnmt" to NCA filenames when exporting via switchfs
LibHac
- Add a .NET Standard 2.0 target
- Make
HierarchicalRomFileTable
generic - Derive keys used for "custom storage" and savedata signing on the SD card
- Fix the
EnsureDirectoryExists
functions - Use the reference assemblies hosted on NuGet when building for .NET Framework
Downloads:
Most users should download hactoolnet.exe
hactoolnet.exe
: hactoolnet and libraries merged into a single file. Most users should download this file.
hactoolnet_netcore.zip
: hactoolnet for .NET Core. Runs on Windows, Linux and macOS.
hactoolnet.zip
: hactoolnet and libraries as separate files.
hactoolnet_native.exe
: A self-contained hactoolnet natively built for Windows. Has faster startup time.
LibHac.0.5.1.nupkg
: The LibHac library for inclusion in other projects. The same version that's on NuGet.
v0.5.0
hactoolnet
- Partial fix for switchfs functionality on Linux and macOS
- Add an access log option
- Support XTS NCA2 encryption
LibHac
- Add a
HorizonResultException
class for throwing errors using Horizon result codes - Add a
FileSystemManager
that allows mounting multiple filesystems - Add an access log for FS operations
- Support XTS NCA2 encryption
- Use result codes more throughout the codebase
- Add a workaround in
ConcatenationFileSystem
for .NET on Linux and macOS not being able to read/write the archive file attribute IFileSystem.GetEntryType
now returnsDirectoryEntryType.NotFound
instead of throwing an exception if a path is not found- The
FileExists
andDirectoryExists
methods have been removed fromIFileSystem
and replaced with extension methods that useIFileSystem.GetEntryType
- Tweak the behavior of
IFileSystem
to more closely match the behavior in Horizon
Main changes include:- An entry's parent directory must exist before creating it. It is no longer automatically created if it does not exist
CreateFile
andCreateDirectory
will throw aResultFs.PathAlreadyExists
if the entry already existsDeleteFile
andDeleteDirectory
will throw aResultFs.PathNotFound
if the entry does not exist
Downloads:
Most users should download hactoolnet.exe
hactoolnet.exe
: Most users should download this file. hactoolnet and libraries merged into a single file.
hactoolnet_netcore.zip
: hactoolnet for .NET Core. Runs on Windows, Linux and macOS.
hactoolnet.zip
: hactoolnet and libraries as separate files.
hactoolnet_native.exe
: A self-contained hactoolnet natively built for Windows. Has faster startup time.
LibHac.0.5.0.nupkg
: The LibHac library for inclusion in other projects. The same version that's on NuGet.
v0.4.1
Add an IMKV database reader and writer
Add read and write options to IFile read and write methods
Make Nca.SectionExists return false for invalid type instead of throwing an exception