public_suffix 7.0.1 → 7.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -0
- data/lib/public_suffix/version.rb +1 -1
- metadata +3 -7
- data/AGENTS.md +0 -38
- data/CLAUDE.md +0 -1
- data/CONTRIBUTING.md +0 -129
- data/RELEASING.md +0 -96
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1ff61cb9451fff6aed47766db53c40c7a4888805c3c7bc5f6c6589d47504345c
|
|
4
|
+
data.tar.gz: e70fb4d7e20fce2a5e3fd89b30e4007c538fcaeba58171b6d931819c86d95687
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ec5527af0c8aaef6707cd43e4ac1aea2d7fecffb0b1d1db2c12798fba1e052750a50ffc808d9fd4ee0176b880f548fe574d2030f00acd7a66cc2a7bd53a452ee
|
|
7
|
+
data.tar.gz: 709c40dc8fb9661ebde8e5c3c7e0226089ea3390aefef01faae733c905362c7be665aeaea1a1438e9b6f7f003c02dda4b9ebc5a612fc470bdd00a6f84f35fdda
|
data/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
## Unreleased
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
## 7.0.2 - 2026-01-04
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
|
|
11
|
+
- Excluded symlinks and unnecessary files from gem packaging. On Windows symlinks cannot be created without Administrator privileges or with developer mode enabled #496.
|
|
12
|
+
|
|
13
|
+
|
|
4
14
|
## 7.0.1 - 2026-01-03
|
|
5
15
|
|
|
6
16
|
### Changed
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: public_suffix
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 7.0.
|
|
4
|
+
version: 7.0.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Simone Carletti
|
|
@@ -19,13 +19,9 @@ extra_rdoc_files:
|
|
|
19
19
|
- LICENSE.txt
|
|
20
20
|
files:
|
|
21
21
|
- ".yardopts"
|
|
22
|
-
- AGENTS.md
|
|
23
22
|
- CHANGELOG.md
|
|
24
|
-
- CLAUDE.md
|
|
25
|
-
- CONTRIBUTING.md
|
|
26
23
|
- LICENSE.txt
|
|
27
24
|
- README.md
|
|
28
|
-
- RELEASING.md
|
|
29
25
|
- SECURITY.md
|
|
30
26
|
- data/list.txt
|
|
31
27
|
- lib/public_suffix.rb
|
|
@@ -40,9 +36,9 @@ licenses:
|
|
|
40
36
|
metadata:
|
|
41
37
|
bug_tracker_uri: https://github.com/weppos/publicsuffix-ruby/issues
|
|
42
38
|
changelog_uri: https://github.com/weppos/publicsuffix-ruby/blob/master/CHANGELOG.md
|
|
43
|
-
documentation_uri: https://rubydoc.info/gems/public_suffix/7.0.
|
|
39
|
+
documentation_uri: https://rubydoc.info/gems/public_suffix/7.0.2
|
|
44
40
|
homepage_uri: https://simonecarletti.com/code/publicsuffix-ruby
|
|
45
|
-
source_code_uri: https://github.com/weppos/publicsuffix-ruby/tree/v7.0.
|
|
41
|
+
source_code_uri: https://github.com/weppos/publicsuffix-ruby/tree/v7.0.2
|
|
46
42
|
funding_uri: https://github.com/sponsors/weppos
|
|
47
43
|
rdoc_options: []
|
|
48
44
|
require_paths:
|
data/AGENTS.md
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
# Agent Instructions
|
|
2
|
-
|
|
3
|
-
Instructions for AI coding agents when working on this project.
|
|
4
|
-
|
|
5
|
-
## Agent Organization
|
|
6
|
-
|
|
7
|
-
When creating agent instruction files:
|
|
8
|
-
|
|
9
|
-
- The main file should always be named `AGENTS.md`
|
|
10
|
-
- Create a `CLAUDE.md` symlink pointing to `AGENTS.md` for compatibility with Claude Code
|
|
11
|
-
|
|
12
|
-
## Project Overview
|
|
13
|
-
|
|
14
|
-
PublicSuffix for Ruby is a Ruby domain name parser based on the Public Suffix List. It provides domain parsing, validation, and extraction with support for private domains, FQDN handling, and custom rule definitions.
|
|
15
|
-
|
|
16
|
-
## Key Documentation
|
|
17
|
-
|
|
18
|
-
- **[README.md](README.md)** - Library overview, features, usage examples, and API reference
|
|
19
|
-
- **[CONTRIBUTING.md](CONTRIBUTING.md)** - Contribution guidelines, commit format, testing approach
|
|
20
|
-
- **[Public Suffix List](https://publicsuffix.org/)** - Official Public Suffix List documentation
|
|
21
|
-
- **[RubyDoc](https://rubydoc.info/gems/public_suffix)** - API documentation
|
|
22
|
-
|
|
23
|
-
## Project-Specific Context
|
|
24
|
-
|
|
25
|
-
### Code Style Notes
|
|
26
|
-
|
|
27
|
-
- Use Conventional Commits format (see [CONTRIBUTING.md](CONTRIBUTING.md#commit-message-guidelines))
|
|
28
|
-
- Follow Ruby community style guidelines
|
|
29
|
-
- Do not include AI attribution in commit messages or code comments
|
|
30
|
-
- Tests are mandatory for all changes
|
|
31
|
-
|
|
32
|
-
## Project Structure
|
|
33
|
-
|
|
34
|
-
```
|
|
35
|
-
lib/public_suffix/ # Main library code
|
|
36
|
-
test/ # Test suite
|
|
37
|
-
data/ # Public Suffix List data
|
|
38
|
-
```
|
data/CLAUDE.md
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
AGENTS.md
|
data/CONTRIBUTING.md
DELETED
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
# Contributing to PublicSuffix for Ruby
|
|
2
|
-
|
|
3
|
-
Thank you for your interest in contributing to PublicSuffix for Ruby!
|
|
4
|
-
|
|
5
|
-
## Development Workflow
|
|
6
|
-
|
|
7
|
-
1. Fork and clone the repository
|
|
8
|
-
2. Install dependencies: `bundle install`
|
|
9
|
-
3. Create a branch: `git checkout -b feature/your-feature`
|
|
10
|
-
4. Make your changes
|
|
11
|
-
5. Run tests: `rake test`
|
|
12
|
-
6. Commit using Conventional Commits format (see below)
|
|
13
|
-
7. Push and create a pull request
|
|
14
|
-
|
|
15
|
-
## Commit Message Guidelines
|
|
16
|
-
|
|
17
|
-
We follow the [Conventional Commits](https://www.conventionalcommits.org/) specification for commit messages.
|
|
18
|
-
|
|
19
|
-
We follow the [Common Changelog](https://common-changelog.org/) format for changelog entries.
|
|
20
|
-
|
|
21
|
-
### Format
|
|
22
|
-
|
|
23
|
-
```
|
|
24
|
-
<type>(<scope>): <subject>
|
|
25
|
-
|
|
26
|
-
<body>
|
|
27
|
-
|
|
28
|
-
<footer>
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
Use lowercase for `<type>`. Capitalize the first letter of `<subject>` (sentence-style). See examples below.
|
|
32
|
-
|
|
33
|
-
### Type
|
|
34
|
-
|
|
35
|
-
- **feat**: A new feature
|
|
36
|
-
- **fix**: A bug fix
|
|
37
|
-
- **chore**: Other changes that don't modify src or test files
|
|
38
|
-
- **docs**: Documentation only changes
|
|
39
|
-
- **style**: Code style changes (formatting, etc.)
|
|
40
|
-
- **refactor**: Code change that neither fixes a bug nor adds a feature
|
|
41
|
-
- **perf**: Performance improvement
|
|
42
|
-
- **test**: Adding or updating tests
|
|
43
|
-
- **build**: Changes to build system or external dependencies
|
|
44
|
-
- **ci**: Changes to CI configuration files and scripts
|
|
45
|
-
|
|
46
|
-
### Scope
|
|
47
|
-
|
|
48
|
-
- **parser**: List parsing and rule handling
|
|
49
|
-
- **domain**: Domain parsing and validation
|
|
50
|
-
- **list**: List management and operations
|
|
51
|
-
- **rule**: Rule definitions and matching
|
|
52
|
-
|
|
53
|
-
### Examples
|
|
54
|
-
|
|
55
|
-
```bash
|
|
56
|
-
feat(parser): Add support for wildcard exceptions
|
|
57
|
-
|
|
58
|
-
fix(domain): Handle FQDN trailing dots correctly
|
|
59
|
-
|
|
60
|
-
docs: Update usage examples in README
|
|
61
|
-
|
|
62
|
-
refactor(list): Simplify rule lookup logic
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
### Breaking Changes
|
|
66
|
-
|
|
67
|
-
Add `BREAKING CHANGE:` in the footer:
|
|
68
|
-
|
|
69
|
-
```
|
|
70
|
-
feat(domain): Change parse return type
|
|
71
|
-
|
|
72
|
-
BREAKING CHANGE: Domain#parse now returns nil for invalid domains instead of raising.
|
|
73
|
-
Update code to check for nil returns.
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
## Testing
|
|
77
|
-
|
|
78
|
-
### Running Tests
|
|
79
|
-
|
|
80
|
-
```bash
|
|
81
|
-
rake test # Run all tests
|
|
82
|
-
rake test TEST=test/domain_test.rb # Run specific test file
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
### Writing Tests
|
|
86
|
-
|
|
87
|
-
- Tests use Minitest framework
|
|
88
|
-
- Place tests in `test/` directory
|
|
89
|
-
- Use descriptive test names
|
|
90
|
-
- Test both happy paths and error cases
|
|
91
|
-
- Include tests for edge cases (empty strings, unicode, etc.)
|
|
92
|
-
|
|
93
|
-
## Pull Request Process
|
|
94
|
-
|
|
95
|
-
1. Update documentation for API changes
|
|
96
|
-
2. Add tests for new features or bug fixes
|
|
97
|
-
3. Ensure all tests pass: `rake test`
|
|
98
|
-
4. Use Conventional Commits format
|
|
99
|
-
5. Provide clear PR description with context
|
|
100
|
-
6. Reference related issues if applicable
|
|
101
|
-
|
|
102
|
-
## Code Style
|
|
103
|
-
|
|
104
|
-
- Follow [Ruby Style Guide](https://rubystyle.guide/)
|
|
105
|
-
- Use RuboCop configuration if present
|
|
106
|
-
- Add YARD documentation for public methods
|
|
107
|
-
- Keep methods focused and small
|
|
108
|
-
|
|
109
|
-
### Ruby-Specific Guidelines
|
|
110
|
-
|
|
111
|
-
- Follow idiomatic Ruby patterns
|
|
112
|
-
- Use meaningful variable and method names
|
|
113
|
-
- Prefer `raise` over `fail`
|
|
114
|
-
- Use blocks and iterators effectively
|
|
115
|
-
- Follow the principle of least surprise
|
|
116
|
-
- Prefer methods that return values over side effects
|
|
117
|
-
|
|
118
|
-
### Documentation
|
|
119
|
-
|
|
120
|
-
- Add YARD comments for public methods
|
|
121
|
-
- Include usage examples in documentation
|
|
122
|
-
- Update README.md for user-facing changes
|
|
123
|
-
- Keep inline comments minimal - prefer self-documenting code
|
|
124
|
-
|
|
125
|
-
## Questions?
|
|
126
|
-
|
|
127
|
-
Open an issue for questions, feature discussions, or bug reports.
|
|
128
|
-
|
|
129
|
-
Thank you for contributing!
|
data/RELEASING.md
DELETED
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
# Releasing
|
|
2
|
-
|
|
3
|
-
This document describes the steps to release a new version of PublicSuffix.
|
|
4
|
-
|
|
5
|
-
## Prerequisites
|
|
6
|
-
|
|
7
|
-
- You have commit access to the repository
|
|
8
|
-
- You have push access to the repository
|
|
9
|
-
- You have a GPG key configured for signing tags
|
|
10
|
-
- You have permission to publish to RubyGems
|
|
11
|
-
|
|
12
|
-
## Release process
|
|
13
|
-
|
|
14
|
-
1. **Determine the new version** using [Semantic Versioning](https://semver.org/)
|
|
15
|
-
|
|
16
|
-
```shell
|
|
17
|
-
VERSION=X.Y.Z
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
- **MAJOR** version for incompatible API changes
|
|
21
|
-
- **MINOR** version for backwards-compatible functionality additions
|
|
22
|
-
- **PATCH** version for backwards-compatible bug fixes
|
|
23
|
-
|
|
24
|
-
2. **Update the version file** with the new version
|
|
25
|
-
|
|
26
|
-
Edit `lib/public_suffix/version.rb` and update the `VERSION` constant:
|
|
27
|
-
|
|
28
|
-
```ruby
|
|
29
|
-
VERSION = "X.Y.Z"
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
3. **Update the changelog** with the new version
|
|
33
|
-
|
|
34
|
-
Edit `CHANGELOG.md` and add a new section for the release following the [Common Changelog](https://common-changelog.org/) format (see [CONTRIBUTING.md](CONTRIBUTING.md) for details):
|
|
35
|
-
|
|
36
|
-
```markdown
|
|
37
|
-
## X.Y.Z - YYYY-MM-DD
|
|
38
|
-
|
|
39
|
-
### Changed
|
|
40
|
-
|
|
41
|
-
- Description of changes
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
4. **Install dependencies**
|
|
45
|
-
|
|
46
|
-
```shell
|
|
47
|
-
bundle install
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
or simply:
|
|
51
|
-
|
|
52
|
-
```shell
|
|
53
|
-
bundle
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
5. **Run tests** and confirm they pass
|
|
57
|
-
|
|
58
|
-
```shell
|
|
59
|
-
bundle exec rake test
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
6. **Commit the new version**
|
|
63
|
-
|
|
64
|
-
```shell
|
|
65
|
-
git commit -am "Release $VERSION"
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
7. **Create a signed tag**
|
|
69
|
-
|
|
70
|
-
```shell
|
|
71
|
-
git tag -a v$VERSION -s -m "Release $VERSION"
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
8. **Push the changes and tag**
|
|
75
|
-
|
|
76
|
-
```shell
|
|
77
|
-
git push origin main
|
|
78
|
-
git push origin v$VERSION
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
9. **Build and publish the gem**
|
|
82
|
-
|
|
83
|
-
```shell
|
|
84
|
-
bundle exec rake release
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
This will:
|
|
88
|
-
- Build the gem
|
|
89
|
-
- Push it to RubyGems
|
|
90
|
-
- Create a GitHub release
|
|
91
|
-
|
|
92
|
-
## Post-release
|
|
93
|
-
|
|
94
|
-
- Verify the new version appears on [RubyGems](https://rubygems.org/gems/public_suffix)
|
|
95
|
-
- Verify the GitHub release was created
|
|
96
|
-
- Announce the release if necessary
|