Skip to content

Commit ba7ffac

Browse files
committed
๐Ÿš€ RELEASE: v1.4.1
1 parent 80c13ae commit ba7ffac

File tree

4 files changed

+60
-2
lines changed

4 files changed

+60
-2
lines changed

โ€Žchangelog.mdโ€Ž

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,32 @@
11
# Changelog
22

3+
## [1.4.1] - 2026-01-28
4+
5+
### Added
6+
7+
- **Auto-Detect Local Bridge** - When visiting `periscope.run` (without `?local=true`), the app now automatically detects if the Local Bridge is running and seamlessly switches to local mode using `pushState` for a smooth transition.
8+
- **Redirect Chain Tooltips** - Hovering over any hop in the redirect chain now shows a detailed tooltip with the full URL and server IP address.
9+
- **Smart Redirect Display** - When consecutive redirect hops share the same hostname, the path is shown instead (e.g., `//` โ†’ `/`) to clarify what changed. Useful for identifying path normalization redirects.
10+
- **Scan Log Auto-Select** - Opening the Scan Log (`Cmd+K`) while viewing a scan now auto-selects and scrolls to that scan, enabling quick navigation with arrow keys.
11+
- **Scan Log Pagination Persistence** - The number of items loaded via "Load more" is now preserved when reopening the Scan Log.
12+
- **Cloudflare Custom Hostname Detection** - Added `_cf-custom-hostname` TXT record to DNS checks.
13+
14+
### Fixed
15+
16+
- **JavaScript Redirect False Positives** - Fixed detection matching HTML attributes like `data-accordion-location="10"` as JavaScript redirects. Now requires `window.location` or `location.href` patterns specifically.
17+
- **ads.txt/app-ads.txt False Positives** - Fixed detection accepting HTML 404 error pages as valid ads.txt files. Now validates that the response is not HTML.
18+
- **HTTPโ†’HTTPS Redirect Noise** - Simple protocol upgrades (httpโ†’https of the same host) are now filtered from the redirect chain display to reduce noise.
19+
20+
### Changed
21+
22+
- **Logo Click Behavior** - Clicking the Periscope logo now uses `pushState` to smoothly reset the view and update the URL (removing the `domain` parameter) without a page reload.
23+
- **Cache Version Matching** - Patch versions are now ignored when validating cached scans. A v1.4 cache is considered valid for v1.4.1, preventing unnecessary reprocessing on patch releases. Only minor version changes (e.g., 1.4 โ†’ 1.5) trigger cache regeneration.
24+
- **Pre-Connection UI** - The domain input, scan button, and scan log icon are now hidden until the Local Bridge connection is established, providing a cleaner loading state.
25+
26+
### Documentation
27+
28+
- **Versioning & Cache Upgrades** - Added new section to README explaining semantic versioning policy and cache validity rules.
29+
330
## [1.4.0] - 2026-01-26
431

532
### Added

โ€Žengine.phpโ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
}
1717

1818
// --- PLUGIN VERSION ---
19-
define('PERISCOPE_VERSION', '1.4');
19+
define('PERISCOPE_VERSION', '1.4.1');
2020

2121
// --- AUTOLOADER ---
2222
spl_autoload_register(function ($class) {

โ€Žindex.htmlโ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1816,7 +1816,7 @@ <h3 class="text-lg font-medium text-slate-900 dark:text-white flex items-center
18161816
showFaviconPreview: false,
18171817
showMissingMetadata: false,
18181818
showPluginsModal: false,
1819-
version: '1.4',
1819+
version: '1.4.1',
18201820
pendingDeepLink: null,
18211821
}
18221822
},

โ€Žreadme.mdโ€Ž

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -433,6 +433,37 @@ php ~/.periscope/engine.php google.com
433433
php ~/.periscope/engine.php action=bulk_upgrade
434434
```
435435

436+
## ๐Ÿ”„ Versioning & Cache Upgrades
437+
438+
Periscope uses [Semantic Versioning](https://semver.org/) (`MAJOR.MINOR.PATCH`):
439+
440+
- **MAJOR:** Breaking changes
441+
- **MINOR:** New features, scan format changes
442+
- **PATCH:** Bug fixes, minor improvements
443+
444+
### Cache Validity
445+
446+
Cached scan data is considered valid if the **major.minor** version matches. This means:
447+
448+
| Cached Version | Current Version | Cache Valid? | Reason |
449+
| --- | --- | --- | --- |
450+
| 1.4 | 1.4.1 | Yes | Same minor version (1.4) |
451+
| 1.4.1 | 1.4.2 | Yes | Same minor version (1.4) |
452+
| 1.4 | 1.5 | No | Different minor version |
453+
| 1.3 | 1.4 | No | Different minor version |
454+
455+
When loading a cached scan with an outdated version, Periscope automatically regenerates the response data from the stored raw files (HTML, headers, DNS records, etc.) using the current engine logic.
456+
457+
### Bulk Upgrade
458+
459+
To upgrade all historical scans to the current version:
460+
461+
```bash
462+
php ~/.periscope/engine.php action=bulk_upgrade
463+
```
464+
465+
This reprocesses scans that have raw files available, applying any new detection logic or data transformations from newer versions.
466+
436467
## ๐Ÿ“ธ Screenshots
437468

438469
Website Overview

0 commit comments

Comments
ย (0)