Skip to content

Releases: Thealexbarney/LibHac

v0.13.3

21 Aug 00:48
Compare
Choose a tag to compare

hactoolnet

  • Updated to use LibHac 0.13.3

LibHac

  • 489ad0f Don't throw an exception when calling LocalFileSystem.CleanDirectoryRecursively() on a non-existent directory
  • 48c99f1 Fix a regression where the SD save directory was in the incorrect place

v0.13.2

12 Aug 01:14
Compare
Choose a tag to compare

hactoolnet

  • #200 Add key sources for key generation 12 introduces in system version 12.1.0
  • #201 Support old .cnmt metadata files that were used in some pre-release builds

LibHac

  • 8df2007 Fix a bug in FileSystemServiceObjectAdapter.DoCreateDirectory

v0.13.1

01 Jul 17:01
Compare
Choose a tag to compare

hactoolnet

  • Updated to use LibHac 0.13.1

LibHac

  • #197 Fix an incorrect debug assert in the BucketTree class
  • #198 Fix a bug when creating system save data that could result in a PermissionDenied error

v0.13.0

17 Jun 04:32
Compare
Choose a tag to compare

hactoolnet

  • #158 Improve detection of decrypted NCAs
  • #170 Support NCA0 sections that use IVFC hashing
  • #160, #162 Print enum names properly in reflection-less mode
  • #166
    • Support reading all Erista and Mariko package1 formats
    • Support Mariko keys and key derivation
    • Allow embedding keys in LibHac at build time
    • Greatly reduce the memory usage and increase the performance of the KeySet class and key file parser
    • Allow putting prod and dev keys in the same file

LibHac

  • #168 Target .NET 5 and remove .NET Standard 2.1 target
  • #167
    • Refactor FileSystemProxy into multiple classes as done in FS 9.0.0
    • Use ReferenceCountedDisposable<T> and in/out buffers in sf interfaces
    • Properly split off FsSrv.Sf interfaces from IFileSystem and IStorage interfaces
  • #163 Add the FS program registry and access control
  • #174
    • Greatly simplify client and server classes. These clases now only contain a HorizonClient object and a struct containing the globals of each translation unit
    • This structure separates FS "process" code and library code, allowing an FS server to be created and initialized in the way that actual FS does
  • #171 Implement the FS heap and buffer manager classes
  • #183 Add a new NPDM reader
  • #178 Add a new assert system that mostly imitates nnsdk's assert system
  • #177 Rename FsSrv.Creators to FsSrv.FsCreator and rename Detail namespaces to Impl
  • #176
    • Rewrite the Fs.Fsa namespace to be accurate to the original
    • Add basic logging functionality to the LibHac.Diag namespace
    • Rewrite the FS client's access log code
  • #181 Add a case-sensitive mode to LocalFileSystem and retry a few times before returning TargetLocked
  • #190
    • Add extra data support to DirectorySaveDataFileSystem
    • Disallow opening a DirectorySaveDataFileSystem multiple times simultaneously
    • Add save data file system and extra data caching
    • Implement extra data handling functions in SaveDataFileSystemService
    • Implement most missing shim functions in SaveDataManagement
  • Various other bugfixes
  • Probably a decent number of newly implemented functions and classes that aren't listed specifically in this changelog

v0.12.0

19 Aug 00:12
Compare
Choose a tag to compare

hactoolnet

  • #144 Support reading decrypted NCA files and encrypting NCA files (PR from Xpl0itR)
  • #156 Support reading NCA0 files
  • #155 Improve Package2 support when the INI1 is embedded in the kernel
  • #150 List application IDs when using --listapps (PR from leo60228)

LibHac

  • #152
    • Add Kvdb.FlatMapKeyValueStore to replace Kvdb.KeyValueDatabase
    • Update SaveDataIndexer classes to match FS 10.0 and to use FlatMapKeyValueStore.
    • Replace TitleId with ProgramId, DataId and their subtypes.
    • Use ReferenceCountedDisposable<T> when returning an ISaveDataInfoReader from IFileSystemProxy
  • #146 Change IFileSystem interfaces to match FS by changing them to abstract classes and tweaking a few method signatures
  • #154 Rename FsService to FsSrv to match the original naming in FS
  • #147 Rewrite FsSystem.BucketTree and FsSystem.IndirectStorage to closely match the implementation in FS
  • #149 Add ReferenceCountedDisposable<T> to help properly dispose shared objects
  • #145 Fix some errors that were accidentally ignored in FsSystem.Save.AllocationTableStorage

v0.11.3

06 Jun 06:55
Compare
Choose a tag to compare

hactoolnet

  • #142 Allow listing an XCI's program RomFS files

LibHac

  • #139 Don't timeout when ensuring a local FS entry is deleted
  • #135 Update the calibration binary reader to handle newer versions (PR from Xpl0itR)
  • #141 Fix INI1 reading
  • #141 Fix a blz decompression bug that occurred when decompressing certain KIP files

v0.11.2

13 May 03:16
Compare
Choose a tag to compare

hactoolnet

  • Updated to use LibHac 0.11.2

LibHac

  • #133 Make DirectorySaveDataFileSystem more accurate and add any fssystem utility functions it uses
  • #134 Misc additions and warning fixes

v0.11.1

03 May 18:52
Compare
Choose a tag to compare

hactoolnet

  • Updated to use LibHac 0.11.1

LibHac

  • #131 Implemented EnumerateDeliveryCacheDirectory in BCAT's DeliveryCacheStorageService

v0.11.0

03 May 18:49
Compare
Choose a tag to compare

hactoolnet

  • #126 Added kip decompression

LibHac

  • #129 Implemented BCAT delivery cache access
  • #127 Added additional FS client shims for BIS and BCAT data
  • #126 Rewrote the Nso and Kip classes

v0.10.0

23 Mar 23:50
3cd53a7
Compare
Choose a tag to compare

hactoolnet

  • Update to use LibHac 0.10.0

LibHac

  • #120 Update many public interfaces to use UTF-8 strings instead of .NET's UTF-16 strings.
  • #121 Add OpenFileSystemWithId FS command.