Skip to content

Commit 388fd37

Browse files
authored
Merge pull request #193 from Logofile/sync
Documentation updates
2 parents c86a615 + b703d93 commit 388fd37

File tree

11 files changed

+1213
-1372
lines changed

11 files changed

+1213
-1372
lines changed

content/includes/version-tables.css

Lines changed: 117 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,120 @@ tbody td.gray {
3131

3232
tbody td.yellow {
3333
background: #fff2cc;
34-
}
34+
}
35+
36+
/* version-table */
37+
38+
table.version-table tr.end-of-life th {
39+
background: #f4cccc;
40+
}
41+
table.version-table tr.internal-support th {
42+
background: #fce5cd;
43+
}
44+
table.version-table tr.maintenance th {
45+
background: #fff2cc;
46+
}
47+
table.version-table tr.active th {
48+
background: #d9ead3;
49+
text-decoration: underline;
50+
}
51+
table.version-table tr.future th {
52+
background: #fff;
53+
}
54+
table.version-table tr.future td {
55+
font-style: italic;
56+
}
57+
58+
table.version-table td:nth-child(4) {
59+
text-align: start;
60+
}
61+
62+
/* version-chart */
63+
64+
table.version-chart tr.end-of-life th {
65+
background: #f4cccc;
66+
}
67+
table.version-chart tr.internal-support th {
68+
background: #fce5cd;
69+
}
70+
table.version-chart tr.maintenance th {
71+
background: #fff2cc;
72+
}
73+
table.version-chart tr.active th {
74+
background: #d9ead3;
75+
text-decoration: underline;
76+
}
77+
table.version-chart tr.future th {
78+
background: #fff;
79+
}
80+
table.version-chart tr.future td {
81+
font-style: italic;
82+
}
83+
84+
table.version-chart td.internal-support {
85+
background: #fce5cd;
86+
}
87+
table.version-chart td.maintenance {
88+
background: #fff2cc;
89+
}
90+
table.version-chart td.active {
91+
background: #d9ead3;
92+
text-decoration: underline;
93+
}
94+
95+
/* latest release column */
96+
97+
/* visually replace 'yyQq' heading with string 'Latest' */
98+
table.version-chart th.latest-release span {
99+
display: none;
100+
}
101+
table.version-chart th.latest-release::after {
102+
content: "Latest"
103+
}
104+
105+
/* draw a focus rectangle around the latest release column */
106+
table.version-chart th.latest-release {
107+
border-top: 2px solid #e06666 !important;
108+
border-left: 2px solid #e06666 !important;
109+
border-right: 2px solid #e06666 !important;
110+
}
111+
table.version-chart td.latest-release {
112+
font-weight: bold;
113+
border-left: 2px solid #e06666 !important;
114+
border-right: 2px solid #e06666 !important;
115+
}
116+
table.version-chart tr:last-child td.latest-release {
117+
border-bottom: 2px solid #e06666 !important;
118+
}
119+
120+
/* future release columns */
121+
table.version-chart td:not(:has(~ .latest-release)):not(.latest-release) {
122+
font-style: italic;
123+
}
124+
125+
/* legend */
126+
127+
table.legend th {
128+
font-weight: normal;
129+
}
130+
131+
table.legend tr.end-of-life th {
132+
background: #f4cccc;
133+
}
134+
table.legend tr.internal-support th {
135+
background: #fce5cd;
136+
}
137+
table.legend tr.maintenance th {
138+
background: #fff2cc;
139+
}
140+
table.legend tr.active th {
141+
background: #d9ead3;
142+
text-decoration: underline;
143+
}
144+
table.legend tr.future th {
145+
background: #fff;
146+
}
147+
148+
table.legend td:nth-child(2) {
149+
text-align: start;
150+
}

content/news/2024-11-07.md

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
+++
2+
title = "Changes Announced on November 7, 2024"
3+
linkTitle = "November 7, 2024"
4+
toc_hide = "true"
5+
description = "Changes announced for Protocol Buffers on November 7, 2024."
6+
type = "docs"
7+
+++
8+
9+
The following sections cover planned breaking changes in the v30 release,
10+
expected in 2025 Q1. Also included are some changes that aren't breaking but may
11+
require action on your part. These are in addition to those mentioned in the
12+
[News article from October 2](/news/2024-10-02).
13+
14+
These describe changes as we anticipate them being implemented, but due to the
15+
flexible nature of software some of these changes may not land or may vary from
16+
how they are described in this topic.
17+
18+
## Introduce ASAN Poisoning After Clearing Oneof Messages on Arena
19+
20+
This change adds a hardening check that affects C++ protobufs using Arenas.
21+
Oneof messages allocated on the protobuf arena will now be cleared in debug and
22+
poisoned in ASAN mode. After calling clear, future attempts to use the memory
23+
region will cause a crash in ASAN as a use-after-free error.
24+
25+
This implementation
26+
[requires C++17](/news/2024-10-02#drop-cpp-14).
27+
28+
## Python setdefault Behavior Change for Map Fields
29+
30+
Starting in v30, `setdefault` will be similar to `dict` for `ScalarMap`, except
31+
that both key and value must be set. `setdefault` will be rejected for
32+
`MessageMaps`.
33+
34+
## Remove Deprecated py_proto_library Macro
35+
36+
The deprecated internal `py_proto_library` Bazel macro in `protobuf.bzl` will be
37+
removed in v30.x.
38+
39+
This should be replaced by the official `py_proto_library` which will be moved
40+
to protobuf in `bazel/py_proto_library` as of v29.x. This implementation was
41+
previously available in `rules_python` prior to v29.x.
42+
43+
## Python Nested Message Class \_\_qualname\_\_ Contains the Outer Message Name
44+
45+
Python nested message class `__qualname__` now contains the outer message name.
46+
Prior to v30, `__qualname__` has the same result with `__name__` for nested
47+
message, in that the outer message name was not included.
48+
49+
For example:
50+
51+
```python
52+
message Foo {
53+
message Bar {
54+
bool bool_field = 1;
55+
}
56+
}
57+
nested = test_pb2.Foo.Bar()
58+
self.assertEqual('Bar', nested.__class__.__name__)
59+
self.assertEqual('Foo.Bar', nested.__class__.__qualname__) # It was 'Bar' before
60+
```
61+
62+
## Dropping our C++ CocoaPods release
63+
64+
In v30, we will be dropping our C++ CocoaPods release, which has been broken
65+
since v4.x.x. C++ users should use our
66+
[GitHub release](https://github.com/protocolbuffers/protobuf/releases) directly
67+
instead.
68+
69+
## Ruby and PHP Errors in JSON Parsing
70+
71+
v30 fixes non-conformance in JSON parsing of strings in numeric fields per the
72+
[JSON spec](https://protobuf.dev/programming-guides/json/).
73+
74+
This fix will not be accompanied by a major version bump, but Ruby and PHP will
75+
now raise errors for non-numeric strings (e.g. "", "12abc", "abc") in numeric
76+
fields. v29.x will include a warning for these error cases.

content/news/_index.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ New news topics will also be published to the
2020
The following news topics provide information in the reverse order in which it
2121
was released.
2222

23+
* [November 7, 2024](/news/2024-11-07) - More breaking
24+
changes in the upcoming 30.x release
2325
* [October 2, 2024](/news/2024-10-02) - Breaking
2426
changes in the upcoming 30.x release
2527
* [October 1, 2024](/news/2024-10-01) - Changes to
@@ -84,6 +86,7 @@ release notes will be more complete. Also, not everything from the chronological
8486
listing will be in these topics, as some content is not specific to a particular
8587
release.
8688

89+
* [Version 30.x](/news/v30)
8790
* [Version 29.x](/news/v29)
8891
* [Version 26.x](/news/v26)
8992
* [Version 25.x](/news/v25)

0 commit comments

Comments
 (0)