254c658 change default domain
cda5c63 remove get required arg: path
97bfacd remove file cout. Fixed #256
82f1a84 add separator after spinner
f4cc741 add missing dependancy
d99329e fixing console \n
5051976 add spinner loading time
83f77e3 update api status return
4b7bfc8 fix missing args in run
89c0470 add line skip after spinner
0b1f282 remove default server
0c67363 fix server urlparse
4ff77ca fix server urlparse
a7e7f40 add default version
8ef45a4 workflow mock edit
67859c8 add missing console init
322b447 move logout confirmation for not to be cleaned by spinner
29ba81c fix logout rendering
6ef8eb6 halo -> rich
71c1cd3 make sync report
b0eed17 add missing trailing /
2cacd71 allow protocol in server url
cb960f0 add drp -h support
2e2d85c add logout view
72baa92 add manual spinner stop
260ae66 add logout prompt
2028ac6 add new line after sipper
9a1d7ee fix api path & add spinners
4c3d5f1 fix wrong api path
a0aa3a5 fix: remove old context processor
352a5d2 add missing requirements
29c87aa add missing requirement
7ac9f3a fix error handling
58eb3e6 fix: status api path
ce5ba0b remove frozen edit (cmd.run=run)
fc1cac9 add guest logout warning
eadda22 Three changes: main.py defaults to "help", routes --help/-h to the help command, and strips the error print since report() already handles it. urls.py adds the status/ endpoint. views.py adds the status view with token auth via validate_token.
403ad92 add token check
4980473 add missing return statement
0645f69 remove default cmd
3955d55 add missing dependancy
5b162b3 remove test job
38c322b remove multi-python version testing
8d41d1b add missing requirement
ae6b56b Migrate & fix circular imports + outdated model options
0ff6b1a set up login, logout and status
363b6fd simplify plans info injection
dd6a75b simplify models
db582eb set up cmds and their args
35d302f Cleared the workflows
141b284 Revert to better templates
4b0b483 fix: CI stamps VERSION file instead of sed-ing cli/init.py
5bd8e33 fix: proper version sourcing — file-based build, importlib.metadata runtime
c6b60d4 fix: resilient VERSION read + add home/contact/use-cases views
c23ead5 feat: auth views, error handlers, decrypt cmd, template reorg, cleanup cmd, ancestor pw check
4508275 Remove features page, convert bug report to contact, drop folder limits
8d423aa core, bot, helpbot API, and integration tests
fc55a79 setup GitHub issue filing via com/issue and add integration test
8b6d38a setup email sending via Resend and add integration test
eb3ac29 reset
1422054 Fix github env var
c89a21c fix: email logging
6adf805 fix: email logging
e8e12ae fix: static progress bar
ce3ad82 Fix email erors
ee402af debug: email
3d97978 Debugging urls
0d081b8 fix: views errors & cli behaviour
6256a50 fix: effective replacement of manage.html & nav-drive
4413e74 fix: major bugs
a0d6ccc fix: restore replaced file
4d54695 fix: cli errors and manage views
ef5b49c Add missing template
8c097ba fix: update shell, up, mv commands and templates for improved path handling and text/file rendering
44a7c59 fix: template errors
f5fedc7 Fix hanging views
049fe9f feat: add cache for autocomplete
cb28d27 fix: deduplicate manage.html
e35d36d Fix path resolution and wrong template vars
c17975a Flattened cli cmds
2934e13 Mock edit
4d8cb96 Remove failing test
9ff53d7 fix: ls cmd
824e50e Fixing up errors
a21da93 Fixing errors
6fc9c90 Fix upload
84e7234 mock edit
419e301 Fix completion
7f80248 Fix txt uploads
0303e40 up txt
94c3b60 Add back home
9e86fe0 Fix circ. importy
d47c54f Fix login
85bfbd2 Fix login
60c9404 Update urlpatterns
d153870 Fix missing dependencies
b4ee78f Add api urls
a788f9a Fix setup errors
73f7fed Test edit
5f9a555 Add tests
134d379 Fix mro errors
6f8deab Revert "Fix mro errors"
d872215 Fix mro errors
1b24544 Fixing refactor errors
beb3a4f yRevert "fix: update CLI entrypoint to cli.main:main in pyproject.toml"
23bf125 Revert "Removed cli.drp refs"
2cdd86d Revert "fix: resolve MRO error by making AuthCommand sole base for StatusCommand and TokenCommand"
06f126d Revert "fix: resolve MRO error by making AuthCommand sole base for LogoutCommand"
c2582d8 Revert "feat: add --version support to drp CLI entrypoint"
bca2dc8 Revert "fix: add main.py to cli package for python -m cli support"
2de6cfd fix: add main.py to cli package for python -m cli support
de56cea feat: add --version support to drp CLI entrypoint
a3f5f51 fix: resolve MRO error by making AuthCommand sole base for LogoutCommand
22d3bba fix: resolve MRO error by making AuthCommand sole base for StatusCommand and TokenCommand
ce8bbef Removed cli.drp refs
ebf81f6 fix: update CLI entrypoint to cli.main:main in pyproject.toml
7f73e6a Fix versioning
5d095c0 Refactoring
51050c4 fix: owner bypasses 24h creation lock in can_edit() + cleanup
9128f66 fix: CSRF 403 on uploads, copy_drop import, cp local file support
9d4b7a6 shell: add get/cache/rmcache commands, auth-check before cp upload
95ae668 test: add 78 real shell REPL tests
f71b5bf fix: shell UX — prompt path, cp local detect, cd .. exits, no flicker
a0a5650 fix: ls JSON error, drp opens shell, tab-complete for up
bc70871 fix: set USERPROFILE in tilde tests for Windows compat
855ccfd fix: regenerate migrations from scratch, drop stale tables
cb9fcd9 test: expand integration tests for all server features
7a14297 refactor: remove kind DB column, use computed properties
e54f460 simplify completion system, fix server 500s, fix error reporting race
9b096c9 fix: register ls as top-level command, shell cp handles local file paths
2da44f6 chore: remove stale pricing line from cli init
1e617fe fix: resolve test uses Path.resolve() for macOS symlink compat
30a562c Cleanup for simplicity
9cd5a91 CLI parity: wire all commands, fix ls filename display, rewire shell, add tests
66eb026 fix: shell context, filename keys, key collision suffix, bad char rejection
16eb358 squash migrations, seed email templates, admin cleanup, auto-generate plain text from HTML, bug fix notification wording update
6229023 fix: strengthen helpbot system prompt against recommending alternatives
c9beb28 fix: add key autocomplete to lock and rmcache commands
f4e3833 fix: manage page expiry column shows meaningful values
acda963 fix: file key auto-generation, CLI syntax coloring, admin cleanup
7a784e5 feat: manage page, email templates in DB, broadcast improvements, admin cleanup
379fe95 feat: edit button for rendered file drops on web
20790cb feat: pygments code highlighting in CLI --parse, CSV table rendering on web, fix CSV false-positive detection
67b316e feat: --parse for file drops, use-cases reorder + switch/serve, bot docs refresh
d7cb213 feat: status autocomplete, format detection, colored parse, drp switch
914bf78 trigger CI
ff035e3 update pricing to CA$5/CA$10, show USD equivalent
5733fe1 fix test: set args.history=False so --clear branch runs
61eeed5 add drp ask --history to view conversation history
108e41f add drp ask/history docs to helpbot feature reference
92ed39d remove compare/render buttons for clipboards, sync chat history server-side
fae0360 fix: README install command says drp not drp-dev
9a763c1 revert: switch back to qwen2.5:1.5b — gemma3:1b hallucinates
081f3a4 fix: helpbot says pipx not pip for install command
0d7ea08 chore: rename dev package drp-cli → drp-dev, bump to v1.0
67d80db chore: switch to gemma3:1b, rewrite READMEs, clean up helpbot
7cd0bd8 fix: handle live reference fetch errors gracefully
40dc9f6 fix: prevent binary dump on live reference get
490b9c5 feat: dismissible GitHub star banner on home page
5325857 feat: drp lock, ask history/clear, anti-hallucination prompt
06b0652 fix: drp get -f download display bugs + retry on broken connection
5f8d447 fix: make helpbot embed test resilient to non-deterministic LLM output
8c1f178 feat: background version-check with dynamic package detection
8c1c47e fix: integration tests use PostgreSQL, unit tests use SQLite
feb0e8d never connect to production DB during tests
9395086 make plan limits admin-configurable: remote_upload field, ungated drp get
1a7c750 restrict server-side URL upload to Pro plan only
edb2cb6 feat: spinners, retry logic, enhanced get URL, server-side URL upload
54a123d fix: restore plan downgrade access restrictions + thorough tests
761f70e refactor: split save button into Get clip / Get file
f3ba2dc feat: separate PyPI readme for dev vs stable packages
2ff7db1 feat: add development version warning to PyPI listing
a47ebb8 fix: align save button with creator column using same grid wrapper
6e18c31 fix: properly center save button with block display and auto margins
3d30f71 fix: center save button result link
399bf17 fix: center save button and reduce Koho card height
8840bb7 feat: move save button after ad slot, reduce ad to standard 300x250 size
419688a fix: align ad slot to match creator panel width and position
e9824b4 feat: replace use cases section with centered ad slot on home
fc9aa47 feat: add comprehensive security documentation to help pages and legal
f5cceff feat: implement plan downgrade access restrictions + security hardening
44f1a9f refactor: reorder use-cases by usefulness + add interactive password prompts
eb87f9e feat: conditional Railway ad display based on AdSense fill
87cad06 fix: external URL fetch no longer leaks drp auth header to third-party APIs
0d00bac fix: help bot now distinguishes API tokens, transfer tokens, and group invite tokens
7171b7b fix: shell now respects quoted strings (shlex.split)
ef5b482 feat: likes on public drops + sort by likes on explore page
dbed75e feat: drp send / claim — transfer drop ownership via one-time token
7433937 feat: live API references — drp up URL stores live link, fetched fresh on each get
7e13e54 Add missing folder
7641ebd docs(cli): add smart get examples to CLI help
8a7fee4 fix(tests): skip PDF tests when reportlab is not installed
d534a6e feat: smart get — auto-parse, dot-access, URL fetch
b53dce5 allow username sign-in on web and CLI
35319cd fix help pages not responsive
5b8731c enforce responsive CSS across all pages
452ce73 readme: remove price from commercial license section
b40cc92 readme: add commercial license section
bd0d268 commercial licensing: form + PDF generation via Lemon Squeezy
48b2575 fix bot prompt + add --parent to collection CLI
2304c64 sub-collections, unified shell, plan downgrade tests
44d0129 feat: shell autocomplete + all drp commands + cache/rmcache
372ff80 cli: add spinners to ask, load, token, and collection commands
2cd978d cli: fix ask command not published, bump timeout to 120s
6a8e06e bot: fix hallucinated commands/URLs, add markdown embed example
5219c56 bot: suggest -k for custom keys, mention expiry/plans in embed answers
596feb0 bot: more few-shot examples, explicit flag docs, fix hallucinations
1709726 sched: auto-promote top feature weekly via background scheduler
7098159 feat: auto-promote top-voted feature to GitHub issue
0a8bdad bot: ultra-concise prompt with few-shot examples, max_tokens 150
f56d3d1 Fix bot recommending competitors: upgrade to 1.5b, harden prompt
67ee0ac Move num_ctx into options for Ollama /v1 compat
bf43fac Trim bot context to fit 0.5b model (4096 token limit)
761c115 Fix cold-start timeout: warm up model + increase timeout to 120s
49218b1 Auto-normalise LLM_BASE_URL from bare hostname
d9ee47c Simplify Ollama service: private networking, no auth
44a6b60 Move ollama service to ollama/ (root level)
f833e3d Add Ollama Railway service with auth proxy
e7d8591 switch help bot from Gemini to Ollama (OpenAI-compatible)
1431bf3 add integration tests for help bot answer quality
8f1f386 remove cleanup script
0595c87 remove temp scripts
265ff13 fix bot context: strip JS/CSS, drop README, expand embed docs, add bias
5a48511 remove temp script
cfb62a3 fix: render CLI docs from argparse instead of stripping template
22107a2 improve help bot: richer docs context + better system prompt
1b41c9d use gemini-2.5-flash-lite (current, not deprecated 2.0)
3dcd2d7 switch Gemini to flash-lite (free tier), make model configurable
94b9ea9 patch _report_gemini_error in error-path tests
77f936a move help bot widget to all pages, fix 502 error handling
4bbc195 feat: per-plan help bot limits + drp ask CLI command
daa9496 feat: help-page AI bot (Gemini Flash)
ba75d7c feat: login accepts email or username, add --token login option
2c8a8eb chore: trigger CI publish
1f87255 fix: restore env-aware B2 bucket default (test vs prod)
753f504 fix: B2 bucket default back to drp-files (key is scoped to it)
ac656c7 fix: hard_delete preserves DB on B2 failure, auto-scheduler, PyPI auth
8dc7a65 feat: background scheduler for expired drop cleanup
aa23dd4 fix: embed view allows iframes, contact→admin@, PyPI use API token not OIDC
7131b38 fix: add contents:read permission for private repo checkout
f3ae29d fix: add id-token:write permission for PyPI trusted publishing
0c10148 chore: trigger CLI publish to verify PyPI pipeline
1276597 fix: dev env defaults to drp-files-test B2 bucket
55257ff fix: is_test expiry respects plan logic, plan_limits fallback, renewals plan check
b7d03a2 cleanup: remove use-cases from help, fix sidenav overlap, use drp@domain for contacts
b71e6ea feat: animated use-cases page with terminal simulations
916b2c7 fix: explore template error, remove feature from issues, features in nav
2f6cd6e fix: remove publish gate — let PyPI fail naturally
3f0d0d2 fix: use vars.PYPI_DRP_READY instead of secrets (works in job-level if)
4ff2849 fix: gate main publish on PYPI_DRP_READY secret, release after PyPI
7486d1c fix: use same PYPI_API_TOKEN for both workflows
b53ff30 fix: version from PyPI query instead of run_number
522b46d fix: no-commit versioning — CI stamps version at build time
4d9f2d6 bump: drp-cli v0.3.1
3c716b0 refactor: merge-friendly versioning — VERSION file, split CI workflows
39063bc fix: merge-friendly branches — remove hardcoded drp.vicnas.me, fix vote weight
521a664 feat: QR codes, nice-to-have tests, replace is_test with short expiry
ee01609 feat: sections 1-13 — groups, API keys, aliases, templates, embeds, public drops, features board, landing/help
20d0cdf Merge branch 'main' of https://github.com/vicnasdev/drp
61ed557 v0.2.28
8062edf test: password protection
263c562 fix: secret protection
e9f0f22 Sync tests to db
f0b3f5a v0.2.27
b70ffde test: late progress display
8ffddf3 v0.2.26
8e2c46f test: no progress display
a15da8c fix: add content_type field to Drop and persist on upload
9c8234c Remove mobile_blueprint feature: deleted views, template, URL, imports, and staff nav link.
4c65375 fix: move plan_fields to view context — Django templates can't call split() with args
cf40781 Merge branch 'main' of https://github.com/vicnasdev/drp
de085bc docs: move domain to readme title
eeb970e v0.2.25
5a07c90 fix: test issues reported
44294fe Merge branch 'main' of https://github.com/vicnasdev/drp
d6cb0fc v0.2.24
fa7fd13 fix: tab pbs
861cbb5 void: edit for release
914180a fix: patch manage.config separately for rename_local_drop assertion in test_mv_success
38bcbd8 feat: add GitHub issues commands to Makefile (issues, issues-full, issue, issue-new, close, reopen)
96c4288 docs: simplify README — remove CLI reference and detailed config, link to site
59d449e Edit for release
c750412 fix: missing patch
9edc24f fix: tests
27ca857 fix: misplaced files
069363d fix: stale import
c02dc5e Move all fixes/ files to their correct locations as per migration plan. Replace existing files. No code edits.
abf51ce Fix integration tests
9d8a473 v0.2.23
379ed67 Merge branch 'main' of https://github.com/vicnasdev/drp
b9a9447 fix: add logging
8aec35e fix: add Referer header to collection delete in test cleanup
5d1e845 fix: import raw_file directly in urls.py
1c3da75 fix: cap local drop cache at 200 entries
1ca6676 fix: shell prompt and status command
8d0ead0 fix: collection delete cleanup and render CORS
6c81c07 v0.2.22
e2f7d5b Edit for release
5a60af2 fix: failed tests
b88e498 fix: failed tests
9178f5f feat: web diff, plan limits in DB, email prefs, file rendering, collections dashboard, CLI improvements, full test coverage
61fc1ef Update issue button
7195c87 feat: add missing views
6aedc5f Update issue button
7a74c73 fix: mobile centering
f619605 Fix readme length
342ee8b fix: mobile centering
303f0ef fix: mobile centering
56cade3 Remove mobile ads
bb882e6 Fix
15dc0c4 feat: add staff-only mobile app blueprint viewer
856f90b v0.2.21
a4c2f67 Edit to release
767f21d fix: raise upload limit and use simple static storage in unit tests
1b22b44 Fix set-domain for github webhook
4723a2b fix: set-domain webhook block runs in single shell, drop curl -f
3de10c1 feat: set-domain auto-creates/updates GitHub webhook
eddd6e8 feat: set-domain auto-creates/updates GitHub webhook
59dd1fc Remove plans from readme
e3d4063 Merge branch 'main' of https://github.com/vicnasdev/drp
47ed397 fix: hide_identity checkbox default; improve webhook logging
45402f4 test: full suite overhaul + plans page redesign
fb1a25c v0.2.20
7937fd8 fix: mark test drops at creation; remove mark_test_drop signal; fix RuntimeWarning
7efb1b4 fix: run purge_test_data once per deploy, not per worker
ad99e1f fix: delete test user drops before deleting users in purge
ea4fd9b fix: shorten admin page title to 'page | drp'
2a37ca2 fix: move mark_test_drop signal after Drop class definition
215fdf5 fix: restore export_drops function lost during turnstile removal
ca6ab7d feat: bug fix email notifications + remove Turnstile
b9b03e3 Remove useless
61029be Fix imports
8b76484 Models update
2385fe6 Fix auth
a2f8d6e feat: email verification, Turnstile on signup, user bug report form
c927726 fix: add missing help sidebar CSS (help-sidenav, help-wrap, active state)
23fb963 Merge branch 'main' of https://github.com/vicnasdev/drp
7a65a3f fix: admin — always purge test data, fix page titles, add broadcast email link
b0648dc Fix railway ad
6859a07 v0.2.19
b5f757c Merge branch 'main' of https://github.com/vicnasdev/drp
0655e02 feat: rebrand admin panel to drp (title + favicon)
47cdfad feat: show admin link in nav for staff users
1742708 fix: drp setup warns about PATH when installed via pipx
5d91d39 v0.2.18
372d300 Edit for release
84f9293 fix: renew() expiry not advancing when drop is newly created
58ec03a Edit for new release
20e3fae fix: anon overwrite lock + SQLite concurrent write crash
02863c8 fix: 4 unit test failures + real bug in completion merge logic
9947628 fix: unit tests always use SQLite, integration tests importable from root
57e37d5 Fixing tests
09410f3 refactor: split CSS, consolidate tests, update models/billing/docs
7034b86 Normalize cmds
c47dcdd fix drp status: spinner, stale count, cache pruning
f2e1c24 Setup test cleanup
24b4eac add test data cleanup and db reset
fd66da6 Fix help urls
764be84 fix: deprecated storage settings
6f49c7c Reduce domain dup
6a7afc1 Remove old privacy view. Fixes #49
0cb3570 Fix issues timeout
7b5a081 Merge branch 'main' of https://github.com/vicnasdev/drp
fe63687 Fixing it tests
592f9b4 Resilient cleanup
9f1dd1e v0.2.17
80eeef4 Not committing package compile
5116784 fix: XDG_CONFIG_HOME support, clipboard hang in subprocesses, anon save bookmark redirect
e85f2e4 v0.2.16
31177fd Edit test
a77cd76 v0.2.15
77e2763 fix: permission enforcement, delete/bookmark validation, load CSRF, serve auth, session cache, test fixtures
91fbaa8 fix: permission enforcement, delete/bookmark validation, load CSRF, serve auth, session cache, test fixtures
e6b02de fix: ownership enforcement, missing cli_env fixture, drp import path
6532041 Remove accidentally committed integration_tests.zip and amend recent commits
cc05a5c Fix tests collection
093bdbe Integration tests refactor
44719a5 Remove test env vars
ff858a1 Add integration tests
a670e32 Fix incomplete, colorless help
09e34a1 Merge branch 'main' of https://github.com/vicnasdev/drp
78a65c2 Set fail-fast: true for test matrix to stop all runs on first failure
7eb9f5d v0.2.14
9eec5dc Expand dev extras to include all requirements.txt packages and test tools for CI and local development
72f75af Add django, pytest-django, pytest-asyncio, pytest-cov to dev dependencies for CI test environment
2401853 Match tests to new signatures
169a51a Graceful error handling
4d6231a Issue figerprint
213c7ff set-domain update
d8afca0 Merge branch 'main' of https://github.com/vicnasdev/drp
08da2ca Tests validation
49ebe3c Setup django settings module
2579386 Setup django settings module
8e9116f Test refactor
90d1cd6 fixed tests errors
0ff62a0 v0.2.13
ed0c18e Migration
73f94ca feat: password protection for drops (paid accounts only)
f5e6353 docs: clarify self-host is personal/internal use only per LICENSE
fdf30c6 perf: remove presigned URL cache, max out gunicorn workers
ab5d64b perf: switch to LocMemCache, drop DatabaseCache
2198af0 Remove obsolete
3762d66 Brought expiry back
c3c920b Merge branch 'main' of https://github.com/vicnasdev/drp
418b21e Railway add update
a0efc77 v0.2.12
b53d029 fix: never prune local-only drops during server refresh
73e2ff3 fix: colors on bare drp, brighter palette, session touch, accurate timing
efe450b perf: cache presigned B2 URLs to eliminate ~1s TTFB on file downloads
0cb1024 Fixing style
442e5fd Fixing style
b08f24a Fixing css
2edfb7e Fixing css
f3917de Fixing css
994d50a Fixing css
ef2563f Fixing css
b0898ab Fixing style
de3c617 Test right box to center
eaa9fa6 Trying to center content
44ef420 Trying to center content
6b42d80 Untangle content from ad
204ea70 Centering home
6c19e5f Remove deprecated
7371db3 Optimizing ads placement
5b5ef89 Made ads box bigger
23ef89b Increased and fixed ads box
54c850f Centering ads
7705ac8 Centering ads
c02bc17 fix: sticky header on all pages, help sidenav scroll trap, replace adbar with fixed gutter rail
e10d23d fix: move ad to full-width bar below header, clean up help sidenav
8b14ed8 feat: privacy/terms pages, railway referral ad, adsense-ready via env var
e3248b2 feat: raw url, burn-after-read, url fetch, auto-copy, drp diff, drp serve
d121143 feat: colored no-args help, prune dead drops from local cache
c7e91a0 Merge branch 'main' of https://github.com/vicnasdev/drp
6acf07d fix: post_delete signal for storage accounting, fixes admin delete bypass
c197414 v0.2.11
efb808d fix: add color to status cmd, FORCE_COLOR support, equal get clip/file buttons
bb5149c Merge branch 'main' of https://github.com/vicnasdev/drp
f8e2152 feat: CLI docs with full argument details, home get tab
862cb8e v0.2.10
245c1a8 fix: prevent publish push rejection on stale main
0df68bf Migrate
f892614 Disable cli cache for dev
3535280 feat: QR codes, syntax highlighting, stdin pipe, --expires, drp edit, drp cp, view counter
11b95cf v0.2.9
bc52909 Merge branch 'main' of https://github.com/vicnasdev/drp
3a81f5d perf: warm B2 client at worker startup
cd2db0f feat: add spinner for session validation and slow fetches
e3e113b feat: add minimal ANSI color support
3a8a262 Remove useless
8249e61 v0.2.8
c53ce17 Merge branch 'main' of https://github.com/vicnasdev/drp
f51fd96 Fix progress bar rendering; cut download RTTs; cache session validation
f3e1476 v0.2.7
b63e763 Merge branch 'main' of https://github.com/vicnasdev/drp
ed59f52 Fix B2 404 on download; add drp get --url
5e09536 v0.2.6
efe99cb Merge branch 'main' of https://github.com/vicnasdev/drp
d25593c Fix get -f crash and mv duplicate reports
e30e250 v0.2.5
22f35a9 Merge branch 'main' of https://github.com/vicnasdev/drp
142ae58 Add timing feat to get
c03c8cf v0.2.4
3f59c9c Fix no drops error in tests
69483c1 Merge branch 'main' of https://github.com/vicnasdev/drp
fe53157 Tab completion is now handled inside drp setup—no separate command or manual steps needed for common installs. After login and PATH check, setup: Installs argcomplete if missing (tries pipx inject, then pip install; prints manual instructions if both fail). Detects shell and updates the correct profile file with the activation line (bash, zsh, fish). Informs user to restart or source their shell. All failures are non-fatal and fall back to clear manual instructions. Completion covers all subcommands and key-aware completions as before. Removed the drp completion subcommand. Files changed: cli/commands/setup.py, drp.py
233e58f fix: drp rm now errors on wrong namespace (e.g. missing -f for file drops), and prevents B2 orphan files on hard_delete failure.
044a92f v0.2.3
4f59ed5 fix(upload): use file-like object for PUT so Content-Length isn't dropped
a37c180 fix(upload): pass size to presigned_put so Content-Length gets signed
2ffa809 v0.2.2
509ebfb Merge branch 'main' of https://github.com/vicnasdev/drp
be450af fix(upload): sign Content-Length in presigned PUT URL
910879b v0.2.1
d48b04e set version base to 0.2.0 for 0.2.x series
b1f2cbc v0.1.2
036eebf cli edit for release
396ee28 test: update flood guard threshold from 3 to 5 in tests
eb553b9 fix(reporting): report handled B2 errors and fix issue flood guard
4bb46f3 fix(upload): remove explicit Content-Length from B2 presigned PUT
ed84117 Restore CLI cache
4f5dc42 fix(help): show commands as compact table instead of h3 per command
11879d8 fix(help): correctly extract subparser map and help strings
9f46a5d fix(help): show command descriptions and fix uppercase on CLI page
0478441 cli cache restore
d100829 Temporary cache off
4cc4864 Remove duplicate
4c7cd73 fix help overview: render README.md, extend help/base.html for nav
3725e07 ClI ref -> CLI
ae1bb35 fix: stabilise help grid and shorten CLI nav label (#27)
9abd8cf fix: stable help layout — fix content clipping and nav flip (#27)
00e5f20 fix: move help.css into and refresh styles (#27)
200855b fix: add missing {% load static %} to help/base.html (#27)
af6c31f Merge branch 'main' of https://github.com/vicnasdev/drp
aa81c70 Clean help base and split from css
0f594f8 Rename docs help
fbdd5a6 v0.1.1
6c8f4d8 Reset version to 0.1.1 after revert and cleanup: CLI for uploading, downloading, bookmarking, managing drops from the command line. Ready for fresh PyPI and GitHub release.
1685a4b Revert "v0.1.2"
8bd7adb v0.1.2
06ec420 Fix merge conflict
a2463b1 Reset version to 0.1.1 after full cleanup: CLI for uploading, downloading, bookmarking, managing drops from the command line. Ready for fresh PyPI and GitHub release.
93717d8 v0.1.24
024f087 Add tag check in workflow
e2b77f6 Fix det-domain cmd
b41c8fc Add set-domain command and workflow update
5318860 Add version tag
d67c5dd fix: remove f/ prefix from CLI output, show [file]/[text] instead
8ce62f0 feat: replace f/key syntax with -f flag for file drops
e0634ae fix: ensure CSRF cookie is set on home page and CLI login
c24b90c v0.1.22
73c03cf Merge branch 'main' of https://github.com/vicnasdev/drp
7db78f3 Tests update
501755a core/views/b2.pyNew — all B2 operations: presigned PUT/GET, server-side upload, delete, existence checkcore/views/drops.pyWeb /save/ streams to B2; new /upload/prepare/ and /upload/confirm/ endpoints; /download/ is now a 302 to a presigned B2 URLcore/views/helpers.pyCloudinary removed; thin wrappers to b2.pycore/views/init.pyExports upload_prepare, upload_confirmcore/models.pyhard_delete() calls B2; touch() debounced (skips DB write if accessed <5min ago); download_url() method addedcore/urls.py/upload/prepare/ and /upload/confirm/ routes addedcore/management/commands/cleanup.pyTrivial cleanup; hard_delete() now handles B2cli/api/file.pyFull rewrite: prepare→PUT→confirm flow, streaming in 256KB chunks, no bytes through Railwaycli/progress.pyNew — [=====> ] 62% 6.2M/10.0M 1.4MB/s progress bar, stderr, no depsproject/settings.pycloudinary/cloudinary_storage removed from INSTALLED_APPS; B2 env vars documentedpyproject.tomlcloudinary dep removed (it was server-side only; CLI never needed it)project/templates/home.htmlProgress bar UI added (XHR upload.onprogress)project/templates/help/privacy.htmlUpdated to describe B2, presigned URL flow, B2 bucket setup instructions.github/workflows/publish.ymlCloudinary secrets removed; no logic change
7abc134 v0.1.21
fe52397 refactor: single COMMANDS list as source of truth in drp.py
b8fe668 Add save cmd
a4298bd docs: add drp save to CLI reference and help page
479419f Fix html display of readme
6a3c1e5 v0.1.20
f3c9a34 Merge branch 'main' of https://github.com/vicnasdev/drp
3c3fcc6 Fix missing project description on pypi
7144683 Update LICENSE
fbd5aa9 fix: defer get_resolver call to avoid circular import on startup
5b5be32 fix: reject reserved keys at save and check-key, document in help
a68da88 feat: add help app with multi-page docs, drop help_view dead code
e9681ae Add missing init file
f847c5c Merge branch 'main' of https://github.com/vicnasdev/drp
f1b5ea4 fix: read webhook event from payload meta as fallback to X-Event-Name header
24c7f96 v0.1.19
2402ff0 fix: remove clipboard→file fallback in drp get
85d161f fix: safe csrftoken retrieval via iteration, avoids CookieConflictError on duplicate cookies
fab3acd fix: remove @ensure_csrf_cookie — middleware already sets it, decorator caused duplicate csrftoken cookies
9fd9080 import: skip owned drops instead of saving them
d8e1946 fix saved drops + account page restructure
2921fdb fix bookmark btn and file key display
f830933 add anon drop claiming on signup/login
032f478 v0.1.18
ed73b1a remove CLI.md, fix ls flags, update help and home
a939002 v0.1.17
2be9066 Merge branch 'main' of https://github.com/vicnasdev/drp
2c0924b feat: bookmarks (SavedDrop model, save/unsave endpoints, saved drops in account, import/export, CLI support)\n\n- Add SavedDrop model for bookmarks (user, ns, key)\n- Implement POST /key/save/ and /key/unsave/ endpoints (login required)\n- Account page: show saved drops, unsave buttons, import file picker (for all users)\n- POST /auth/account/import/: accept JSON export, create SavedDrop entries\n- GET /auth/account/ (JSON): return drops and saved\n- Export: include saved drops under 'saved' key\n- CLI: drp ls shows [saved], -t s filters saved, --export includes them\n- CLI: drp load backup.json imports saved drops, prints count
4fce92a v0.1.16
25db499 fix: allow any non-slash chars in keys, fix record_drop ns arg
440e0da Remove obsolete path /c/
a4f1e9a Normalize template
50e2db0 Merge branch 'main' of https://github.com/vicnasdev/drp
b8362cb email: switch to Resend, remove SMTP
5613617 v0.1.15
079c09b Fix test dependancy errors
9a74c06 Edit to test workflow
a54a2b6 test: isolate error_reporting logic from Django by stubbing Django imports in core/tests_error_reporting.py
4b47ad7 chore: configure pytest testpaths for cli/tests_unit.py and core/tests_error_reporting.py; update CI to use pytest -v
e333468 Merge branch 'main' of https://github.com/vicnasdev/drp
acf9818 Explicit error report
36d15b6 v0.1.14
7c27330 Merge branch 'main' of https://github.com/vicnasdev/drp
a537f2e Licence update
b671fed v0.1.13
aac3463 Add crash report
4088546 feat: auto-create GitHub issues on server 500s and CLI crashes (no user data)
e6e75d2 v0.1.12
909f268 Merge branch 'main' of https://github.com/vicnasdev/drp
b3b8c56 feat: pipx install in docs and CI, plan picker on register page
6145d69 v0.1.11
a6c7d24 Merge branch 'main' of https://github.com/vicnasdev/drp
21e9008 fix: reuse existing csrftoken instead of re-fetching to avoid duplicate cookie error
53cf55a v0.1.10
d9c08af fix: clear stale csrftoken before fetching new one to avoid duplicate cookie error
d787f2e v0.1.9
27ee3a3 chore: split CLI tests into tests_unit.py (pytest, no Django) and tests_integration.py (Django live server)
b98b99d fix: add pytest to dev deps, install with [dev] in CI
8cb6405 fix: add cli/main.py so python -m cli works
0504e16 refactor: split core/views and cli into modules
681fe9a Merge branch 'main' of https://github.com/vicnasdev/drp
876313d drp.py: namespace-aware throughout, improved ls -lh, filtering, sorting, and rm; added ping; better cache messages. views.py: save_drop auto-detects namespace, activity tracking, max lifetime, short URL resolver, plan choice in register. urls.py: namespaced routes, short URL resolver. models: new fields, updated expiry/touch/hard_delete logic. help.html: namespace, expiry, plan tables, CLI docs with examples.
ce98888 CLI tests: move ConfigTests, SlugTests, LocalDropCacheTests, VersionTests to TestCase; improve test assertions and add new tests for session, export, and file drop. Core tests: improve expiry, subscription, webhook, and renewal logic; add negative and helper cases. Workflow: use UUID keys, test version fallback, run unit tests on all platforms, improve smoke tests, add session persistence test, and bump version after all jobs pass.
63f54e4 Update drp.py with session persistence, logout, improved help, and no password prompt on get/ls; review and update cli/tests.py; enhance help.html with better CLI docs
9efd134 v0.1.8
fbd0022 Add dashboard export: paid-user & cli
ec47c92 Storage fix by detting data type to raw
e9e4c0c Revert storage change
c03b897 Merge branch 'main' of https://github.com/vicnasdev/drp
53d121a Fixing storage
38adadb v0.1.7
e11c901 Fix cli list
a498921 Fix storage
314d236 v0.1.6
690ced6 Fix syntax errors
b84c3de ci: add macos-latest to test matrix
f2935b1 Merge branch 'main' of https://github.com/vicnasdev/drp
77a59c1 Add windows tests
34c7a54 Change project title to include live link
c109bc1 v0.1.5
8ea4a23 fix: enforce 24h creation lock + surface server errors in cli
75ab737 v0.1.4
b8d7ec4 Merge branch 'main' of https://github.com/vicnasdev/drp
56e4a36 feat: local drop cache + fix file download
12641fd v0.1.3
cd631f9 Fix licence error
7aede14 v0.1.2
202b549 Test edit for workflow
229e6c0 v0.1.1
50c78c3 Trigger workflow on workflow file changes too
9f8191a Fix version bump: use grep instead of python for quote escaping
56d8f40 Fix domain to drp.vicnas.me, drop generated docs, refactor help page
ed786c5 Add GitHub release with commit details to publish workflow
275d979 PyPI package + mv/renew/ls commands + auto-publish workflow
57d2024 Replace sync client with CLI tool
5892178 fix: sync client re-authenticates each session, add GitHub issues links
ad1524f docs: update README — Makefile commands, systemd service, fix expiry wording
ea07a4e feat: rewrite sync client with auth, staleness checks, Makefile, tests
7dbebad test: add 8 cleanup command tests (anon text/file 24h/90d, paid expiry, mixed batch, storage)
042e01a chore: remove db.sqlite3 from tracking, add *.sqlite3 to gitignore
c1253bb chore: squash 6 migrations into single 0001_initial
6cf4a4b fix: file drops expire 90d from creation, not last access
a684f5d test: add 50 tests for accounts, subscriptions, webhooks, drop lifecycle
23e88fa ui: fix nav spacing, merge auth.css into main.css, polish auth pages, update billing refs
64e7132 fix: add @ensure_csrf_cookie to home view, revert settings.py changes
1089423 fix: add SECURE_PROXY_SSL_HEADER to resolve CSRF 403 behind reverse proxy
0de07f3 Fixing 403 error
ff20a4f Remove useless
0051e98 Fix ssl red
f5385f7 Add cookie settings
e861cc5 Fix model errors
7829bf3 Set up lemon squeezy
ea4b51f Fxing errors
a60e1e1 Migrate
2357c2e Refactoring
8ff2023 Remove unused
e376b61 Fix auto-download key
1088246 Import/export dashboard
8af9261 More key possibilities
0a1d2db Fix save redirect
d0af0e1 Fix github link
b8b1974 Fix config download
4844f80 Migrate
fa6f9bc Add config download
f9a1eea Fix missing favicon
fd7a998 Add upload progress
1f8f480 Fix: After save → stay on home page, just show the key/URL inline Drop page for text → no edit form shown by default, just the content with a copy button and an edit toggle if they want to change it
b222d34 Sync update
81ed508 Refactored
c524f8f Made clipboard main and links more visible
a92363a Update start command
948ccde Update start command
cb0d901 Add favicon
236ff53 Fix static files serving
7d1cdb6 Made migrations
09a99bc Add missing req
007d27a Keep staticfiles folder
457f112 Change default debug
1e2306b Set up (exclude .env, compiled files)
27cf39b Set up
b5899d9 Initial commit
Install / upgrade:
pipx install drp
# or upgrade:
pipx upgrade drp