Skip to content

Releases: BBaoVanC/bobashare

v0.2.14

26 Jan 06:41
v0.2.14
eb3097a
Compare
Choose a tag to compare

v0.2.14 - 2025-01-26

Bugfixes

  • Fix crash on startup due to path matching syntax changing in axum 0.8

Internal Changes

  • Rewrite bobashare_web::str_to_duration to not use regex
    • This removes regex as a dependency entirely, since that was the only place
      it was used.

Full Changelog: v0.2.13...v0.2.14

v0.2.13

17 Jan 10:03
v0.2.13
a041d4a
Compare
Choose a tag to compare

v0.2.13 - 2025-01-17

Features

  • Add configurable, custom about page
    • configured by setting about_page to the path of a markdown file to render

Internal Changes

  • Deduplicate the link preview meta tags in <head> set in template files; move
    to base.html.jinja instead
  • Throw compile error if main block is not overridden in a template inheriting
    base.html.jinja
  • Move markdown rendering code out of bobashare-web/src/views/display.rs and
    into main module, so it can be reused in about page rendering
  • Replace usage of Arc<AppState> with &'static AppState which is leaked
    before starting web server
    • This feels a bit nicer because there's no need to reference count a type
      which must live for the entire program anyways.
  • Don't potentially try to create a string with usize::MAX capacity when
    displaying a file
    • Pretty sure that since all relevant (>= 32 bits) platforms can fit 1048576
      in a usize, that this bug would never actually happen. But it shouldn't
      exist in the code.

Full Changelog: v0.2.12...v0.2.13

v0.2.12

04 Nov 09:59
v0.2.12
cf60f3b
Compare
Choose a tag to compare

v0.2.12 - 2024-11-04

Bugfixes

  • Fix seconds not being a supported duration unit in str_to_duration (originally introduced 8eeb4db).

Internal Changes

  • Entirely rewrite TemplateState to use references instead of cloning
    • Also remove askama_axum as it is easier to reimplement locally by rendering template to String manually
    • Also includes a major rewrite of how ErrorResponse works
  • Make CurrentNavigation type used in TemplateState be Copy since it is a simple value enum
  • Remove unnecessary lifetime parameter from ExpiryUnit since they are always 'static

CI Changes

  • Fix cross compilation, so the attachments uploaded to releases should now be the correct architecture.

Full Changelog: v0.2.11...v0.2.12

v0.2.11

22 Sep 06:11
v0.2.11
42019ee
Compare
Choose a tag to compare

v0.2.11 - 2024-09-22

Bugfixes

  • Fix uncaught error if network connection drops in failed upload
    • This was also causing the popup error dialog not to be shown

API (minor, non-breaking) Changes

  • Use plaintext response to invalid routes on /api
    • Instead of default HTML template response, send a plaintext error message
      which is easier to deal with or read, i.e. when using curl directly.
    • This message is not considered part of the stable API! Please do not match
      it directly in API clients; read the error code (404) in the response
      instead.

Visual Tweaks

  • Add extra info bar to display page to show upload ID and view raw button
    (fixes #4)
    • Browsers do not display the URL in an unambiguous font, so it can be hard to
      read the upload id by eye. Add a second bar so the id is displayed in a
      monospace font in the page body. Also make the filename monospace font so it
      is easy to read too. Two bars gives more space, so add a "View raw" button
      which is good for copy-pasting the entire file.
  • Make current navbar selection white instead of blue and add margin below top
    bar on main upload page
    • This makes it easier to distinguish the "Upload" navbar item from the file
      upload form, so users are less likely to accidentally click it when trying
      to upload the current selected file.
  • Fix filename not being vertically aligned on display page
  • Set color-scheme: dark to make native elements use dark mode (partial fix for
    #7)
    • This fixes the arrows looking light on the number input for expiry, but not
      the weird-looking pseudo-skeumorphic dropdown select box for the expiry unit
      on Safari.

Internal Changes

  • Destructure State directly in URL handler function parameters to clean up
    state.0 usage
  • Remove redundant struct construction in From<Arc<AppState> for TemplateState
    • Exactly identical code was used in both the From<Arc<AppState>> and
      From<&AppState> impl's to construct TemplateState; instead, just call
      the From<&AppState> impl from the From<Arc<AppState>> to remove the
      redundancy.
  • Remove obsolete leftover TemplateState::icon method
  • Remove unnecessary allow(unused_variables) in views::display::string_is_true
    • Replace it with an underscore expression

Testing

  • Add cargo-public-api test that fails if public API changes

Full Changelog: v0.2.10...v0.2.11

v0.2.10

08 Aug 04:16
v0.2.10
d9b4868
Compare
Choose a tag to compare
  • Upgrade dependencies
  • Replace duration_str with simple regex implementation
    • This means that you can no longer use sums of durations (ie. 1d 5h 20m).
      However, this feature may return in the future.

Documentation

  • Fix indentation in bobashare_web::Cli list
  • Fix headline for static_routes module

Full Changelog: v0.2.9...v0.2.10

v0.2.9

10 Mar 06:18
1d210a2
Compare
Choose a tag to compare
  • Add rustdoc via GitHub Pages
  • Add basic documentation
  • Upgrade dependencies

Full Changelog: v0.2.8...v0.2.9

v0.2.8

18 Sep 21:46
388161d
Compare
Choose a tag to compare
  • Fix Docker image by upgrading Debian

Full Changelog: v0.2.7...v0.2.8

v0.2.7

18 Sep 21:35
600ed78
Compare
Choose a tag to compare
  • Upgrade dependencies

v0.2.6

18 Sep 21:17
bc1a846
Compare
Choose a tag to compare
  • Upgrade dependencies

v0.2.5

11 Apr 21:46
1f39767
Compare
Choose a tag to compare
  • Update dependencies
    • axum fixed a performance regression in v0.6.13