Skip to content

Releases: ormidales/truepath

v1.0.11

26 Mar 11:38
f56fae2

Choose a tag to compare

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 updateExceptionDomains by @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

16 Mar 10:03
985e105

Choose a tag to compare

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

13 Mar 21:06
a916b4c

Choose a tag to compare

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

11 Mar 15:06
9850e87

Choose a tag to compare

What's Changed

  • fix: replace hardcoded French strings in popup with browser.i18n by @Copilot in #144
  • Fix getRootDomain to 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 lang attribute and missing viewport meta in popup.html by @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

10 Mar 13:55
9233c6e

Choose a tag to compare

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 getRootDomain and stripIPv6Brackets by @Copilot in #122
  • docs: add full JSDoc to buildAcceptLanguage by @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

09 Mar 20:20
0563726

Choose a tag to compare

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 readLocationHeader in 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

07 Mar 12:07
06ac78b

Choose a tag to compare

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

05 Mar 10:22
00eeebb

Choose a tag to compare

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

28 Feb 21:20
30e09ac

Choose a tag to compare

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

16 Feb 21:46
203bbc0

Choose a tag to compare

What's Changed

  • Handle non-standard second-level domains in getRootDomain by @Copilot in #37
  • Corrige l’injection Accept-Language pour les hôtes IP (IPv4/IPv6) by @Copilot in #38
  • Popup: sécuriser browser.tabs.query pour é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.onChanged handling for invalid exceptionDomains payloads 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 initialHostByRequest entries 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.get by @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-Language sur le chemin critique onBeforeSendHeaders by @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 onHeadersReceived by @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