1
0
mirror of synced 2024-11-12 01:20:47 +01:00
jubeatools/CHANGELOG.md
2024-07-27 11:14:03 +02:00

7.4 KiB

Changelog

A short, human-friendly (but technical !) description of each change made in each version

Format based on Keep a Changelog.

For version numbers I try to follow Semantic Versioning.

v2.1.1

Fixed

  • Attempting to guess the file format of a non UTF-16 file would crash the yubiosi 2.0 format guesser, not anymore.

v2.1.0

Added

  • [yubiosi] 🎉 initial yubiosi support !

Fixed

  • "Unsupported output format" CLI error message would show the input format

v2.0.10

Fixed

  • [memon] Fixed a bug that caused the loader to move the common timing into the song timing object

v2.0.9

Fixed

  • [memon] + [malody] Force utf-8 encoding when reading json files to avoid several related problems on Windows :
    • Spurious "Unrecognized file format" error when converting a memon or malody file
    • UnicodeError when reading a memon or malody file

v2.0.8

Fixed

  • [memon:v1.0.0] Update dependency marshmallow-dataclass to 8.5.14 to fix a TypeError in a sub-dependency

v2.0.7

Changed

  • [jubeat-analyser] Unknown commands now only result in a warning being shown and don't prevent the file from being parsed

v2.0.6

Changed

  • [jbsq] Limit the density graph to values between 0 and 8 (previously we only restricted it to 0 → 15 but values greater than 8 results in an empty bar in jubeat plus). (contributed by kis)

v2.0.5

Changed

  • Exceptions thrown by TimeMap methods now display seconds in decimal form and beats in mixed number notation (reported by kis)
  • Improve some error messages

v2.0.4

Fixed

  • [konami] Files with duplicate TEMPO lines would raise an expection upon being loaded. Now only the last TEMPO line is kept for a given tick, and the exception has been changed to a warning with a clearer message (reported by kis)

v2.0.3

Fixed

  • [jbsq] Use IJSQ as magic bytes when dumping charts with hold notes so that the hold symbol shows up properly on a song's preview pane when the song is downloaded from the Gift Store or transferred via local matching (contributed by kis)

v2.0.2

Fixed

v2.0.1

Fixed

  • guess_format() would raise an exception when called on a specially crafted empty jbsq file, not anymore !

v2.0.0

BREAKING CHANGE

  • Minimum required Python version is now 3.9

Added

  • 🎉 jubeatools finally has proper online docs on readthedocs.io ! 🎉 read them here

Changed

  • [memo2] The parser now displays much friendlier error messages when it finds uneven byte lengths in #bpp=2 mode

Fixed

  • A fresh install of jubeatools would fail because of a API break in a transitive dependecy of marshmallow-dataclass, fixed by pinning typing-inspect to 0.7.1
  • Most loaders would incorrectly use the internal enum value name as difficulty names for charts (like Difficulty.EXTREME) instead of the regular "display" name (like EXT), not anymore !
  • [eve] + [jbsq]
    • Custom hakus were not taken into account when computing the time of the last event, not anymore !
  • [jubeat-analyser] Update the repository URL dumped in the comment at the top of the file

v1.4.0

Added

  • [memon]
    • 🎉 inital support for v1.0.0 !
    • --merge option allows for several memon files to be merged when jubeatools is called on a folder
  • Jubeatools can now handle HAKUs in the following formats :
    • [memon:v1.0.0]
    • [eve]
    • [jbsq]

Changed

  • Improved the merging procedure for song objects
  • Re-enable calling the CLI on a folder, this was disabled for some reason ?
  • The song class now uses a regular dict to map difficuty names to chart objects, dissalowing files with duplicate difficulties (memon:legacy was the only format that technically supported this anyway, I conscider it an edge case not really worth handling)

v1.3.0

Added

  • [memon] 🎉 v0.3.0 support

v1.2.3

Fixed

  • Loaders and Dumpers would recieve options with unwanted default values when their corresponding flags were not passed to the commandline, resulting in weird bugs, not anymore ! #17

v1.2.2

Changed

  • Slashes in filenames are now ignored

Fixed

  • Bug when using braces in output filenames
  • [malody] Dumping does not write placeholder null values anymore

v1.2.1

Fixed

  • [malody] Parsing a file with keys that are unused for conversion (like meta.mode_ext or extra) would fire errors, not anymore !

v1.2.0

Added

  • [malody] 🎉 initial malody support !

v1.1.3

Fixed

  • [jubeat-analyser] All files are read and written in surrogateescape error mode to mimick the way jubeat analyser handles files at the byte level, without caring about whether the whole file can be properly decoded as shift-jis or not (Thanks Nomlas and Mintice for noticing this !)

v1.1.2

Fixed

  • [jubeat-analyser]
    • Accept U+3000 (Ideographic space) as valid whitespace
    • [memo2]
      • Accept t= commands anywhere in the file
      • Accept b=4 (and only 4) anywhere in the file

v1.1.1

Fixed

  • construct-typing is now required for all builds

v1.1.0

Added

  • [jbsq] 🎉 initial .jbsq support !

v1.0.1

Fixed

  • Remove debug print(locals()) mistakenly left in

v1.0.0

Added

  • [eve]
    • 🎉 .eve support !
    • Add --beat-snap={number} loader option to allow aggressive rounding
  • Loaders can now take in arguments

Fixed

  • Fix infinite loop that would occur when choosing a deduplicated filename
  • [jubeat-analyser] Prettier rendering of decimal values

v0.2.0

Added

  • [mono-column] #circlefree mode accepts non-16ths notes and falls back to normal symbols when needed

Fixed

  • [jubeat-analyser]
    • Raise exception earlier when a mono-column file is detected by the other #memo parsers (based on "--" separator lines)
    • [memo] [memo1]
      • Fix incorrect handling of mid-chart t= and b= commands
      • Prettify rendering by adding more blank lines between sections
    • [memo1] Fix dumping of chart with bpm changes happening on beat times that aren't multiples of 1/4
    • [memo2]
      • Fix parsing of BPM changes
      • Fix dumping of BPM changes
  • [memon]
    • Fix handling of paths-type values in metadata
    • Fix handling of charts with decimal level value

v0.1.3

Changed

  • [jubeat-analyser] Use "EXT" instead of "?" as the fallback difficulty name when loading

Fixed

  • [memon] Fix TypeError that would occur when trying to convert
  • [memo2] Fix rendering missing blank lines between blocks, while technically still valid files, this made files rendered by jubeatools absolutely fugly and very NOT human friendly

v0.1.2

Fixed

  • [jubeat-analyser]
    • Fix decimal -> fraction conversion to correctly handle numbers with only 3 decimal places #1
    • Remove Vs from the allowed extra symbols lists as it would clash with long note arrows

v0.1.1

Fixed

  • [memo2] Loading a file that did not specify any offset (neither by o=..., r=... nor [...] commands) would trigger a TypeError, not anymore ! Offset now defaults to zero.

v0.1.0

  • Initial Release