Releases: diced/zipline
Releases · diced/zipline
v3.7.0
Breaking changes
- Embed settings have been changed completely, make sure to save your previous values before updating.
- Variables for webhooks and embeds have been changed
New things
- Switched to
tsup
- Embed settings made more streamlined
- Ability to add
?download=true
to /r/ links - Generate URL Shortening scripts/configurations
- Pressing
Tab
within the text uploader, will add a 2-space tab. - Image uploading UI was overhauled
- Ability to keep original name (content-disposition)
- Folders, to put your files in
- ENTRYPOINT in docker
- Better version checking for upstream and non-upstream users!
- Clear "orphaned" files (files not owned by anyone)
- Ability to separate webhooks for upload and shorten notifications.
- Clear zero byte files script
- Logger improvements
- File sizes
- Query file size script
- Muted audio by default
- New tables for dashboard, urls, invites, users
- Ability to switch between grid and list (table) mode within those pages
- New success modals for uploads/url shortens
- New login page
- User menu reorganized
- Keyboard shortcut menu (CTRL+K, CMD+K)
- New icons with @tabler-icons/react
- Gfycat urls (adjectiveadjectiveanimal)
Bugs fixed
A lot, go ahead and check the full changelog. Any commit prefixed with fix:
is a bug-fix usually.
Pulls merged
- hotfix: make oauthid optional by @TacticalTechJay in #249
- second hotfix by @TacticalTechJay in #250
- fix: catch null at other places by @TacticalTechJay in #252
- fix: I forgot that one other line by @TacticalTechJay in #253
- Fix root url&uploader stuff by @TacticalTechJay in #254
- fix: catch hopefully the most of the edge cases by @TacticalTechJay in #251
- CORS for images/urls too by @TacticalTechJay in #257
- fix: 🐛 Add Menu component as parent by @IceToast in #277
- fix: add a "skip" for fresh db's by @TacticalTechJay in #274
- fix: Fix root url for upload and shorten, when webhooking by @TacticalTechJay in #255
- fix: use
name
instead of the now gonefile
by @TacticalTechJay in #281 - feat?: Search for the folder to add. by @TacticalTechJay in #283
- fix: return null for no string in parser by @TacticalTechJay in #285
- some startup script stuff by @IThundxr in #286
- Fix the startup script perms by @IThundxr in #289
- experiment with devcontainer.json by @TacticalTechJay in #297
- fix: spaces and route fixes by @TacticalTechJay in #294
- fix: logic error! by @TacticalTechJay in #299
- feat: Clearing orphaned files by @TacticalTechJay in #303
- Can we get a default public folder up in here? by @TacticalTechJay in #307
- feat: Lets you use sepearate webhooks. by @TacticalTechJay in #269
- A feature and a not-fix! by @TacticalTechJay in #309
- Quality of life-ish(?) changes by @TacticalTechJay in #310
- Add support for file sizes by @diced in #308
- Feature/mantine-6 by @diced in #314
- fix: update 2fa enabled appropriately by @TacticalTechJay in #315
- Fix and Feature dump by @TacticalTechJay in #324
- fine tune devcontainer by @TacticalTechJay in #329
- Release 3.7.0 by @diced in #328
- Revert "Release 3.7.0" by @diced in #347
New Contributors
Full Changelog: v3.6.4...v3.7.0
v3.6.4
Breaking Changes
CORE_HTTPS
is nowCORE_RETURN_HTTPS
What's Changed
- Ability to use
/
for shortened links, and will work if both uploader and urls route is/
- Rendering TeX files with KaTeX
- Rendering Markdown files
- A bunch of languages that weren't supported are dynamically imported (code syntax highlighting with prismajs)
- The "Show non-media files" checkbox saves your value, so that it is persistent
- Built-in SSL support, provide your own keys and Zipline will use them!
- Switch from builtin
http
tofastify
for easier development & performance benefits(?) - Most dependencies have been updated, including prisma-binaries which are now 4.7.x
- New variables parser, with modifiers and more flexibility.
- Better file pagination
- The route now has a query with "?page=1" which automatically opens that page, ex. /dashboard/files?page=2, will open page 2 automatically
- This should be easier on the database as it doesn't re-fetch all images every time the route is loaded.
- Flameshot generator now supports Wayland, and will generate files with
wl-copy
, etc. - Navbar is changed a bit, go figure out what changed ;)
- You can set a default avatar for newly created accounts
Bugs squashed
- URLs are now ordered by descending
- URLs with maxViews are deleted after serving
- OAuth improvements
- All modals have an exit transition
Pulls Merged
- oauth betterments by @TacticalTechJay in #240
- Add storage cleaning by @TacticalTechJay in #244
- chore: Update the readme by @TacticalTechJay in #246
Join the Discord, to see screenshots and more stuff!
Full Changelog: v3.6.3...v3.6.4
v3.6.3
Bugfixes
- Fixed exiftool not working on docker
- Fixed unintended recursive function when headless is not turned on for 404's
Full Changelog: v3.6.2...v3.6.3
v3.6.2
What's Changed
- Swift datasource has been removed
- Supabase datasource introduced, with support for their storage API
- Two factor authentication via TOTP codes, supported in apps like Authy and Google Authenticator
- Ability to view exif metadata in images
- Ability to remove GPS metadata from images
- Fixed database constraints bugs
- Ability to view non-media files that may be uploaded if there are no media files to be shown on the gallery
- Better placeholder component for media on gallery, no longer flickers
- Overhauled upload options, a modal will more configuration options. (Both file and text uploads have this)
- Ability to set default expiration time for uploads
- Ability to run in "headless" mode, which disables every instance of a front-end leaving only the API accessible.
- Fixed CORS issues
- Ability to use all API's with the
Authorization
header (your token) instead ofCookies
- Fixed file naming when they have no extension
- Ability to set upload route to
/
, so you can view your files like this: https://example.com/something.png instead of https://example.com/u/something.png - Stats are updated on startup, and invites are cleaned on startup.
Pulls merged
- README spelling errors by @WinterFe in #224
- feat: add configuration for default upload format by @karlmanait in #232
- Two few fixes. by @TacticalTechJay in #234
- fix: root route for uploads only & remove swift refs by @TacticalTechJay in #235
- fix: add onDelete to all relations by @TacticalTechJay in #236
New Contributors
- @karlmanait made their first contribution in #232
Full Changelog: v3.6.1...v3.6.2
v3.6.1
What's Changed
- New Icons! Background is lighter, text is a subtle gradient with blue.
- Invites work when
user_registration
is false - Fixed crash when opening images/files
- Fixed views being added on /r links
- Entire API backend is rewritten, and is more uniform
DEBUG
env var now provides very verbose logs- /dashboard/upload -> /dashboard/upload/file
- /dashboard/text -> /dashboard/upload/text
- Fixed
3d
invites defaulting to like 53 years - Large files now have their notification stay on screen, and the last chunk will have a notification saying that it's finalizing.
- If you are experiencing Zipline crashes during this stage it may be due to not having enough memory to load all the chunks. This may be changed in the future though unfortunately there is not much we can do about it.
- Progress bar for partial uploads is out of the total chunks
CONFIG_FEATURES_INVITES_LENGTH
will let you set the randomly generated string length for invites- When encountering an oauth error, you will be redirected to a styled page instead of
application/json
- Entire UI now uses the Ubuntu font (in future, maybe custom fonts?)
- Logs for partial uploads
- Logout page uses the title you set, even though it may be visible for less than a second
- List users script, list all users, duh
- Set user script, set properties on a user
- Views get counted AFTER the file has been served
Pulls merged
- Include the discord server for a place to get help :D by @TacticalTechJay in #210
- Grammar fix by @maximmax42 in #212
- House keeping by @TacticalTechJay in #215
New Contributors
- @maximmax42 made their first contribution in #212
Full Changelog: v3.6.0...v3.6.1
v3.6.0
What's Changed
- New formatting system with prettier & eslint
- Issue templates on GitHub
- Updated GitHub actions
- OAuth Registration with GitHub, Discord and Google
- User registration, the same way invites work but you don't need a code.
- Deleting a user without deleting their images is fixed
- Files can have a max views property, they will automatically delete after reaching that threshold
- Several frontend improvements
- A overhauled statistics page with graphs and other useful utilities
- Ability to view non-media files in the file gallery
- Most areas where there used to be a date has been replaced with a relative time (you can see the precise time when you hover)
- Fixed invites password strength popup
- Switch from redux to recoil
- No preview files look nicer & follow theme
- Ability to link or unlink OAuth accounts in the manage page
- A Flameshot script generator with check boxes and other things for fully customized script
- A ShareX configuration generator with check boxes and other things for fully customized config
- Ability to force update statistics on the manage page if administrator
- Ability to preview code uploads
- Ability to search through languages in text uploads
- More info on URL cards and Invite cards
- Ability to upload large files (>95 MB or custom limit) via partial uploads (chunked uploads)
- Transition to dayjs from other random libraries for dates
- New
import-dir
script to easily import a directory into zipline - Updated most dependencies and now relying on Node v18 as it is LTS.
- File serving has been reworked with a new system
- Text uploads with passwords now actually are password protected
- the /invite/[code] page has been turned into /auth/register which is also used for user registration.
- Ability to bulk create invites
- Max views works on shortened URLs too
- Exports work on S3 and other datasources if they didn't already.
- New Configuration keys
- Entirely new configuration validation system
- CORE_HTTPS is fixed and actually works
DATASOURCE_S3_PORT
DATASOURCE_S3_SSL
UPLOADER_ADMIN_LIMIT
now accepts values like10mb
or50mb
, etcUPLOADER_USER_LIMIT
now accepts values like10mb
or50mb
, etcWEBSITE_DISABLE_MEDIA_PREVIEW
will completely disable all media previews on the dashboardOAUTH<GITHUB/GOOGLE/DISCORD>_CLIENT_<ID/SECRET>
Configures oauth2 clientsFEATURES_INVITES
Disable/enable invitesFEATURES_OAUTH_REGISTRATION
Enable registration via oauthFEATURES_USER_REGISTRATION
Enable registration via the register button on the login pageCHUNKS_MAX_SIZE
The max size of a file before it gets chunked into smaller requests, this value supports values like10mb
, etcCHUNKS_CHUNKS_SIZE
The size of each chunk, preferably smaller than the max size, this value supports values like10mb
, etc
Pulls merged
- overhaul a lot of stuff by @ItzDerock in #171
- feat: add password field in file upload ui by @develerik in #169
- Change outdated url. by @Wolfy0615 in #172
- fix: NaN on stat card by @ItzDerock in #179
- add S3 SSL as an env variable by @WinterFe in #188
- fix(Dashboard): error when fetching stats by @axisiscool in #193
- fix: Follow proper linebreak style. by @TacticalTechJay in #191
- feat: Create many invites added. by @TacticalTechJay in #194
- hotfix: change text to adjusted limit by @TacticalTechJay in #196
- fix: only display exports that are your own by @TacticalTechJay in #197
- fix: use os.tempdir instead of hardcoded /temp by @TacticalTechJay in #198
- Update EditUserModal.tsx by @TacticalTechJay in #199
- perf: config validation improvements by @axisiscool in #192
- feat: prettier run by @axisiscool in #200
- Feat/issue template by @TacticalTechJay in #202
- feat: v3.6.0-rc4 by @TacticalTechJay in #207
New Contributors
- @ItzDerock made their first contribution in #171
- @develerik made their first contribution in #169
- @Wolfy0615 made their first contribution in #172
- @WinterFe made their first contribution in #188
- @TacticalTechJay for helping with other PR's and a major OAuth overhaul.
Full Changelog: v3.5.1...v3.6.0
v3.5.1
What's Changed
- Discord webhook notifications (upload and shorten only at the moment)
- There is a tooltip when hovering over the expire value on the file pop up that shows the entire date
- Fix the image table on the dashboard
- The version is now shown again but on the sidebar. It will have a red badge if outdated and when hovering over it, will tell you to update
- External links, you can configure your own links to show up on the bottom of the sidebar
- Domain duplication on the manage page is now fixed
- You can use dates such as
1d
to represent 1 day in theExpires-At
header field. - New scheduler type way to delete invites that are used, its interval can be configured (default 30m).
- Images that are compressed into jpgs, now have their mimetype and extension changed
- The expire time is shown in the response returned by /api/upload
- Expires at time is shown on recent images on the main dashboard page
- There's a script that will return the raw config, useful for debugging.
run scripts:read-config
Full Changelog: v3.5.0...v3.5.1
v3.5.0
What's Changed
- Update to Mantine v5 (with this comes many frontend changes)
- Update to Prisma 4.1.x
- Switch from custom esbuild to using
tsx
(still using esbuild) - Image expiration, you can make your image disappear forever!
- Image compression, save up on space and internet bandwidth!
- User avatars, spice up your dashboard by uploading an avatar
- Modals all have the same properties and should look the same
- Video embeds (still experimental)
- Reject creating a URL with a vanity that already exists
- Other small fixes
- New documentation! https://zipline.diced.tech
Full Changelog: v3.4.8...v3.5.0
v3.4.8
What's Changed
- Configuration file (TOML) has been removed, in favor for environment variables. If you would still like to use a file for your configuration you may use
.env.local
as the file. Please use the.env.local.example
file as a starting point - Builds are now split, you can use the stable release channel which updates on every tag release, or you can use the bleeding edge version which is built on every commit.
- Update mimes list which a much larger version
- Invites are now here! Feel free to invite your friends by creating one on the dashboard then sending a link to them so they can use your instance.
- You can now upload text like you can on text uploading websites such as pastebin and hastebin which language support
- The file viewer on the home page and files now is quite different. Videos, audio and text files will not be previewed, in order to view them you willl need to click on it an then the preview will show up. Text previewing has been added, using prismjs rendering and only a handful of languages are supported at the moment (syntax highlighting).
- Switch to using feather-icons
- You can now configure whether you want to hide the "files per user" table in
/dashboard/stats
for privacy reasons - You can now configure the apps title to anything you would like, including the one on the nav/header bar
- Bunch of small changes to the front end to make UX more pleasing I hope
- Files returned will now have a Content-Length header so when you download files it will show the remaining bytes left!
- New error pages, 500, 404
Full Changelog: v3.4.7...v3.4.8
v3.4.7
What's Changed
- Add Openstack Swift support by @cestef in #154
- add link to xsel by @advilm in #157
- Multiple files had some refactoring done
- Previewing files on the upload page works with audio and video
- Exports on the manage page show their size
- Password fields now use Mantine's PasswordInput which allows you to click an eye to show your input
- Use of
crypto.randomUUID
instead of the npm packageuuid
- Switch from
aws-sdk
tominio
for s3 support, endpoint for s3 is required now - You can set the region of s3 now
DATASOURCE_S3_REGION
ordatasource.s3.region
they default to us-east-1 - Removal of scripts folder, no need for it anymore
- Revamp error pages (404, 500, etc)
- When logging in instead of showing notifications the fields will show an error
- Fixed bug where when logging out the state does not reset (noticeable when logging out then logging into a different account where it would show the old user without doing a full refresh of the page)
- Theres a loading overlay shown on all pages now
- Probably a bunch of other stuff I forgot to include while reading the diffs
New Contributors
Full Changelog: v3.4.6...v3.4.7