Recent Releases of tlds

tlds - 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: https://github.com/jakewilliami/tlds/compare/v0.2.2...v1.0.0

- Go
Published by jakewilliami 10 months ago

tlds - 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: https://github.com/jakewilliami/tldinfo/compare/v0.2.1...v0.2.2

- Go
Published by jakewilliami 10 months ago

tlds - 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 - ccTLDmissing - Ignore unicode (for now) in ccTLDmissing tool - tldinfo (cmd) - Prefer library map over JSON parsing

Related MR: #3

Full Changelog: https://github.com/jakewilliami/tldinfo/compare/v0.2.0...v0.2.1

- Go
Published by jakewilliami almost 2 years ago

tlds - 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: https://github.com/jakewilliami/tldinfo/compare/v0.1.1...v0.2.0

- Go
Published by jakewilliami over 2 years ago

tlds - 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: https://github.com/jakewilliami/tldinfo/compare/v0.1.0...v0.1.1

- Go
Published by jakewilliami over 2 years ago

tlds - 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: https://github.com/jakewilliami/tldinfo/compare/v0.0.4...v0.1.0

- Go
Published by jakewilliami over 2 years ago

tlds - 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: https://github.com/jakewilliami/tldinfo/compare/v0.0.3...v0.0.4

- Go
Published by jakewilliami over 2 years ago

tlds - 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: https://github.com/jakewilliami/tldinfo/compare/v0.0.2...v0.0.3

- Go
Published by jakewilliami over 2 years ago

tlds - v0.0.2

Enrich ccTLD data with country names! v0.0.2

Using ISO 3166-1, we can try to match the TLD to a country code, and pull the country code that way.

Note: this may not always work, e.g. for some territories (.ac), and "deprecated" countries (.su).

Full Changelog: https://github.com/jakewilliami/tldinfo/compare/v0.0.1...v0.0.2

- Go
Published by jakewilliami over 2 years ago

tlds - v0.0.1

Initial implementation! v0.0.1

Initial implementation of TLD info tool.

Still need to nicely format the output and enrich the details more because it only gives the domain manager, rather than the actual country associated with the TLD.

Full Changelog: https://github.com/jakewilliami/tldinfo/commits/v0.0.1

- Go
Published by jakewilliami over 2 years ago