程序员茄子
全部
编程
代码
资讯
案例
综合
联系我们
兼容性 相关技术文章
php
mysql
shell
go
vue
css
api接口对接
支付接口对接
Rust 1.90 默认启用 LLD:构建、发布与兼容性变更
代码
Rust 1.90 默认启用 LLD:构建、发布与兼容性变更
2026-10-08 21:05:21
Rust 1.90 把 x86_64-unknown-linux-gnu 的默认链接器换成 LLD,cargo publish --workspace 原生支持工作区发布,x86_64-apple-darwin 降为 Tier 2。本文讲清构建/发布侧的取舍、-C linker-features=-lld 退出方式、稳定化 API 与兼容性注意。
Rust
LLD
构建
Cargo
兼容性
PHP 8.5 升级排查:哪些行为变化必须先修,哪些弃用警告可以后处理
编程
PHP 8.5 升级排查:哪些行为变化必须先修,哪些弃用警告可以后处理
2026-10-08 21:05:20
PHP 8.5 里被弃用的仍能运行,但一批行为变化会改变结果。本文把它拆成两类:部署前必须修的行为变化(float→int 与 NAN 警告、枚举松散比较、PDO FETCH_CLASS CUFA、printf 精度、opcache 内建、mysqli 构造)与可后处理的弃用警告,逐条给排查与处置建议。
PHP
升级
兼容性
弃用
排查
OpenSSL 4.0 迁移:ASN1_STRING 转 opaque、engines 移除,nginx/PHP 需重新编译
资讯
OpenSSL 4.0 迁移:ASN1_STRING 转 opaque、engines 移除,nginx/PHP 需重新编译
2026-09-29 21:03:00
OpenSSL 4.0.0(2026-04-14)是 feature release 而非 LTS,支持到 2027-05。迁移前要核对的不兼容项不少:ASN1_STRING 转为 opaque、大量 X509 API 加 const(如 X509_get_subject_name 返回值变 const)、engines 被移除、SSLv3 移除、废弃 EC 曲线默认关闭、c_rehash 改 openssl rehash、libcrypto 不再用 atexit 清理。本文按类列出变更,并提醒 nginx/PHP 等依赖组件需重新编译。
OpenSSL
运维
TLS
加密库
升级
兼容性
PHP 8.6 升级自查笔记:三十项弃用里,哪些会改变现有代码的行为
代码
PHP 8.6 升级自查笔记:三十项弃用里,哪些会改变现有代码的行为
2026-09-25 21:06:20
PHP 8.6 计划 2026-11-19 发布,真正值得提前处理的是约三十项弃用。本文按「是否改变运行时行为」分类整理:从 finally 返回、构造函数返回值、把对象当数组传给 array_walk/http_build_query、is_a 字符串首参、is/let 保留字,以及 mb_ereg 系列从 Oniguruma 迁到 PCRE /u 的语义迁移注意点。
PHP
版本升级
弃用
兼容性
旧行为是错的,改了也算 Breaking Change:dotnet/runtime 的判定规则与四桶分诊
编程
旧行为是错的,改了也算 Breaking Change:dotnet/runtime 的判定规则与四桶分诊
2026-09-17 00:07:36
dotnet/runtime 把破坏性变更拆成三份文档:怎么按公共契约分成四个桶、怎么做风险收益权衡、Allowed/Disallowed 逐条规则,以及贡献者必须走完的 5 步流程。本文按原文顺序整理这套判定标准,并说明 Go module、PHP 包和对外 JSON 接口如何照搬这套分桶方法。
Breaking
Changes
破坏性变更
兼容性
API
dotnet
C#
版本升级
Go 1.27 的 encoding/json 底层换成 v2:默认拒绝非法 UTF-8 与重复 key,旧项目回退与兼容方案
编程
Go 1.27 的 encoding/json 底层换成 v2:默认拒绝非法 UTF-8 与重复 key,旧项目回退与兼容方案
2026-09-06 21:07:17
Go 1.27 将 encoding/json 底层切换到 v2 实现后,默认拒绝非法 UTF-8 与 JSON 对象重复 key。老项目升级可能遇到原本静默通过的数据现在直接报错。本文讲清楚行为差异、如何用 v1 的 Options 恢复宽松语义,以及构建期 GOEXPERIMENT=nojsonv2 的紧急回退开关。
Go
encoding
json
jsonv2
兼容性
迁移
我修复了一个超时 Bug,却违反了 API 契约:一个关于兼容性的教训
编程
我修复了一个超时 Bug,却违反了 API 契约:一个关于兼容性的教训
2026-09-06 01:12:47
开发者分享发人深省的经历:修复API超时Bug(将阈值从30秒增到60秒)却违反了API契约,导致客户端因仍按30秒超时重试而出现非幂等操作重复执行。文章分析了API契约的完整定义(行为/性能/语义契约)、为什么修改超时是破坏性变更、正确的修复方式(版本化/渐进式变更/优化处理速度),以及API设计和客户端开发的最佳实践。
API
契约
兼容性
超时
破坏性变更
版本管理
后端开发
软件工程
Go encoding/json/v2:升级后拒绝"合法"JSON?这是故意的
编程
Go encoding/json/v2:升级后拒绝"合法"JSON?这是故意的
2026-08-29 21:04:57
Go 1.27 起 encoding/json 由 json/v2 引擎驱动,默认行为更严格:拒绝无效 UTF-8 与对象重复名称,线上可能突然开始报错。本文拆解 v1→v2 的行为差异、Options 配置回退 v1 语义,以及 GOEXPERIMENT=nojsonv2 降级开关与迁移步骤。
Go
标准库
兼容性
Code
token
WinApps:让 Linux 流畅运行 Windows 应用,狂揽 1.5 万 Star
编程
WinApps:让 Linux 流畅运行 Windows 应用,狂揽 1.5 万 Star
2026-07-09 11:57:08
WinApps在Linux上运行Windows应用,Word/Excel/Photoshop像原生一样独立窗口,VM投射+文件共享,15400+ Star,一行命令安装。
Linux
Windows
WinApps
开源
虚拟机
兼容性
Office
跨平台
Docker
大家都在搜索什么?
devops
易支付
一个官网+多少钱
统一接受回调
统一回调
python
sub
node
宝塔日志
mysql
shell
ElasticSearch
css
vue
api接口对接
2025
支付接口对接
go
php
php回调