Skip to content

Releases: andeya/lessgo

v1.0.0

01 Mar 03:35
Compare
Choose a tag to compare
gofmt -w

Version 0.7.0

01 Jun 06:48
Compare
Choose a tag to compare

lessgo v0.7版对框架内部做出大量更新与优化,降低gc时间与内存占用,显著提升性能与稳定性:

一、Context相关更新:

  1. 移除Context接口封装并精简多个字段;
  2. 移除Request结构体二次封装;
  3. 优化Bind,增加bindForm()对ptr和struct类型的安全判断;
  4. 优化文件缓存功能;
  5. Context.JSONMsg()和Context.JSONPMsg()在参数info为nil时,输出的json忽略info字段。

二、路由更新:

  1. 路由改用知名的httprouter,提升路由稳定性(性能与原来的echo路由保持相当水平);
  2. 虚拟路由信息改用配置文件存储,不依赖数据库更加便携;
  3. 路由URL按照字母排序,在swagger自动API文档中呈现时更清晰整洁;
  4. 系统预注册的路由信息均统一采用和项目中一致的方法注册,便于统一管理与维护;
  5. 新增支持自由注册静态路由。

三、操作与中间件更新:

  1. ApiHandler.Method支持 "GET|POST" 或 "GET POST" 形式的多方法注册,当发生冲突时 WS > GET > *
  2. ApiHandler和ApiMiddleware统一只保留Reg()方法用于注册自身
  3. ApiMiddleware完美支持参数动态配置

四、扩展包更新:

  1. lessgoext扩展包增加uuid、barcode(生成各种条码)、otp(TOTP/HOTP);
  2. 将cache、token算法、dbservice以及一些通用工具均移至lessgoext扩展包;
  3. 其中dbservice同时支持xorm和gorm两种流行的数据库通用引擎。

五、其他优化更新:

  1. 调整项目组织目录,model模块与handler分离,文件名采用全小写;
  2. 框架内部凡涉及string与[]bytes类型互转的代码,尽量采用底层指针转换的方式进行,转换效率提升百倍以上;
  3. 允许配置文件中log::asyncchan配置为0;
  4. 精简代码,提高代码可读性。

Version 0.6.0

17 May 03:24
Compare
Choose a tag to compare
  1. 新增支持热更新;
  2. 确定ApiHandler与ApiMiddleware为项目基本组成单元;
  3. ApiMiddleware支持多个类型的处理函数,并提供动态配置参数的支持;
  4. Context接口增加JSONMsg、JSONPMsg方法;
  5. Context中增加Cookie操作方法;
  6. 将session嵌入Context,使用更加方便简洁;
  7. 修复使用cookie存储session时读取不到数据的bug;
  8. 优化Config,实现ini配置的段落与配置项分别按字母排序;
  9. 优化wagger2.0,可通过“/apidoc”访问api测试文档,同时支持运行时自动更新(与动态路由同步);
  10. 增强binder功能;
  11. 大量重构原echo架构,在解决诸多bug的同时更提升了实用性与稳定性;
  12. 增加dev-a分支,该分支采用gorm做数据库引擎(master采用xorm);
  13. 增加更多的中间件等扩展支持。

Version 0.5.0

28 Apr 02:04
Compare
Choose a tag to compare

第一个可用的版本,功能如下:

  1. 使用简单、运行稳定高效;
  2. 兼容流行系统模式如:MVC、MVVC、Restful...;
  3. 强大的运行时路由重建;
  4. 多异构数据库支持;
  5. 优化的项目目录组织最佳实践,满足复杂企业应用需要;
  6. swagger集成智能API文档;
  7. 集成统一的日志;
  8. 配备项目自动创建部署工具;
  9. 其他如中间件机制、Session、Token等均支持。