新版的Typecho开发计划

Typecho

关注 Typecho Github 的朋友应该已经发现,最近 Typecho 的 dev 分支更新频繁,其它相关项目也有动作。沉寂许久之后,我也决定开始继续推进这个项目了,不过距离上次更新已经是三四年前了。虽然开发版一直在修复 Bug,但是小打小闹未免也太糊弄人了。所以我就简单说说这个新版本的开发计划吧。

版本号的变化

首先最直观的改变是版本号的变化,之前是大版本/时间版本这样的形式,比如1.1/17.10.30,代表的是在2017年10月30日发表的1.1版本(看到这个日期,脸不禁又红了)。这个版本号模仿的是ubuntu的发行版,它比较适合于每年固定日期发行固定版本的形式,跟 Typecho 目前的开发状况不太符合,所以新的版本号会采用常规的3组数字组成。比如1.2.0,前面两部分是大的版本号,重要更新的时候会变化,最后一位适用于微小更新,针对一些微小的bug修复更新。新的版本规则可以让 Typecho 的版本发布更加灵活,小版本更新也可以更频繁。

向 PHP 5 说再见吧

Typecho 刚发布的时候还是 PHP 5 流行的时代,PHP 7 还是个新鲜玩意。转眼间沧海桑田,PHP 8都已经走上舞台,我们还有啥理由为是否支持 PHP 5 挣扎。更高语言的版本除了带来更好的执行效率以外,最重要的是新的语言特性的提高了编程的效率。因此 Typecho 的整个项目将整体转向 PHP 7,更确切的说是 PHP 7.2。考虑到兼容性我们暂时将最低的语言版本放到 PHP 7.2,当然我们强烈建议你使用更新的 PHP 版本,比如 PHP 7.4 或者 PHP 8.0

升级到 PHP 7.2 后将给 Typecho 代码带来如下变化:

  1. 类名全部由下划线风格转向反斜线的 namespace 风格

    // 之前的代码
    new Typecho_Widget_Helper_Form();
    
    // 之后的代码
    use Typecho\Widget\Helper\Form;
    
    new Form();
  2. 编码风格建议统一使用PSR-12
  3. 更强的类型约束,所有的接口参数和返回值都将加上类型约束,所以大家在使用的时候也要更加注意规范。
  4. 我们移除了大量过时/无用的代码。

这个更新目前正在dev分支开发中,目前 Typecho 命名空间的代码基本都已经改造完成。得益于新设计的自动加载系统,老的类命名和使用方法也将得到兼容,所以你不必担心之前的插件和主题用不了。

新的安装脚本

截屏2021-08-24 下午5.10.42.png

老的安装脚本可以说非常混乱,里面各种乱飞的代码都带有深深的时代印记,因此我们基于原生的 UI 组件开发了新的安装脚本,相比界面上的改变代码更是彻底重写。除了交互更加便捷,而且现在也支持在命令行通过环境变量静默安装,这就我们下面的改动创造了条件。

拥抱容器化

如果说这几年服务端架构最大的进步是什么,那无疑是微服务了。而微服务的基础容器化也早已走入寻常开发者的视野,无论是 k8s 还是 Docker 都要求代码部署的时候针对容器化作出相应的设计。新版的 Typecho 在这一块取得了很大的进步,目前我们的官方容器已经正式推出:

官方 Docker 镜像支持 PHP 7.3 PHP 7.4 PHP 8.0,并且运行环境支持FPM Apache Cli等模式,操作系统可以选择debian或者更小巧的alpine。我们使用了 Github 的流水线做全自动化编译提交,除了发布新版本时会自动编译以外,每晚也会自动发布一个 nightly 版本(目前只有这个版本,并不是正式代码,建议测试使用)。Dockerfile的文档还在书写中。

截屏2021-08-24 下午5.19.01.png

Github Actions 等持续集成的工具让开发的发布测试工作更加高效,我们目前也设计了很多有趣的流水线。

后台界面移动端适配

截屏2021-08-24 下午5.35.28.png

手持设备访问已经成为了一个刚需,所以你现在可以看到一个可用的手机界面。针对手指位置,我们还将菜单从顶部放到了底部。

写在最后

不知不觉 Typecho 已经走过了超过十年,值得庆幸的是这么多年过去了,我仍然对软件开发饱含热情。这么多年以来也一直有 Typecho 的用户通过各种渠道给我提出改进意见,各种催更也渐渐成了一个梗,我也时常为无法回报大家的关注而焦虑。在后续的开发中,我希望能以科学的方法来管理这个项目,让它更加高效持续地运转。

这是一个纷繁的时代,信息渠道已经多到快让人喘不过气来。而个人博客这种来自互联网初期的载体,似乎与这个环境显得格格不入。它就像大海中的小岛,在海浪中显得那么不起眼,但它的存在本身就彰显了一种意义。无论是波涛汹涌,还是风平浪静,它都在那里,而你的心也就找到了一处可以停靠的港湾。
已有 133 条评论
  1. 感谢大大,不负我们日思夜盼啊❤

  2. 羊驼哥
    羊驼哥

    竟然在有生之年更新了(狗头保命)~
    大佬奥利给!!!

  3. 哇噢,突然就来这么大的消息,期待1.2.0早日发布 :-)

  4. 加油ヾ(◍°∇°◍)ノ゙

  5. 情非得已
    情非得已

    奥里给,终于要更新正式版了开发板用了好多年了都=。=

  6. 森木志
    森木志

    这真的是有生之年可以看到te更新了

  7. 清酒踏月
    清酒踏月

    有生之年能看到大佬更新了! ٩(๑′0`๑)۶

  8. 浅小沫
    浅小沫

    哇,期待大佬 (/ω\)

  9. 哇哇哇,太好了,有生之间啊!

  10. SHIERTX
    SHIERTX

    太爷爷,您关注的博客系统更新了!

  11. 太惊喜了!也是 Typecho 让我一直保持记录 Blog 的习惯,乃至于在 Web 开发的路上持续探索。多年来在世界的纷繁与浮躁中被一次次地拉回,内心得以持续的安宁。期待它继续发光发热~

  12. 真是太激动了

  13. 加油

  14. 非常棒

  15. 每次想用Typecho,都会因为看到正式版太久的更新时间而犹豫,毕竟越是想体验或者越喜欢就越需要它能稳定长久的发展下去。
    看到它还没有停止,还会真的继续更新发展,还是很让人开心的!

  16. 有格调的鱼er
    有格调的鱼er

    冲啊 大佬加油~

  17. 麦麦同学
    麦麦同学

    继续更新啊!努力吧

  18. 陆之岇
    陆之岇

    joyqi大佬, 您好, 看见Typecho有新版本计划, 我们大家都欣喜若狂, 相信新版本给我们带来很多惊喜。这里我有个功能建议说给大佬听听, 那么就是关于 插件升级计划

    一般的插件的 deactivate 方法都为空, 所以在没有禁用插件情况下直接删除插件文件都不会造成博客异常, 但是有些插件在 activate 方法里(创建表、添加路由、钩子之类) 它的 deactivate 方法也有相应的回收代码。

    这里大多用户一般都是直接删除插件文件或者覆盖为新版本的插件, 以此完成插件升级, 从而会造成博客异常。因为很多用户不明白为什么需要先禁用, 所以都是粗鲁的直接删除文件再覆盖新版本的插件。

    这是我们插件开发者一直困扰的地方, 特此希望joyqi大佬能够加入 插件升级 的开发计划。

  19. -xiao_kai-
    -xiao_kai-

    有生之年!

  20. 期待,用了这么多年的 Tyepcho 终于要更新了。

    个人博客在这个碎片化信息的时代已经渐渐边缘化了,但还是有很多站长在坚持创作,感谢所有的 Typecho 开发人员的坚持,为大家提供这么好用的平台。

    Just Type and Echo.

  21. 支持,支持

  22. 橘生淮北
    橘生淮北

    我以为7年一更新,万万没想到啊!

  23. 七年了😅终于等到你还好我没放弃

  24. 今天尝试装了一下 ,还不能跑起来。

  25. 期待新版Typecho

  26. 小西瓜
    小西瓜

    新的更新,非常令人兴奋与期待,感谢你的付出,最后一段话同感🤺

  27. 一休
    一休

    新版本什么时候发布啊,不知不觉等了四年多了。

  28. 有生之年等到更新,资瓷一个

  29. CornWorld
    CornWorld

    前排资瓷

  30. 等不及了

  31. 隔壁小胡
    隔壁小胡

    第一个接触到的博客系统就是typecho,目前一直在用,希望typecho能越做越好

  32. 夜琉璃
    夜琉璃

    大佬🐮🍺,终于等来更新了

  33. 即刻学术
    即刻学术

    前排支持!!!推广下后台美化插件 SimpleAdmin

  34. C.C.Nemo
    C.C.Nemo

    感谢一直不离不弃,希望越搞越好,在这信息爆炸的年代,小小blog终是自己心里的小归宿。

  35. 哥斯拉
    哥斯拉

    不得不说这是好消息,继续兼容以前的插件和主题更是极好。

  36. Garfield
    Garfield

    支持支持!期待新版本发布!

  37. 滴滴滴滴
    滴滴滴滴

    有具体的时间点嘛,期待中

  38. 彼岸花露
    彼岸花露

    加油加油,期待

  39. 黑桃三
    黑桃三

    又一次“三年 Typecho 沉淀,现在,回应您的等待”

  40. 潘先生
    潘先生

    我会一如既往的支持下去

  41. 真是个好消息,有生之年等到ty更新了

  42. 所长别开枪是我
    所长别开枪是我

    用Typecho有十年了,当初的少年已是屌丝了

  43. 一座堤
    一座堤

    记得几年前自己还读中学的时候,跟着网上的教程搭建自己的博客,安装typecho成功的时候还是非常激动的,期待更新~

  44. 确实得说,70大威武啊。

  45. 隔壁小胡
    隔壁小胡

    大佬,typecho新版开发有什么新进展吗,大概啥时候能发布?

  46. 运维学习笔记
    运维学习笔记

    好久没有来看博主的文章了,没有想到还有意外惊喜呀!加油!

  47. 大佬,啥时候发个正式版

  48. Gnekiah
    Gnekiah

    好耶要更新了!!

  49. 看到Typecho要更新了实在是太激动了
    加油作者!
    谢谢你为Typecho做出的贡献!!!!!
    希望尽早看到正式版哇。

  50. 念念不忘,必有回响
    感谢!

  51. 撒花 多少年了,又听到响动了!

  52. hi joyqi 何时发布呢

  53. axiomxs
    axiomxs

    猛猛干,加油作者

  54. 说实话早就期待typecho更新了。感谢joyqi的付出。说真的,我感觉最纯粹的,不带任何商业色彩的,写博客的程序就是typecho了。
    一直看好。
    念念不忘,必有回响。
    感谢作者,期待更新。

  55. good!

  56. wujian435
    wujian435

    太惊喜了,期待!

  57. 灰色轨迹
    灰色轨迹

    期待新版本登场

  58. 什么时候发布呢

  59. 你好!

    alert('test');
  60. 坐等更新!还是typecho好用!!

  61. 期待typecho。感谢joyqi的付出。
    让我想到了韩寒之前的 一个 app solgan, 在纷杂世界里,有时一个就够了。

  62. 在那里下载?

  63. 若志奕鑫
    若志奕鑫

    期待期待~

  64. 黑桃三
    黑桃三

    来催更了

  65. gnekiah
    gnekiah

    来催更,嘻嘻

  66. 个人应用,倾向于使用轻量的cms,主要主要在用getsimple和typecho(其它还试用过bludit等,wordpress和joomla觉得太重,不想用)。

    目前主要用typecho当成个人note和digg在用,挺好用的,如果配上相关的模板,还可以作用在在线文档分享,对于个人和小团队,确实挺好用的。

    1.2rc已经试过了,感觉不错,如果开放团队能再提供一个类似twitte和docs的模板用于相关场景就更好了。

  67. 期待大佬的更新

  68. 已经有最新版本了,感谢

  69. 一直没搞明白,为什么不自己搞一个头像上传机制?一直要用别人的头像系统。。。。

  70. Hibanaw
    Hibanaw

    更新力,好耶!

  71. windfall
    windfall

    typecho,我心目中永远的神,加油,大神们。

  72. 無風
    無風

    最低支持 php 7.2?貌似官网下载页面还没有更新,还是写着 php 5.4

  73. Allen Hua
    Allen Hua

    感动,居然还更新了!感谢开发,感谢遇见。

  74. Allen Hua
    Allen Hua

    我要重新留下一个脚印(刚刚邮箱输错了导致没有 gravatar 头像) 嘿嘿

  75. Allen Hua
    Allen Hua

    终于可以升级到 1.2.0 了

  76. zzsqwq
    zzsqwq

    终于!辛苦了!!

  77. 崽崽
    崽崽

    终于发布啦 2022-4-1

  78. 阿刁
    阿刁

    终于发布啦 2022-4-1!!!

  79. 有生之年系列,还是希望能解决一下 i18n 的问题,比如中英文符号的问题。

  80. 模板迷
    模板迷

    终于等于新版本了~~~

  81. 多重色彩
    多重色彩

    什么时候能上线官方应用商店啊 现阶段生态不够完善啊

  82. 愚人节:Typecho博客程序更新到最新版1.2 - 笨猫博客

    [...]除了新功能,大家也可以发现我们的版本号规则有变化。新的版本号会采用常规的3组数字组成,比如 1.2.0 。它适合小步快跑的开发模式,具体的解释可以看这篇文章。[...]

  83. Mr.Chou
    Mr.Chou

    他来了他来了他真的来了…
    晚上就回去折腾下。感谢老大这么多年的坚持。赞👍

  84. 哥斯拉
    哥斯拉

    移动端把菜单栏放到底部,靠近输入键盘,一不小心就点到菜单上的“登出”或者“网站”了……
    还是调整一下吧。

  85. 团团
    团团

    终于发布1.2正式版了 大力支持

  86. 肉松
    肉松

    测试了一下1.2新版,LoveKKComment 插件不兼容,其他插件和主题没有兼容问题,正在思考替代方案。

      1. Mr.Chou
        Mr.Chou

        不能发送邮件?我现在也是用的这款..

          1. 肉松
            肉松

            后来经过测试找了到原因,LoveKKComment与我的虚拟主机的php7.2的不兼容。

              1. Mr.Chou
                Mr.Chou

                噢噢,还有个问题请教…升级了最新版还需要到数据库改编码支持emoji表情不?

  87. Frost-ZX
    Frost-ZX

    好诶!

  88. 白鸽动画分集
    白鸽动画分集

    修复谦容性,适配上版本适配这版本不适配的插件,修改博客样式,建议采用emlog6.0版博客的编辑器功能,emlog6.0下载地址https://www.emlog.net/download/old?ver=6.0.0,测试采用这个博客的编辑器功能就可以,增加内带的谦容视频音乐播放器,增加本地上传图片视频和附件功能,增加插件和主题上传功能,上面那个是最基本最重要的功能,可以采用这个插件的后台样式这个样式操作比较方便,只采用后台样式,登录样式不变,下载地址https://lanzoux.com/iJ9vC023kpde,老板1.1Typecho测试,如果可以,可以修改适配php7.0到php8.1版本,emlogpro最新版就适配php7.0到php8.0,上面是提出的建议,可能会有帮助,希望能采纳一些,在1.2.1或1.3.0版本做的更好些,谢谢

  89. 平行世界
    平行世界

    去年夏天就注意到仓库里有动静了,一直时不时的过去同步一下最新代码,现在终于发布了。

  90. 星河皓月
    星河皓月

    1.2终于来了

  91. Hrbeikn DyNooob
    Hrbeikn DyNooob

    终有回响,泪目。

  92. 前不久我更新到了1.2 rc,我当时想的是,既然社区坚持这么活跃的支持这个项目,我应该冒一些风险做点什么,提个issue什么的。没想到今天在后台看到了更新提示,太感动了。我一直嫌弃wp的臃肿,也不愿意换一个语言写的博客。终于还是等到了正式啊!
    更新念念不忘,必有回响。

  93. 山海藏
    山海藏

    今天打算弄个新站点,依然打算基于typecho,进官网打算下载安装包。
    点击下载
    版本1.2...
    嗯???
    卧槽???
    这是我的心理活动...
    从2017年用typecho建站以来,已经习惯typecho停留在了1.1,突然看到更新,惊讶大于惊喜,由衷的送上一句,欢迎回来,念念不忘,必有回响。

  94. Wasabi山葵酱
    Wasabi山葵酱

    一直喜欢Typecho的简洁。

  95. 终于等到更新。10年了,早已不是当初的少年。

  96. 终于等到更新拉~ 5年拉~~ 大佬奥利给!!!

  97. 🐮🍺 (破音

  98. Typecho1.2.0发布_千寻blog

    [...]转自:点击查看[...]

  99. Typecho1.2.0发布_千寻blog

    [...]转自:点击查看[...]

  100. 竟然发布新版本了,真心不容易,一如既往的支持,希望不要再不要让大家失望了!加油!

  101. 旁观者JErS
    旁观者JErS

    怎么找回密码?

  102. 慕容静衍
    慕容静衍

    头像本地化很难吗?对于代码小白来说本地化的头像真的友好太多了。希望能得到照顾吧。

  103. 一直在续写,终于更新了,昨晚升级了一下,感觉很棒,还是一如既往的简洁...

  104. 感谢大大,不负我们日思夜盼啊❤

  105. 念念不忘,必有回响。
    喜欢Typecho的简洁。

  106. lingling
    lingling

    念念不忘,必有回响。
    喜欢Typecho的简洁。

  107. 哈哈,typecho 居然更新了,给力

  108. 星河
    星河

    昨天使用的时候突然看到了更新了,真的太期待了。感谢您的辛苦付出!

  109. 这不是玩笑,我们回来了:Typecho 1.2.0 R11; 江湖记

    [...]除了新功能,大家也可以发现我们的版本号规则有变化。新的版本号会采用常规的3组数字组成,比如 1.2.0 。它适合小步快跑的开发模式,具体的解释可以看这篇文章。[...]

  110. 如果Typecho有自己的APP个,那就更好了。@joyqi考虑一下。

  111. 5764的刘
    5764的刘

    最喜欢的轻量化博客程序就是typecho,很欣喜看到更新,但是按照升级文档操作的升级系统怎么不行呢?

  112. 我系山仔
    我系山仔

    想不到竟然更新了,迟了两个月才看到

  113. 太开心了,停更这几年都是用的静态博客生成器搭建的博客。这下又能回到动态了

  114. 你好,我是在腾讯云买的轻量化服务器,上面有Typecho,我就装了在用,当时是1.1的版本。后来他们升级到1.2了,但是因为没有在线升级功能。我就备份了我的博客,然后重装了1.2的版本。结果现在发现备份的bat文件上传显示“备份文件格式错误”,我在新装的1.2上随便备份一个再上传就没问题。然后我又重新安装了1.1的版本,再上传还是备份文件格式错误。不知道您是否是开发者,希望能帮我把备份的数据恢复成能用的。因为这些文章都是我收集的很长时间以来自己发在网上的,很多已经找不到了。对我很重要。即便是付电费也可以。我的邮箱是zld8@qq.com,可以通过邮箱把文件发给您,您帮我看一下是哪里出了问题。麻烦了,谢谢。

  115. 林海草原
    林海草原

    我是在今年5月,重建站点的时候,去官网下载时发现正式版更新了。之前一直用1.1版本,后来用开发版。现在还在守护这片自留地的人依然很多,虽然特殊的网络环境产生了一些独特的问题,但依然无法彻底消灭我们输出自己的思想。

  116. ngatngay
    ngatngay

    I Love U <3

  117. I Love U <3 +1

  118. 小怪博客
    小怪博客

    支持目前最极简博客之一

  119. 1.2.0了,但是更新提示有bug

  120. 谢谢!我们一直在关注

  121. 不不不我就是
    不不不我就是

    有生之年

  122. 双十一
    双十一

    感谢感谢,能用上typecho是我这辈子的荣幸

  123. 没有等到,转战wp了。抱歉了大佬。给点时间,我再回来。开源不易,希望大佬顶住。如果需要,希望可以在readme看到召唤

  124. 顺带说一下【Namebeta】,非常好。一直在用。一起支持

  125. 小白
    小白

    安装好,登录后台显示404

  126. 狗和谐记
    狗和谐记

    感谢大佬们

  127. 感谢大佬的默默付出