Skip to content

Releases: alexthemaster/sharex-server

v3.0.0

18 Dec 20:05
824d693

Choose a tag to compare

Feat

  • Add .start() and .stop() functions
  • this.port gets reassigned if user provides port 0 (automatically assigns an open port)
  • Properly implement streaming by implementing Range logic
  • Add testing, this was way more tedious than I imagined but it should catch problems that might occur down the line so I won't push 5 patch updates in the timespan of 1 hour again

BREAKING CHANGE: Server no longer starts automatically; you need to call the .start() function

Fixes

  • baseUrl normalization uses replaceAll to handle nested paths
  • Throw Error instead of exiting the process when no password is provided

Build

  • rm -rf dist folder before building

Chore

  • Update dependencies
  • Add prepublishOnly script that runs lint, build and test
  • Update Docker index.js to use new .start() function

Internal

  • Moved route registration to #setupRoutes()
  • #serverListener now explicitly allows null

Full Changelog: v2.4.6...v3.0.0

v2.4.6

17 Dec 18:45
bfa66df

Choose a tag to compare

Fixes

  • Forgot to properly handle Express' shenanigans for this.#handleSxcu and this.#checkAuth and for uploading files
  • Make sure SXCU and file listing route has priority over the catch-all for the uploaded files
  • URL return had spaces

Don't ask me about the other patch versions, I'm an idiot lmfao

Full Changelog: v2.4.0...v2.4.6

v2.4.0

17 Dec 18:25
9fb148e

Choose a tag to compare

Features

  • Docker:

    • Dockerfile now installs the published npm package instead of building locally
    • Added Dockerfile.dev for testing local changes inside Docker without publishing
    • Dynamically load production or local build of sharex-server into docker/index.js based on DEV environment variable
  • Implement Content-Length header to support scrobbling files

Fixes

  • Videos stop mid-stream and don’t resume
  • (Docker) Check if forceHttps is undefined and remove automatically assigned false

Chore

  • Update dependencies
  • Move @types/express to dev dependencies
  • Rename CI.yml -> continuous-integration.yml
  • Extract code into functions and constants for readability
  • Use res.json instead of JSON.stringify

Docs

  • Add badges to README
  • Clarify how the safeguard works and how generated filenames are handled

Full Changelog: v2.3.0...v2.4.0

v2.3.0

11 Dec 17:11
61eb155

Choose a tag to compare

Feat

  • Add trustProxy option

Full Changelog: v2.2.0...v2.3.0

v2.2.0

07 Dec 22:08
7a2bd15

Choose a tag to compare

Feat

  • Use original filename (even no extension)

Fix

  • Properly parse booleans in Dockerfile

v2.1.0

07 Dec 21:12
a84d5c5

Choose a tag to compare

Feat:

  • Add forceHttps option

Fix:

  • sxcu endpoint was linked in / when disabled

V2.0.1

07 Dec 20:55
511a402

Choose a tag to compare

Fix

  • sxcu endpoint was always enabled (do an explicit check)

V2.0.0

07 Dec 20:24
b1a7267

Choose a tag to compare

⚠️ Breaking changes, read README for new configuration

  • Rewrite to Express and TypeScript
  • Add ability to upload any type of file
  • Add files directory listing
  • Add debugging option
  • Add Continuous Integration for linting and building
  • Endpoint for downloading .sxcu file for ShareX (/api/sxcu)
  • Update Docker documentation and build from source, instead of installing from NPM
  • Update Docker image to LTS

v1.1.3

28 Dec 21:23
f7e755d

Choose a tag to compare

  • Updated dependencies
  • README changes

v1.1.2

03 Sep 20:00

Choose a tag to compare

Bug Fixes

  • Use the user provided fileLength property