Skip to content

Releases: enchant97/hasty-paste

V2.3.0

10 Oct 15:31
a919efc

Choose a tag to compare

Changes

Added

  • #138; User can delete their own pastes and account

Changed

  • Cleanup now removes deleted accounts and pastes
  • Require Node V22 and Go V1.25

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

V2.2.0

18 Aug 14:00
7c9a338

Choose a tag to compare

Another update! You may notice all commits are now signed using GPG. Hope you enjoy the new UI that now matches my Note Mark app.

Changes

Added

  • #127; more expiry controls
  • admin cli (part of #120)

Changed

  • match ui with Note Mark

Fixed

  • fix navbar going off screen on mobile

Full Changelog: v2.1.0...v2.2.0

V2.1.0

24 Apr 10:54

Choose a tag to compare

Changes

Added

  • #121; ability to disable anonymous paste creation
  • #122; paste size limit & ability to disable attachments
  • #123; ability to change random slug length
  • #124; docker health check
  • #129; migrate lexer alias code to official method

Changed

  • show paste link on paste page
  • bump deps
  • update to go1.24

Full Changelog: v2.0.0...v2.1.0

V2.0.0

27 Feb 13:36

Choose a tag to compare

Hasty Paste is Back!!!

Hasty Paste II is a complete rewrite of the original app, therefore is not compatible with the original.

It implements many of the features missing from the original and is faster than V1, due to the newly written server. Unlike V1, V2 now requires a database (SQLite only at the moment) for storing all the extra data.

Changes

  • Use Go for even speedier pasting
  • Add assets to your pastes
  • Users with SSO support (with anonymous user support)
  • Paste visibilities
  • Customisable paste slugs
  • Paste rendering for plain, markdown and code
  • Paste expiry

Full Changelog: v1.10.0...v2.0.0

V1.10.0

17 Feb 21:23

Choose a tag to compare

Changes

Changed

  • Bump deps & migrate some code
  • Use hatch for python management

Full Changelog: v1.9.0...v1.10.0

V1.9.0

16 Feb 22:21

Choose a tag to compare

⛔ Deprecated feature has been removed, see #70

⚠️ New & Changed Configs ⚠️

Name Description Default Docker Default
USE_LONG_ID When "True" pastes will use a longer id False False
STORAGE__TYPE What storage type to use (DISK, S3) DISK DISK
STORAGE__DISK__PASTE_ROOT Where the paste flat file system will be kept - /app/data
STORAGE__S3__ENDPOINT_URL Use a different endpoint other than AWS - -
STORAGE__S3__ACCESS_KEY_ID Access key ID - -
STORAGE__S3__SECRET_ACCESS_KEY Access key secret - -
STORAGE__S3__BUCKET_NAME Bucket name to store pastes (should already be created) - -
HIDE_BOOT_MESSAGE Hide the ascii art boot message False False

Change Log

Added

  • #27; 🚧 Experimental S3 storage support
  • Add ability to hide ascii art boot message

Changed

  • #70; Long ID only adjustable through config value
  • Bump deps

V1.8.0

21 Dec 22:25

Choose a tag to compare

⚠️ Notice For Existing Users ⚠️

The Docker image is now rootless, you will need to adjust the permissions of the data folder to be owned by the nobody user (lowest permissions).

Why was this change made? Running the app as a non-root user reduces the attack surface if an attacker gained access to the container. The app src is also owned by root, preventing tampering and is read-only to the nobody user.

See comment here for more info.

Change Log

Added

  • Ensure Redis can be reached on app launch
  • Add ASCII art for launch :)
  • #67; log loaded configs on launch
  • #66; custom 404 page
  • Support installing using pip through setuptools pyproject
  • Added optional json accelerator (installed by default in Docker image)

Changed

  • #68; make Docker image rootless (increase security)
  • Reduce number of final Docker image layers
  • Remove ability to use "Copy Share Link" when not under secure connection
  • Improved launch scripts
  • Bump pip versions

Fixed

  • Fix long id

Full Changelog: v1.7.0...v1.8.0

V1.7.0

30 Oct 15:43

Choose a tag to compare

⛔ Deprecated features have been removed, see #50

⚠️ New & Changed Configs ⚠️

Name Description Default Docker Default
TIME_ZONE The time-zone where your clients are (used in web UI) Europe/London Europe/London
CACHE__INTERNAL_MAX_SIZE The max size of the internal cache (<=0 to disable) 4 4

Change Log

Added

  • Show expiry on paste screen
  • Configurable multi-tiered caching
  • CLI can remove empty cache folders
  • Strict paste id checking in URLs
  • Better general exception handling
  • Add human padding for paste id
  • Add more unit tests

Changed

  • Major code refactoring (pastes are no longer dependant on storage types, for future s3 object support)
  • Tidy REST API routes

Fixed

  • Fixed #53 Expiry set in UI always interpreted as UTC, by having a configurable timezone

Removed

  • Removed deprecated features, see #50

V1.6.1

09 Oct 13:25

Choose a tag to compare

⛔ Read important info from last release ⛔

Change Log

Fixed

  • #51, When override lexer is given in paste url incorrectly uses cached content

Full Changelog: v1.6.0...v1.6.1

V1.6.0

08 Oct 14:35

Choose a tag to compare

⛔ Deprecation Notice ⛔

  • Paste id's with symbol characters are being deprecated and will be removed in the future, please use the "Clone & Edit" button to resave under new id (or just delete them).
  • api route /api/pastes/{paste id} will no longer return the flat file, but instead the raw paste content
  • api route /api/pastes/{paste id}/content will be removed

These are planned for removal in V1.7 see #50

⚠️ New & Changed Configs ⚠️

Name Description Default Docker Default
CACHE__ENABLE Whether to enable caching of any type True True
CACHE__MAX_INTERNAL_SIZE The max size of the internal cache 4 4
CACHE__REDIS_URI Use redis for caching (disabled internal) - -
BRANDING__HIDE_VERSION Hide the app version number False False

Change Log

Added

  • Simple paste creation through the api
  • Ability to hide version number
  • Optional caching with internal or redis

Changed

  • Code refactoring
  • Update requirements
  • Dependency updates

Full Changelog: v1.5.0...v1.6.0