Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Next version major breaking changes #1271

Open
Tyrrrz opened this issue Aug 6, 2024 · 0 comments
Open

Next version major breaking changes #1271

Tyrrrz opened this issue Aug 6, 2024 · 0 comments

Comments

@Tyrrrz
Copy link
Owner

Tyrrrz commented Aug 6, 2024

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 (Rework the CLI commands to be more composable #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 (--reuse-media creates an unacceptably high chance of a collision #1231 Improve filenames for downloaded assets #1232)
    • This is a breaking change due to the "reuse assets" feature relying on the existing filename strategy.
  • File name replacement tokens rework (Make template tokens work properly for export paths of threads #1123 Add path placeholders for threads #1192 Add "%r" placeholder to wrap parts of the path #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 (Remove CDN signature before hashing asset URL #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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant