Releases: jakewilliami/tlds
v1.0.2
Update TLD constants for June, 2026! v1.0.2
No new TLDs. Only minor changes pertaining to the domain managers.
Full Changelog: v1.0.1...v1.0.2
v1.0.1
Update TLD constants for April, 2026! v1.0.1
Mostly minor changes (e.g., changes in domain managers).
New TLDs:
.merck.一号店
Full Changelog: v1.0.0...v1.0.1
v1.0.0
Rename library to tlds! v1.0.0
Library was previously called tldinfo. However, because Go packages have their own namespace (e.g., the package exists under the github.com/jakewilliami namespace), then I can choose a better name for the library. The command-line tool is still called tldinfo.
Full Changelog: v0.2.2...v1.0.0
v0.2.2
Update TLD constants for August, 2025! v0.2.2
Mostly minor changes (e.g., changes in domain managers).
New TLDs:
.emerson
Previous update had no new TLDs: 0b6dc45
Full Changelog: v0.2.1...v0.2.2
v0.2.1
Add package tests and CI/CD! v0.2.1
Primary changes regarding tests or CI/CD:
- Add package tests for main library
- Do not (yet) have tests for tools or cmd
- Add CI job to test on trunk, tags, and PRs
Other (smaller) changes:
- Package
- Add MIT license
- Improve package documentation
- Library
- Update generated TLD information
- writeTLDs
- Call to writetlds.go on
go generate - Add auto-generated message in tldconsts.go
- Fix small bugs in writetlds.go
- Call to writetlds.go on
- ccTLDmissing
- Ignore unicode (for now) in ccTLDmissing tool
- tldinfo (cmd)
- Prefer library map over JSON parsing
Related MR: #3
Full Changelog: v0.2.0...v0.2.1
v0.2.0
Fix project structure! v0.2.0
Since refactoring in v0.1.0, I realised that this does not work, as the most important library code is in an internal/ directory and so is not accessible to the user. Therefore, I have refactored again to the following structure:
.
├── go.mod
├── go.sum
├── tldinfo.go
└── tldconsts.go
This will work for the library, but I think as I extend this project, I envision a different structure, more along the lines of this:
.
├── go.mod
├── go.sum
├── tldinfo.go
└── src
├── libfile.go
└── anotherlibfile.go
I have not yet figured out how to do this, mind, so this solution works for now.
Note also that since implementing v0.1.1, I needed to change the consts to vars. I was doing the ol' compiler test when implementing v0.1.1, but because the internal code is never actually imported or used in the library, it didn't error. I knew using const was too good to be true!
Related MR: #2
Full Changelog: v0.1.1...v0.2.0
v0.1.1
Improve library TLD data structure! v0.1.1
Ensure library TLD data structure is based on a constant map, from which we can define convenient constants (though they are not required as one can use the map directly).
Related MR: #1
Full Changelog: v0.1.0...v0.1.1
v0.1.0
Initial release of library! v0.1.0
In moving the library to the root of the project, I made it importable externally, and hence I am marking this as the first release.
Initially, as per Go project organisation guidelines, I kept the library code in a pkg/ directory:
.
├── go.mod
├── go.sum
└── pkg
└── tldinfo
├── tldinfo.go
└── tldconsts.go
However, I realised that this organisation is non-standard. Based on the official Go documentation on module structure I refactored:
.
├── go.mod
├── go.sum
├── tldinfo.go
└── internal
└── tldinfo
└── tldconsts.go
Now this is more standard, but also allows the user to import the project as normal; e.g.
go get github.com/jakewilliami/tldinfo
As this is now fully importable, and the library and CLI (for all intents and purposes) work mostly as needed, I consider this the first proper release.
Full Changelog: v0.0.4...v0.1.0
v0.0.4
Rename project from tldeets to tldinfo! v0.0.4
Rename the main project to a more descriptive name (including renaming the repository).
The project initially started out as just a command-line tool, but I soon realised that it might be useful for others, so I figured I should make the library name at least a little bit more descriptive.
Full Changelog: v0.0.3...v0.0.4
v0.0.3
Persist TLDs to library file! v0.0.3
Rather than requiring the TLD data to be locally present in a JSON file, we write it to a Go file that exists as part of the primary library.
Full Changelog: v0.0.2...v0.0.3