DiscordChatExporter icon indicating copy to clipboard operation
DiscordChatExporter copied to clipboard

Next version major breaking changes

Open Tyrrrz opened this issue 6 months ago • 0 comments

The upcoming major version update (3.0) is expected to batch a few notable breaking changes. Here's the current planned list (none of these are done at the time of writing):

  • CLI commands rework (#1210)
    • The details are explained well in the linked issue
  • CLI AOT rework with new CliFx (pending new AOT-compatible CliFx release)
    • Currently, the CLI app flavor relies heavily on reflection for command routing, parameter/options binding, etc. Moving to AOT-compatible approaches (i.e. source generation) in CliFx will allow us to improve performance and further reduce binary size.
  • Asset file name collision fixes (#1231 #1232)
    • This is a breaking change due to the "reuse assets" feature relying on the existing filename strategy.
  • File name replacement tokens rework (#1123 #1192 #1170)
    • Original tokens were introduced at a time when channels had no nesting. With categories and threads, there's currently no good way to automatically organize exports in a hierarchical structure.
  • Markdown false by default for JSON
    • This default makes sense for JSON where users want data as raw as possible.
    • Having different defaults for different formats may be confusing.
  • Download assets true by default for HTML
    • Due to the new CDN policies (#1138), HTML exports without downloaded assets become almost unusable after some time.
    • This mainly affects the HTML format, as others are not as reliant on rich media assets (images, videos, etc.).
    • Having this as the default will significantly increase the export time for the 90th percentile user, so it's important to highlight that in the UI.
    • Having different defaults for different formats may be confusing.
  • Remove the CSV export format
    • CSV format was deprecated in favor of JSON a long time ago and hasn't been updated past the most rudimentary features. Nobody should be using it, as JSON is better in every way, so it makes sense to remove it.
    • One minor advantage of the CSV format is that, due to its minimal features, it's really small. JSON has a bit more overhead, but it shouldn't be dramatic.

Tyrrrz avatar Aug 06 '24 20:08 Tyrrrz