Releases: py-mine/mcstatus
Release list
v14.0.0
Breaking changes
-
MinecraftColorandFormattingenums are now separate for Java and Bedrock edition, as they introduced conflicting colors recently. New classes are namedJavaMinecraftColor,BedrockMinecraftColor,JavaFormattingandBedrockFormatting.This fixes #1165 regression (introduced in #1094, v12.2.0), so underlined formatting is now parsed correctly for Java.
-
Invalid formattings (such as
&z) are now parsed asInvalidFormattingclass, instead of just a string. This mirrors the Java Minecraft behaviour, where Minecraft ignores invalid formattings. -
Transformers, which are private API since v13, now won't have default values for the
bedrockargument.
What's Changed
- Drop default values for
bedrockargument in transformers by @PerchunPak in #1180 - motd: ignore invalid formattings by @PerchunPak in #1179
- Motd.parse: skip element if it is an empty string by @PerchunPak in #1166
- motd: separate parsing colors logic for java and bedrock by @PerchunPak in #1176
Internal
- Use MOTD string when testing bedrock output by @PerchunPak in #1171
- Fix "Class-scoped fixture defined as instance method is deprecated" by @PerchunPak in #1174
- Ignore tests coverage on
t.TYPE_CHECKINGlines by @PerchunPak in #1175
Diff: v13.1.0...v14.0.0
v13.1.0
What's Changed
- Rework protocol IO, add Buffer abstraction & fix socket write issues by @ItsDrike in #1127
- Drop 13.x deprecations by @PerchunPak in #1149
Internal changes
- Assert docstring has deprecation info when
@deprecatedby @ItsDrike in #1135 - Fix minor typing inconsistencies by @ItsDrike in #1139
- Migrate to main primary branch by @ItsDrike in #1140
- Improve test coverage config by @ItsDrike in #1144
- Strict linting by @ItsDrike in #1143
- Use asyncio-mode=auto for pytest by @ItsDrike in #1147
- Don't place code in
__init__.py(RUF067) by @ItsDrike in #1146
Full Changelog: v13.0.1...v13.1.0
v13.0.1
There are no changes in the code, only fixes for our tests.
Internal
- Make tests not tag aware by @PerchunPak in #1133
Full Changelog: v13.0.0...v13.0.1
v13.0.0
Breaking Changes
- Restructure the project & public API clarification from code by @ItsDrike in #1103
- This changes a lot of file paths and class names within mcstatus, you might see deprecation warnings if importing certain objects from the old paths.
- We also better clarify what is and what is not a part of the public API, no deprecations will be provided for things that we do not consider as public API, so you might face full import errors if you were using these, they will now live under
_prefixed symbols. - Specifically:
mcstatus.status_response->mcstatus.responses(which is also further divided into submodules, but you can import frommcstatus.responsesdirectly too through re-exports)mcstatus.forge_data->mcstatus.responses.forge(or the re-exports inmcstatus.responses)mcstatus.bedrock_status,mcstatus.pinger,mcstatus.legacy_status,mcstatus.querier-> considered private APImcstatus.protocol,mcstatus.address,mcstatus.dns-> considered private APImcstatus.motd.transformers,mcstatus.motd.simplifies-> considered private API- The typed dict definitions in
mcstatus.status_responseandmcstatus.forge_data-> considered private API
- CLI: use
StatusResponse.as_dict()in JSON command by @PerchunPak in #1102- This changes the JSON output of mcstatus CLI in an incompatible way, people relying on certain field names / value types might face breakages. The breaking changes only affect
queryresponses. - The following has changed specifically in the query response JSON:
- The
mapkey was renamed tomap_name - The
portvalue is now a JSON number type, not a string - New fields:
motd,game_id,game_type,players, andsoftwarewere added
- The
- This changes the JSON output of mcstatus CLI in an incompatible way, people relying on certain field names / value types might face breakages. The breaking changes only affect
Features / Improvements
- Support for Beta 1.8 to 1.3 servers by @will0hlep in #1117
- CLI: improve how player sample is displayed by @PerchunPak in #1121
Other changes
- Enable more ruff rules by @PerchunPak in #1110
- Fix CI status badge in README by @PerchunPak in #1119
- Add tests for
LegacyClient.parse_responseby @PerchunPak in #1120 - Improve coverage by @PerchunPak in #1122
New Contributors
- @will0hlep made their first contribution in #1117
Full Changelog: v12.2.1...v13.0.0
v12.2.1
v12.2.0
What's Changed
- Add support for new bedrock colors by @PerchunPak in #1094
- HTML MOTD transformer: replace new lines with
<br>by @PerchunPak in #1097 - Document extra arguments in status, ping, query methods by @PerchunPak in #1101
- Document MOTD transformers by @PerchunPak in #1096
Internal changes
- Replace @dependabot with @renovatebot by @PerchunPak in #1083
- Make documentation a separate workspace by @PerchunPak in #1089
- Use versions instead of dates in deprecation messages by @PerchunPak in #1098
- Improve deprecation handling by @ItsDrike in #1099
- Always pattern-match on exception messages in tests by @PerchunPak in #1104
New Contributors
- @renovatebot made their first contribution in #1083
Full Changelog: v12.1.0...v12.2.0
v12.1.0
What's Changed
- Drop Python 3.9 by @PerchunPak in #1060
- Add Python 3.14 support by @PerchunPak in #1061
- Support pre-1.7 Java servers by @zachdeibert in #1059
Internal changes
- Fix venv activation docs for Windows by @zachdeibert in #1058
- Specify dependency versions using
~=instead of>=by @PerchunPak in #1062 - Add
fallback-versionforuv-dynamic-versioningby @PerchunPak in #1063
New Contributors
- @zachdeibert made their first contribution in #1058
Full Changelog: v12.0.6...v12.1.0
v12.0.6
What's Changed
- Replace deprecated asyncio.iscoroutinefunction by @cdce8p in #1049
- Consider falsely value as value when parsing Forge's
modidby @PerchunPak in #1051
New Contributors
Full Changelog: v12.0.5...v12.0.6
v12.0.5
What's Changed
- Fix TypeError when
RawJavaStatusPlayers.sampleis None by @RagingEnby in #1045
Internal changes
- Disable metadata for uv-dynamic-versioning by @ItsDrike in #1044
- Update renamed label names in dependabot config by @ItsDrike in #1047
New Contributors
- @RagingEnby made their first contribution in #1045
Full Changelog: v12.0.4...v12.0.5
v12.0.4
What's Changed
Nothing changed; this was pushed by mistake
Internal changes
- Publish Test PyPI releases on every commit to main by @ItsDrike in #1042
- Fix publish CI branch name (main->master) by @ItsDrike in #1043
Full Changelog: v12.0.3...v12.0.4