Bartłomiej Janczak
ce8062036a
Configure global webhook toggle, emerald prefix padlock, and key length range 3-20
2026-06-02 18:52:46 +02:00
Bartłomiej Janczak
e8e9f26c9b
Add queue worker placeholder info callout
2026-06-02 18:39:39 +02:00
Bartłomiej Janczak
da810db511
Make queue_name dynamically required based on queue connection
2026-06-02 18:35:43 +02:00
Bartłomiej Janczak
8de83e3973
Hide Queue Name field when sync connection is selected
2026-06-02 18:27:59 +02:00
Bartłomiej Janczak
a5421a2d30
Add missing security v2 and world map translation keys (EN and PL)
2026-06-02 18:25:41 +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
3d62dbcbb7
Improve tooltip hover triggers using event delegation
2026-06-02 18:17:27 +02:00
Bartłomiej Janczak
c650c1f205
Fix world map visual display, dark mode support and tooltips
2026-06-02 18:13:38 +02:00
Bartłomiej Janczak
34e4339c7c
Release v1.6.0: Google Safe Browsing integration, VPN/Proxy/Bot filtering, and Visitor World Map widget
v1.6.0
2026-06-02 17:56:16 +02:00
Bartłomiej Janczak
e847328b9b
UX: Dynamically show/hide Developer API Keys section based on REST API enable state
2026-06-02 13:22:35 +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
v1.5.1
2026-06-02 11:10:10 +02:00
Bartłomiej Janczak
e0b7e3f28c
feat: add social retargeting pixels, developer REST API, and webhooks system
v1.5.0
2026-06-02 09:44:53 +02:00
Bartłomiej Janczak
e29c3ef24e
fix: resolve real-time visit limits under counter buffering and enforce rotation weight constraints
v1.4.0
2026-06-02 09:27:06 +02:00
Bartłomiej Janczak
b1416fbe86
chore: exclude art and tests folders from composer distribution using .gitattributes
2026-06-02 09:18:03 +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
0e371ad139
Fix database compatibility: use database-agnostic boolean check in case statement for PostgreSQL
v1.3.2
2026-06-02 07:55:22 +02:00
Bartłomiej Janczak
e5437dd0a6
Audit fixes: device targeting, query index optimizations, translation gaps, rate-limiting, and path consistency
v1.3.1
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
v1.3.0
2026-06-01 18:59:17 +02:00
Bartłomiej Janczak
f0d76ff03b
fix: memory-safe aggregation via chunking + allow 0 retention days
...
- Replace ->get() with ->chunk(1000) in AggregateAndPruneVisitsCommand
to avoid loading entire day's visits into PHP RAM (critical at scale)
- Stats are now accumulated incrementally via a hash-keyed array,
unique visits counted via ip_hash deduplication key
- Fix pruning_retention_days minValue(1) → minValue(0) in Settings form;
0 was documented to disable pruning but form validation blocked it
2026-06-01 14:20:43 +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
69f6cef31b
feat: Add UTM parameters, interactive date range filter, cleaned referrer domains, and visitor city tracking to analytics
v1.2.0
2026-06-01 13:24:02 +02:00
Bartłomiej Janczak
2ab85dd264
fix: Import ShortUrlResource in ShortUrlsTable to resolve class not found error
2026-06-01 13:10:01 +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
c842096a22
style: fix qr-designer spacing when Tailwind helper classes are unbuilt
v1.1.2
2026-06-01 12:35:49 +02:00
Bartłomiej Janczak
7035e5b84b
Update README.md
2026-06-01 12:35:17 +02:00
Bartłomiej Janczak
3b97ad3d00
add LICENSE file
2026-06-01 12:17:49 +02:00
Bartłomiej Janczak
a5f5afa198
docs: improve README layout with centered 3D logo and Shields.io status badges
v1.1.1
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
v1.1.0
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
cd9a4a1620
feat: add navigationLabel() and navigationIcon() to plugin API
2026-06-01 10:27:02 +02:00
Bartłomiej Janczak
9d23236755
fix: correct GitHub username to janczakb
v1.0.0
2026-06-01 10:20:51 +02:00
Bartłomiej Janczak
2f5c9701d4
fix: remove accidental nested submodule reference
2026-06-01 10:10:38 +02:00
Bartłomiej Janczak
20a75bc72a
feat: initial release v1.0.0
2026-06-01 10:10:26 +02:00