Bartłomiej Janczak
e3f5480dea
docs: minor formatting fix in README
2026-06-10 06:46:52 +02:00
Bartłomiej Janczak
db53540952
docs: update README with asset registration details and new migrations
2026-06-08 16:20:07 +02:00
Bartłomiej Janczak
9c4d693b25
release: v5.2.3 - Redis optimizations, stats scaling, DNS and CSP fixes
2026-06-08 16:11:47 +02:00
Bartłomiej Janczak
dd3e289be0
docs: add filament-hidden class to first image in README
2026-06-06 13:40:37 +02:00
Bartłomiej Janczak
4d1ea3c9bb
docs: bake border-radius into screenshots, replace table with inline images
2026-06-06 10:59:32 +02:00
Bartłomiej Janczak
76019c8107
docs: rename hero image to bust GitHub CDN cache
2026-06-06 10:56:48 +02:00
Bartłomiej Janczak
4156269279
docs: full-width hero image with border-radius
2026-06-06 10:52:51 +02:00
Bartłomiej Janczak
68194fb81b
docs: replace logo with plugin-filament.png, remove video walkthrough
2026-06-06 10:51:35 +02:00
Bartłomiej Janczak
043920836d
Optimize redirect request lifecycle, bypass web middleware group, add stateful /s-auth/{key} route and fix test suites
2026-06-06 09:35:42 +02:00
Bartłomiej Janczak
73b8b875a8
video add
2026-06-06 08:35:44 +02:00
Bartłomiej Janczak
9493431017
docs: upgrade screenshots to version v3 and clean up old v2 files
2026-06-06 08:29:54 +02:00
Bartłomiej Janczak
822a3e6fa3
docs: use github hosted asset URL for inline video walkthrough
2026-06-06 08:16:06 +02:00
Bartłomiej Janczak
964a7364ef
docs: add video walkthrough preview to README
2026-06-06 08:02:33 +02:00
Bartłomiej Janczak
e0602e80ef
fix: correct comparison table with accurate competitor feature data
...
- Dub.co has A/B testing (they DO have it)
- Dub.co is open-source/partial self-hosted (AGPLv3, but needs Tinybird+PlanetScale)
- Bitly has deep linking on Premium/Enterprise (not completely missing)
- Bitly has webhooks on Enterprise (was missing)
- Rebrandly has retargeting pixels, deep linking, webhooks on paid plans
- Fixed Rebrandly pricing (zsh-49+ not zsh-499+)
- Added 'Filament/Laravel admin panel' row as unique differentiator
2026-06-06 02:57:21 +02:00
Bartłomiej Janczak
3592828ab3
feat: replace external logo with custom logo-fism.png
2026-06-06 02:52:47 +02:00
Bartłomiej Janczak
7082db495d
fix: correct PHP to 8.3+ and Laravel to 11+ in README
2026-06-06 02:30:18 +02:00
Bartłomiej Janczak
f73803017f
docs: README overhaul — natural language, SEO, comparison table, fixed requirements
...
- Rewrote intro: clear one-sentence summary + one-paragraph feature overview
- Removed AI-sounding 'Why choose' bullet list, replaced with prose
- Fixed duplicate emojis (two ⚡ , two 🎯 , two 🛡️ , two 🎨 , two 🔗 , two 📊 )
- Removed old '(new in v1.x.0)' markers from feature list
- Added vs. Bitly / Dub.co / Rebrandly comparison table (SEO: competitor keywords)
- Compressed 'Publishing Package Assets' from 4 h3 headers into a single code block
- Corrected PHP 8.3+ → 8.5+, Laravel 11+ → 13+
- Improved alt text on all screenshot img tags
- Better subtitle tagline under H1 for GitHub SEO
2026-06-06 02:28:54 +02:00
Bartłomiej Janczak
2107a3e6c8
feat: v5.0.0 — Live Feed page, Folders & Tags, Link Archiving, API scopes
...
## Analytics — Live Activity Feed
- Dedicated /stats/live standalone page (mirrors /stats/logs pattern)
- Consistent 3-tab navigation across Statistics / Live Feed / Visit Logs
- checkForUpdates() with skipRender(): O(1) MAX(id) poll — ~100-byte response on no-change
- latestVisitId sentinel (-1) prevents unnecessary first-poll re-render
- Cache key versioned by latestVisitId — fixes bug where concurrent users
could permanently miss a visit due to stale thundering-herd cache
- 3-second thundering-herd cache (key: url_id + date + filters + latestVisitId)
- Country flags via flagcdn.com (precomputed in PHP, Alpine.js CSP-safe onerror)
- time_ago precomputed in PHP — no Carbon::parse() double-instantiation in Blade
- SELECT only 12 needed columns instead of SELECT *; limit 25 rows
- wire:poll.5s.visible — polling stops when widget is off-screen
## Link Organization
- Folders: one folder per link, clickable → filtered link list, link count badge
- Tags: up to 5 tags per link, clickable → filtered link list, link count badge
- Archiving: soft-archive links instead of permanent deletion; restorable
## REST API
- Per-key API scopes: links:read-only (GET) / links:read-write (full CRUD)
- Per-key rate limiting: individual requests/minute per API key
## Translations
- Added stats_live_feed_poll_interval (EN: 'Updates every 5s', PL: 'Aktualizacja co 5s')
## Docs
- README.md: corrected API scopes/rate-limiting docs (features were already implemented)
- README.md: added Folders, Tags, Archiving to features list
- README.md: added v5.0.0 changelog entry
2026-06-06 02:16:07 +02:00
Bartłomiej Janczak
aa05f026b5
feat: speed optimization, portability fixes, and documentation update for DNS resolution
2026-06-05 09:15:04 +02:00
Bartłomiej Janczak
15d992c5ad
v3.3.0: Advanced Multi-Filter Targeting, Strict API Validation, Clean Configs, UX Improvements
2026-06-04 15:45:14 +02:00
Bartłomiej Janczak
719901d4c6
feat: expand developer REST API, modularize logo controller, and update README for v3.2.0
2026-06-04 14:29:07 +02:00
Bartłomiej Janczak
3b9411808e
feat: Release v3.1.0 - Performance, Security, and Scalability updates
2026-06-04 12:53:54 +02:00
Bartłomiej Janczak
325a38bfe8
Update license badge color to violet in README
2026-06-04 12:09:40 +02:00
Bartłomiej Janczak
1cd85af0a1
Update license to proprietary source-available and add copyright headers
2026-06-04 12:07:31 +02:00
Bartłomiej Janczak
137a81dcab
feat: Release v3.0.0 — Native App Linking, Deep Linking, Pixels Registry, and Custom Expiry Pages
2026-06-03 17:21:03 +02:00
Bartłomiej Janczak
276b75ad9f
docs: Update README for v2.1.0 registry and language features
2026-06-03 14:57:45 +02:00
Bartłomiej Janczak
0d4eab2016
docs/feat: Add targeting and security fields support to API and README docs
2026-06-03 14:28:57 +02:00
Bartłomiej Janczak
0349825890
Add browser language-based redirect targeting strategy, localize language names, and clean up translations
2026-06-03 14:24:08 +02:00
Bartłomiej Janczak
e1e6ded015
Update README to document empty route prefix and automatic scheduler registration
2026-06-03 14:12:05 +02:00
Bartłomiej Janczak
26247fd94a
Release v2.0.0: SVG QR Code Designer, visit counter buffering, Geo-IP and browser language tracking, dashboard redesign
2026-06-03 13:52:31 +02:00
Bartłomiej Janczak
48ecb8ed28
docs: add authorizeSettingsUsing documentation and v1.7.0 changelog entry
2026-06-02 20:39:19 +02:00
Bartłomiej Janczak
d1eb322cb6
Add visit logs screenshot (5.png) to README
2026-06-02 18:21:56 +02:00
Bartłomiej Janczak
34e4339c7c
Release v1.6.0: Google Safe Browsing integration, VPN/Proxy/Bot filtering, and Visitor World Map widget
2026-06-02 17:56:16 +02:00
Bartłomiej Janczak
911e98a2e3
Release v1.5.1: Rest API toggle, webhook fault tolerance, time-boundary aggregation fix, pixel loading UI, and resolveRedirectUrl targeting rules alignment
2026-06-02 13:17:42 +02:00
Bartłomiej Janczak
bdef0b6687
feat: add api_enabled on/off toggle in settings + update README for v1.5
2026-06-02 11:10:10 +02:00
Bartłomiej Janczak
59e4fc0e6b
v1.4.0: Add validity ranges, visit limit counters, custom redirects, and reactive controls
2026-06-02 09:16:47 +02:00
Bartłomiej Janczak
e5437dd0a6
Audit fixes: device targeting, query index optimizations, translation gaps, rate-limiting, and path consistency
2026-06-02 07:51:45 +02:00
Bartłomiej Janczak
65a1b126df
feat: global overview widget, optimized cache, CSS asset docs
...
- Add ShortUrlGlobalOverview StatsOverviewWidget with split cache strategy:
link counts cached forever (invalidated on create/delete), click stats
with short TTL (geo_ip.stats_cache_ttl config)
- Fix visited_at column in ShortUrlVisit queries (was created_at)
- Disable Livewire polling (pollingInterval = null)
- Add cache invalidation for global overview in ShortUrl::booted()
- Rewrite README asset section: user-facing install instructions clarified,
post-autoload-dump tip added, developer recompile notes separated
2026-06-01 18:59:17 +02:00
Bartłomiej Janczak
eda4794cac
feat: v1.2.0 — password protection, warning pages, smart targeting, rate limiting, daily stats aggregation
...
- Add password-protected links with session-based unlock flow
- Add redirect warning (interstitial) pages before external URLs
- Add smart targeting rules: device-based, country/geo, A/B weighted rotation
- Add configurable per-IP rate limiting with 429 + Retry-After headers
- Add daily stats aggregation & log pruning (short-url:aggregate-and-prune)
- Add IncrementVisitJob as queue-based counter buffering fallback
- Add ShortUrlDailyStats model with JSON stat columns per day
- Add two new migrations: targeting/security fields, daily_stats table
- Add password-prompt.blade.php and warning.blade.php views
- Extend Settings GUI with Performance & Security tab (aggregation + rate limiting)
- Extend ShortUrlForm with Targeting & Security section
- Add POST route for password form submission (was GET-only → 405)
- Replace enum(device_type) with string(20) for cross-DB compatibility
- Remove ->after() MySQL-only hints from ALTER TABLE migrations
- Fix aggregation test: use whereDate() instead of assertDatabaseHas for date column
- Extend en/pl translations for all new features
- Expand README.md with full v1.2.0 documentation (476 lines)
2026-06-01 13:54:13 +02:00
Bartłomiej Janczak
f518d4dae9
chore: Update license badge URL in README
2026-06-01 13:07:55 +02:00
Bartłomiej Janczak
bdbe9b2ffd
v1.2.0: Added counter buffering (write-back caching), CDN trust headers toggle, full UI localization, dynamic Filament routes, and high-concurrency fixes
2026-06-01 13:05:48 +02:00
Bartłomiej Janczak
7035e5b84b
Update README.md
2026-06-01 12:35:17 +02:00
Bartłomiej Janczak
a5f5afa198
docs: improve README layout with centered 3D logo and Shields.io status badges
2026-06-01 12:08:14 +02:00
Bartłomiej Janczak
429896d8e3
docs: complete README documentation for all settings, builders, env parameters, and bot filtering
2026-06-01 12:06:04 +02:00
Bartłomiej Janczak
985aa43155
docs: update README with navigationLabel and navigationIcon, fix composer require username
2026-06-01 10:28:39 +02:00
Bartłomiej Janczak
20a75bc72a
feat: initial release v1.0.0
2026-06-01 10:10:26 +02:00