v1.6.4 (2025-01-26):

  * tracklang.sty now checks for babel's \LocaleForEach

v1.6.3 (2025-01-22):

  * new commands:

    \AnyTrackedRegions
    \ForEachTrackedRegion
    \TrackLangRequireDialectOmitOnlyRegion
    \TrackLangRequireDialectOmitDialectLabelOmit
    \TrackLangRequireDialectOmitDialectLabelOmitOnlyRegion
    \IfTrackedLanguageFileExistsOmitOnlyRegion
    \IfTrackedLanguageFileExistsOmitDialectLabel
    \IfTrackedLanguageFileExistsOmitDialectLabelOmitOnlyRegion

  * bug fix: \IfTrackedLanguageFileExists
    tests for tags with region were using script instead of region

  * bug fix: files that are input don't show up with \listfiles
    in LaTeX documents.

v1.6.2 (2025-01-14):

  * added scots

  * bug fix: \AddTrackedDialect and \TrackLanguageTag
    causes "Undefined control sequence" error
    when used with recognised language.

  * bug fix: file existence test triggers undefined command 
   \@tracklang@test@if@file@exists@next caused by assigning to
    undefined \@tracklang@test@if@file@exists@for@scriptregion
    (should be \@tracklang@test@if@file@exists@for@region)

v1.6.1 (2022-12-13):

  * Added \TrackLangEncodingName

  * Corrected typo in manual
    (syntax for \TrackLangProvidesResource)

v1.6 (2022-10-29):

  * Replaced \x with \@tracklang@x

  * Added check for polyglossia's \xpg@bcp@loaded and \mainbabelname

v1.5 (2020-06-30):

  * Removed redundant code and added debug message to
    \TrackLangAddToHook and \TrackLangRedefHook

  * Bug fix: removed spurious {\fi} from \@tracklang@test@if@file@exists@for@langII
    https://www.dickimaw-books.com/bugtracker.php?action=view&key=165

v1.4 (2019-11-30):

  * tracklang.tex:

    - Changed \TrackLangIfFileExists to also include script and
      variant in file search (search order has changed slightly).

    - Added \TrackLangRedefHook

    - New commands provided to assist integration with language
      packages:

      \TrackLangAddExtraRegionFile
      \TrackLangAddExtraScriptFile
      \TrackLangProvidePredefinedLanguage
      \TrackLangProvidePredefinedDialect

    - New switch \ifTrackLangShowVerbose for debugging

v1.3.9 (2019-11-11):

  * tracklang.tex:

    - added \TrackIfKnownLanguage

v1.3.8 (2019-10-06):

  * tracklang.tex:

   - added undetermined (und) language
   - added 'nil' as a dialect of 'undetermined'

  * tracklang.sty:

   - added \@tracklang@prelangpkgcheck@hook

v1.3.7 (2019-08.31):

  * tracklang.sty: corrected misspelt \AddTrackedLangage (should be
    \AddTrackedLanguage)

v1.3.6 (2018-05-13):

  * \GetTrackedDialectFromLanguageTag now sets
    \TrackedDialectClosestSubMatch.

v1.3.5 (2018-02-21):

  * Added check for polyglossia's \xpg@loaded

v1.3.4 (2017-03-25):

  * Fixed typo in \errhelp command name

  * Added \@tracklang@pkgwarn

  * Added dialects: furlan, kurmanji.

v1.3.3 (2016-11-03):

  * Renamed internal \tracklang@dialectmap@to@...
    and \tracklang@dialectmap@from@... to avoid ambiguity.

  * Fixed incorrect mappings in \SetCurrentTrackedDialect

  * New command \IfHookHasMappingFromTrackedDialect

v1.3.2 (2016-10-11):

  * Added check if \shellescape has been set to \relax
    by something loaded before tracklang.

v1.3.1 (2016-10-08):

  * Added missing files from tracklang.tds.zip

v1.3 (2016-10-07):

  * New files tracklang-scripts.tex, tracklang-scripts.sty
    tracklang-region-codes.tex

  * tracklang.tex:

    - Now sets and restores category code for @ if it's not initially 11
      (no change if it's already 11)

    - New command \TrackLocale{POSIX locale}
      and \TrackLanguageTag{BCP47 language tag}

    - New command \TrackLangFromEnv. (Queries locale environment
      variable using \TrackLangQueryEnv and, if successful,
      then parses and tracks the dialect. Also sets 
      \TrackLangEnvLang, \TrackLangEnvTerritory, 
      \TrackLangEnvCodeSet and \TrackLangEnvModifier.)

    - New command \TrackLangQueryEnv (queries the environment
      variables LC_ALL or LANG, if shell escape or \directlua
      available, and sets \TrackLangEnv)

    - New command \TrackLangQueryOtherEnv (like the above
      but queries an extra environment variable)

    - New command \TrackLangParseFromEnv (parses \TrackLangEnv,
      if defined and not empty, and sets \TrackLangEnvLang, 
      \TrackLangEnvTerritory, \TrackLangEnvCodeSet and
      \TrackLangEnvModifier)

    - Many other new commands. See Changes section of manual.

    - New language and dialect options

    - Bug fix: corrected ISO 639-1 language code in usorbian

v1.2 (2015/03/23):

  * New package options:
    IEirish, ga-IE (Language: Irish Gaelic. Region: Republic of Ireland)
    GBirish, ga-GB (Language: Irish Gaelic. Region: Northern Ireland)
    IEenglish, en-IE (Language: English. Region: Republic of Ireland)

v1.1 (2014/11/21):

  * Added \LetTrackLangOption and \@tracklang@declareoption

  * New package options: 
    en-US, en-AU, en-NZ, fr-BE, pt-BR,
    en-GB, en-CA, fr-CA, nl-BE, france, fr-FR,
    ngermanDE, de-DE, netherlands, nl-NL, de-BE, belgiangerman,
    portugal, pt-PT, spainspanish, es-ES, es-AR, es-BO, es-CL,
    es-CO, es-CR, es-CU, es-DO, es-EC, es-SV, es-GT, es-HN,
    es-MX, es-NI, es-PA, es-PY, es-PE, es-PR, es-UY, es-VE,
    de-CH, fr-CH, it-CH, rm-CH, italy, it-IT, vatican, it-VA,
    sanmarino, it-SM, sloveneistriaitalian, it-SI, slovenia,
    sloveneistriaslovenian, istriacountyitalian, it-HR,
    istriacountycroatian, croatia, maltese, maltamaltese,
    mt-MT, maltaenglish, en-MT, manx, isleofmanenglish, en-IM,
    jerseyenglish, en-JE, jersey-french, fr-JE, guernseyenglish,
    en-GG, guernseyfrench, fr-GG

v1.0 (2014/09/29):

  * Initial release
