Skip to main content

Upload

Latest Beta Version

[4.2.1] - 2026-03-04

Fixed

  • (internal) Configurable storage class from env variable

[4.2.0] - 2026-03-02

Added

  • File extension is appended to uploaded file paths based on detected MIME type across all upload routes (/upload/raw, /upload/image-data-uri, /upload/file)
  • Content-based MIME type detection (stream sniffing) when Content-Type is missing or is application/octet-stream — supports PNG, JPEG, WebP, BMP, and TIFF signatures

[4.1.0] - 2026-02-27

Added

  • Saving screenshots to S3 with storage class STANDARD_IA

[4.0.1] - 2026-01-14

Fixed

  • Graceful shutdown works again. When the service is stopping, it will drain all pending requests before exiting.
  • Add keepAlive to fix 502 errors when running with AWS ALB

[4.0.0] - 2026-01-07

Changed

  • Offline actions files are processed directly by this service instead of uploading them to the storage. The response still contains an URI for BC but it's an empty string and not intended to use anymore.

Removed

  • Storage type local - it wasn't used anymore
  • Storage type rsync - it wasn't used anymore
  • Storage type queue-static-file - it wasn't used anymore

Fixed

  • Uploading files via endpoint POST /upload/file is more efficient as it streams files directly to the destination instead of saving them to the local file system first

[3.5.2] - 2024-12-11

Fixed

  • Removed vulnerable library image-data-uri and fix its usage with own implementation of image data URI decoding

[3.5.1] - 2024-12-06

Fixed

  • Re-implementation of S3 storage using wrapper class from @signageos/lib (which made it possible to get rid of the aws-sdk dependency)

[3.5.0] - 2024-10-03

Added

  • Added this changelog line to be able create tag with no real changes (hacked pipeline, hacked changelog). Should be one time occurrence

[3.4.0] - 2024-10-03

Added

  • Added support for sessionId route suffix, which can be used for upload authorization during remote desktop session. The functionality is off by default. That solves backwards compatibility of standalone Upload service and usage of this lib in other usecases.

[3.3.0] - 2024-08-30

Added

  • Add extension .png/.jpg to the uploaded screenshot files

[3.2.2] - 2024-08-23

Fixed

  • (internal) Remove raven dependency

[3.2.0] - 2024-06-19

Added

  • MemoryStorage support

[3.1.0] - 2024-04-30

Added

  • Basic service monitoring capabilities
  • Access logs

[3.0.2] - 2024-03-21

Fixed

  • Uploading screenshots from SSSP devices (/upload/raw endpoint) doesn't contain query parameter "contentLength" in metadata anymore

[3.0.1] - 2024-02-15

Fixed

  • Add a special metadata query parameter contentLength to all uploaded content to allow optimized costs on screenshots compression
  • Metrics endpoint is now available on /metrics path and provides metrics for number of screenshots and their sizes

[3.0.0] - 2024-01-17

Removed

  • Azure Blob Storage support

Security

  • CVE-2022-33987
  • CVE-2022-25881

[2.3.2] - 2023-12-18

Security

  • Fixed various security vulnerabilities
  • Upgrade to Node.js 20

[2.3.1] - 2022-08-24

Fixed

  • fix unlink function calling wrong path

[2.3.0] - 2022-08-17

Fixed

  • remove file removal from S3Storage save function

Added

  • make S3Storage upload function public

[2.2.0] - 2022-07-26

Added

  • Make libraries importable to another repositories

[2.1.1] - 2020-10-21

Fixed

  • Adjusted resources for production

[2.1.0] - 2019-06-13

Added

  • AWS S3 Storage support

[2.0.0] - 2019-06-05

Removed

  • Image compression moved to new Compressor service

[1.1.6] - 2018-12-19

Fixed

  • Memory leak in screenshot compression

[1.1.5] - 2018-12-18

Fixed

  • Allow timed-out screenshot compression after 30s to avoid infinite compressions

[1.1.4] - 2018-11-17

Fixed

  • Casually error during uploading raw image

[1.1.1] - 2018-11-05

Fixed

  • Compress only screenshots reached 100KB to reduce CPU usage

[1.1.0] - 2018-09-24

Added

  • Changelog file containing all changes in current project
  • Static server used for data is copied over rsync. It performs on-premise solution.