Releases: ormidales/truepath
Releases · ormidales/truepath
v1.0.11
What's Changed
- clarify candidate3 dead branch in getRootDomain; add 4-label suffix test by @Copilot in #193
- Add unit tests for cleanupStaleTrackedRequests by @Copilot in #194
- docs: add JSDoc to
updateExceptionDomainsby @Copilot in #195 - fix: trackInitialHost bulk-evicts all stale entries instead of stopping at the first by @Copilot in #196
- Add full 8-group uncompressed IPv6 address test coverage by @Copilot in #197
- docs(buildAcceptLanguage): add bracketed and bare IPv6 example entries + unit tests by @Copilot in #198
- fix: handle storage.sync.set failure in clearDomains by @Copilot in #199
- Refactor: eliminate duplicated stale-eviction logic and storage error handling by @Copilot in #201
- Release v1.0.11 by @ormidales in #200
Full Changelog: 1.0.10...1.0.11
v1.0.10
What's Changed
- docs(background.js): add param description to cleanupTrackedRequest JSDoc by @Copilot in #177
- docs(background.js): add param and returns to readLocationHeader JSDoc by @Copilot in #178
- Export STORAGE_KEY from utils.js to eliminate implicit global dependency by @Copilot in #179
- docs: add JSDoc to trackInitialHost() in background.js by @Copilot in #180
- docs: expand JSDoc for DEFAULT_ACCEPT_LANGUAGE with type and buildAcceptLanguage() reference by @Copilot in #181
- docs: add JSDoc to resetClearConfirm() in popup.js by @Copilot in #182
- docs: expand JSDoc for MAX_TRACKED_REQUESTS and REQUEST_TRACK_TTL_MS by @Copilot in #183
- docs(tests/setup.js): explain why stripIPv6Brackets must be a global by @Copilot in #184
- Release v1.0.10 by @ormidales in #185
Full Changelog: 1.0.9...1.0.10
v1.0.9
What's Changed
- security: reject non-LDH hostnames in getRootDomain to block homograph bypass by @Copilot in #161
- Fix fail-open bypass via non-HTTP(S) and malformed Location header redirects by @Copilot in #162
- fix: restrict Accept-Language spoofing to redirect-following requests only by @Copilot in #163
- Fix trackInitialHost to prefer TTL-expired eviction over LRU under burst load by @Copilot in #164
- Decouple Accept-Language spoofing from redirect-blocking exception domains by @Copilot in #165
- Fix: isNonRoutableHost incorrectly routes IPv6 unspecified address (::) by @Copilot in #166
- refactor: consolidate STORAGE_KEY into utils.js as single source of truth by @Copilot in #167
- Release v1.0.9 by @ormidales in #168
Full Changelog: 1.0.8...1.0.9
v1.0.8
What's Changed
- fix: replace hardcoded French strings in popup with browser.i18n by @Copilot in #144
- Fix
getRootDomainto correctly handle multi-part public suffixes by @Copilot in #145 - fix: onHeadersReceived exception check ignores redirect target domain by @Copilot in #146
- fix: Accept-Language spoofing being skipped for redirect chains from excepted domains by @Copilot in #147
- fix: clearDomains stale-read race condition on confirmed clear by @Copilot in #148
- Add 17 missing ccTLDs to ACCEPT_LANGUAGE_BY_TLD by @Copilot in #149
- Fix hardcoded
langattribute and missing viewport meta inpopup.htmlby @Copilot in #150 - docs: add JSDoc to undocumented module-level constants in background.js by @Copilot in #151
- docs: add homepage_url and developer metadata to manifest.json, bump to 1.0.8 by @Copilot in #152
- Release v1.0.8 by @ormidales in #153
Full Changelog: 1.0.7...1.0.8
v1.0.7
What's Changed
- Fix race condition on simultaneous domain deletion in renderList by @Copilot in #117
- fix: check initial host against exceptionDomains in onBeforeSendHeaders by @Copilot in #118
- refactor(popup): replace window.confirm with inline two-step confirmation for clearDomains by @Copilot in #119
- fix: extend SECOND_LEVEL_SUFFIXES with missing ccTLD SLD entries by @Copilot in #120
- refactor(popup): replace inline style manipulation in setStatus with CSS classes by @Copilot in #121
- docs(utils): expand JSDoc edge-case coverage for
getRootDomainandstripIPv6Bracketsby @Copilot in #122 - docs: add full JSDoc to
buildAcceptLanguageby @Copilot in #123 - docs: fix misleading MV3 reference and add Compatibilité & Roadmap section by @Copilot in #124
- Fix race condition, enhance documentation, and refactor code by @ormidales in #125
Full Changelog: 1.0.6...1.0.7
v1.0.6
What's Changed
- docs: add JSDoc comments to IPV4_REGEX and IPV6_REGEX in utils.js by @Copilot in #100
- docs: enrich getRootDomain JSDoc with edge cases, examples by @Copilot in #101
- docs: add JSDoc to ACCEPT_LANGUAGE_BY_TLD in background.js by @Copilot in #102
- docs: add JSDoc to
readLocationHeaderin background.js by @Copilot in #103 - docs: add JSDoc to trackInitialHost documenting eviction strategy by @Copilot in #104
- refactor: extract stripIPv6Brackets utility from isNonRoutableHost by @Copilot in #105
- docs(popup.css): explain min-width: 0 trick for ellipsis in flex context by @Copilot in #106
- fix(i18n): replace hardcoded French description with _locales WebExtension i18n system by @Copilot in #107
- Add JSDoc comments and refactor utilities in background and utils by @ormidales in #108
Full Changelog: 1.0.5...1.0.6
v1.0.5
What's Changed
- Guard exception domains initialization against non-array storage values by @Copilot in #86
- Extend secondLevelSuffixes with mil, int, sch by @Copilot in #87
- fix: handle storage API failures in renderList to prevent frozen loading state by @Copilot in #88
- fix: prevent duplicate cleanup intervals on background script reload by @Copilot in #89
- fix(a11y): restore keyboard focus after addCurrentDomain by @Copilot in #90
- Enhance exception handling and improve second level suffixes by @ormidales in #91
Full Changelog: 1.0.4...1.0.5
v1.0.4
What's Changed
- fix(popup): truncate long domain names with ellipsis in exceptions list by @Copilot in #74
- Fix IPv6 zone identifier validation in IPV6_REGEX by @Copilot in #75
- fix: restore keyboard focus after clearing whitelist by @Copilot in #76
- fix: skip Accept-Language injection for non-routable/local hosts by @Copilot in #77
- fix(background): fail-closed on unparseable redirect Location header by @Copilot in #78
- Fix IPv6 link-local range check (fe80::/10) and li>button layout conflict by @Copilot in #80
- Migration de la branche 1.0.4 vers la branche main by @ormidales in #79
Full Changelog: 1.0.3...1.0.4
v1.0.3
What's Changed
- Fix getRootDomain incorrectly truncating IP address literals by @Copilot in #63
- Mask query parameters in redirect URL warning logs by @Copilot in #64
- Exclude internal browser protocols from webRequest interception by @Copilot in #65
- Fix keyboard focus loss when last whitelisted domain is deleted by @Copilot in #66
- Normalize domains at read time in getStoredDomains by @Copilot in #67
- Migration de la branche 1.0.3 vers la branche main by @ormidales in #68
Full Changelog: 1.0.2...1.0.3
v1.0.2
What's Changed
- Handle non-standard second-level domains in
getRootDomainby @Copilot in #37 - Corrige l’injection
Accept-Languagepour les hôtes IP (IPv4/IPv6) by @Copilot in #38 - Popup: sécuriser
browser.tabs.querypour éviter les exceptions non gérées en contexte restreint by @Copilot in #39 - Improve whitelist remove-button accessibility with domain-specific labels by @Copilot in #40
- Externalize popup CSS to remove inline-style CSP violations by @Copilot in #41
- Add manifest icon declarations and bundle 16/48/128 extension assets by @Copilot in #42
- Popup: render explicit empty-state for whitelist by @Copilot in #43
- Harden
storage.onChangedhandling for invalidexceptionDomainspayloads by @Copilot in #44 - Optimiser la suppression d’un domaine dans la popup sans re-render complet de la liste by @Copilot in #45
- Add TTL-based eviction for orphaned
initialHostByRequestentries by @Copilot in #46 - Popup: sort whitelist domains alphabetically before rendering by @Copilot in #47
- Afficher un état de chargement dans la popup pendant
browser.storage.sync.getby @Copilot in #48 - Ajouter une action globale “Vider la liste” pour purger la liste blanche en un clic by @Copilot in #49
- Prevent concurrent domain-add writes on rapid double-click in popup by @Copilot in #50
- Expand Accept-Language ccTLD mapping to prevent default en-US fallback on major country domains by @Copilot in #51
- Gérer explicitement les échecs
storage.sync.set(quota) dans la popup by @Copilot in #52 - Optimiser la recherche de l’en-tête
Accept-Languagesur le chemin critiqueonBeforeSendHeadersby @Copilot in #53 - Normalize whitelist domains to lowercase at popup write path by @Copilot in #54
- Document URL hashing/spoofing helpers with JSDoc signatures by @Copilot in #55
- Journaliser explicitement les erreurs de parsing d’URL de redirection dans
onHeadersReceivedby @Copilot in #56 - Migration de la branche 1.0.2 vers la branche main by @ormidales in #57
Full Changelog: 1.0.1...1.0.2