CHANGELOG 5.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. ----------------------------------------------------------------------
  2. Version 1.0.0
  3. * First beta version of library, with most functions for extracting/patching already implemented
  4. ----------------------------------------------------------------------
  5. Version 1.0.2
  6. * Fixed issue when some text files were patched but didn't appear in game ("<string error DID.." error due to incomplete dictionary update)
  7. ----------------------------------------------------------------------
  8. Version 1.0.5
  9. * Fixed issue when some files were replaced by new files, because of incorrect fragmentation journal, which cause "Unable to send request" error in game launcher
  10. ----------------------------------------------------------------------
  11. Version 2.0.0
  12. * Added support for maintaining both original and patched versions of subfiles in .dat file, and switching between these versions.
  13. ----------------------------------------------------------------------
  14. Version 2.1.0
  15. * Changed structure of project in order to use it as library. Added basic API functions for easier library management
  16. ----------------------------------------------------------------------
  17. Version 3.0.0
  18. * Added support for dividing files into categories and activating/deactivating them in DatFile
  19. ----------------------------------------------------------------------
  20. Version 3.1.0
  21. * Fixed issue with incorrect applying patch to files with inactive category
  22. * Minor code improvement and fixes for capability to work with extractor
  23. ----------------------------------------------------------------------
  24. Version 3.2.0
  25. * Added checkers for situations when .dat file wasn't patched at all or was patched by old launcher
  26. ----------------------------------------------------------------------
  27. Version 3.3.0
  28. * Added check and repair functions for situation, when .dat file was patched by LotRO launcher because of official update
  29. ----------------------------------------------------------------------
  30. Version 4.0.0
  31. * Refactored most functions of DatFile class - they throw much less exceptions and base on returning special error values
  32. * Added Easylogging++ library and implememted it fully in DatFile class
  33. * Improved stability and constantly of library with using ordered locale sets and maps
  34. ----------------------------------------------------------------------
  35. Version 4.1.0
  36. * Some minor fixes and stability improvements, which should cause less library critical errors.
  37. ----------------------------------------------------------------------
  38. Version 4.2.0
  39. * Fixed critical bug, which caused .dat file corruption, if 2 different texts less than 256 bytes size were patched with different versions.
  40. ----------------------------------------------------------------------
  41. Version 5.0.0
  42. * Changed subfile dictionary structure as it wasn't completely correct and caused problems with game updates.
  43. * Changed structure of patch applies so that there's no need in function CommitChanges.
  44. * Optimised code and speed of library.
  45. * Removing all fragmentation journal on startup.
  46. * Using buffered data in .dat file when writing to the end, which increases speed of patching.
  47. ----------------------------------------------------------------------
  48. Version 5.1.0
  49. * Added additional compilation flags in order to improve speed.
  50. * Changed locales' file structure and placement. Old structure made .dat file have a chance to break while game updating.
  51. * Improved stability and safety while reading files' data.
  52. ----------------------------------------------------------------------
  53. Version 5.1.1
  54. * Improved locales' file commit process. Now fixed place in .dat file is reserved for locales, they won't 'eat' more data after every patch apply.
  55. ----------------------------------------------------------------------
  56. Version 5.2.0
  57. * Fixed (maybe) problem, when game update caused .dat file corruption ("Unable to send request" error after update).
  58. * Fixed (maybe) incorrect work with iterations list
  59. * Improved speed of opening .dat file by visiting each directory only once.
  60. * Removed DatException class and all it's calls. Throwing exceptions changed to returning special null data.
  61. ----------------------------------------------------------------------
  62. Version 7.0.0
  63. * Everything except some simpliest modules or structures was rewritten
  64. * Logic part divided into submodules (DatIO, DatFileSystem, DatBackupManager, DatExporter, DatLocaleManager, DatPatcher, DatStatus)
  65. * Slightly improved stability, added extra features (normal backup, operation status & percentage and so on)
  66. ----------------------------------------------------------------------
  67. Version 7.1.0
  68. * Improved security, added special fields, which help to recognize whether .dat file was broken
  69. ----------------------------------------------------------------------
  70. Version 7.2.0
  71. * Minor security fixes
  72. * Reimplemented categories support
  73. ----------------------------------------------------------------------
  74. Version 7.2.1
  75. * Bug fixes (Text files used incorrect fragments during import, if there was no fragment in patch with specified id)
  76. ----------------------------------------------------------------------
  77. Version 7.2.2
  78. * Small fixes, added one more protection layer: locales dictionary now contains hash of header at the moment of last patch applying. So that system can easily detect if file was modified and there's a need to update patches.
  79. ----------------------------------------------------------------------
  80. Version 8.0.0
  81. * Made locales initialization and patching process more stable
  82. * Minor code improvements in binary examples (patcher, extractor)