重大更新!开源无代码 / 低代码平台 NocoBase v1.0 正式发布!
1.如何定义“易用”?无代码/低代码开发平台能力探讨2.开发者选择与实施低代码平台的终极指南3.开源无代码 / 低代码平台 NocoBase 0.20:支持多数据源4.开源无代码 / 低代码平台 NocoBase 0.21:图表及工作流支持多数据源
5.重大更新!开源无代码 / 低代码平台 NocoBase v1.0 正式发布!
6.开源无代码 / 低代码平台 NocoBase 1.0.0-alpha.15: 新增插件、改进「配置操作」交互7.开源无代码 / 低代码平台 NocoBase 1.0.1-alpha.1: 区块支持高度设置8.GitHub Star 数量前 15 的开源低代码项目9.5大低代码开源平台案例研究10.GitHub Star 数量前 11 的开源内部工具11.GitHub Star 数量前 13 的自托管项目清单12.NocoBase 与 NocoDB:开源无代码工具深度对比13.简化插件的添加和更新流程14.TEDxDUTH 使用 NocoBase 实现革新15.CRUD 开发工具 NocoBase 与 Refine 对比16.GitHub上 Star 数量最多的 Airtable 开源替代者17.NocoBase 与 Appsmith:哪个低代码平台更适合你?18.6个最佳核心应用仪表盘构建工具19.完全指南:如何高效进行业务应用开发?20.构建工作流自动化的 5 个最佳工具21.2025 年最佳的 Retool 开源替代方案22.NocoBase 本周更新汇总:子表格支持分页、工作流优化等23.GitHub Star 数量前 5 的开源应用程序生成器24.NocoBase 本周更新汇总:提升表格区块渲染性能等25.开源自托管数据管理工具全面指南26.NocoBase 实战教程 —— 任务管理系统27.【教程】第一章:界面和安装介绍——初识 NocoBase28.NocoBase 本周更新汇总:新增企业微信通知渠道29.【教程】第二章:设计任务管理系统 —— 胸有成竹,步步为营30.【教程】第三章:任务数据管理 —— 运筹帷幄,轻松上手31.【教程】第四章:任务与评论插件 —— 如虎添翼,顺利掌握32.8 个最佳的开源任务管理系统(附打分)33.【教程】第五章:标签页 & 区块 —— 丰富视图,精彩纷呈34.NocoBase 本周更新汇总:提升工作流易用性35.【教程】第六章:合作伙伴——协作无间,灵活掌控36.【教程】第七章:工作流——自动赋能,效率飞跃37.NocoBase 本周更新汇总:优化移动端样式38.如何使用 NocoBase 构建应用程序?39.⭐️ GitHub Star 数量前十的工作流项目40.NocoBase 本周更新汇总:优化 REST API 数据源插件41.国内外十大开源快速开发平台推荐42.为什么任拓数据选择 NocoBase?自研转型最佳实践43.NocoBase 1.4.0 正式版发布44.NocoBase 一周更新汇总:支持在阅读态字段字段上启用链接45.2025年8款顶级的开源IT资产管理软件46.NocoBase 本周更新汇总:提升性能47.四个强大的 Salesforce 开源替代方案(附成本对比)48.【教程】任务管理(高级)打造完整的项目管理平台49.【教程】第八章:知识库——学海无涯50.【教程】第九章:任务仪表盘(1) —— 各有千秋51.NocoBase 本周更新汇总:优化移动端52.NocoBase vs Salesforce:谁才是你的理想 CRM?53.简化的架构治理:使用 NocoBase 构建应用程序目录54.【教程】第十章:任务仪表盘(2) —— 各有千秋55.【教程】第十一章 子任务 & 工时——化繁为简56.【教程】第十二章 会议室预约管理57.NocoBase 本周更新汇总:支持自定义用户资料的表单58.GitHub 上排名前 11 的开源管理后台(Admin Dashboard)项目59.2025年5个最佳 All-in-One 一体化商业软件60.NocoBase 本周更新汇总:优化及缺陷修复61.定制 CRM 的4个真实用户案例(帮你选择更灵活CRM产品)62.NocoBase 本周更新汇总:支持大规模数据量的导入和导出63.如何在 NocoBase 中开发插件发送 WhatsApp 消息?64.⭐️ GitHub 上星星数量前 11 的开源 CRM 项目65.NocoBase 本周更新汇总:详情区块联动规则66.2025年企业必备的 6 款员工管理工具推荐67.NocoBase 本周更新汇总:改进文件存储扩展68.5 个适合小型企业使用的管理软件!(真实经验)69.NocoBase 1.5.0 正式版发布70.适合小型企业的四款开源 CRM 软件:轻量、高效、易上手71.NocoBase 本周更新汇总:优化及缺陷修复72.适合小型企业的库存管理工具推荐(含免费、开源)73.小型企业 ERP 选型指南:这四款软件助你高效管理74.NocoBase 本周更新汇总:支持全局和批量数据触发自定义操作事件75.如何在 NocoBase 中实现注册用户审核NocoBase 是一个极易扩展的开源无代码开发平台。完全掌控,无限扩展,助力你的开发团队快速响应变化,显著降低成本,不必投入几年时间和数百万资金研发,只需要花几分钟部署 NocoBase。
v1.0 里程碑
历时 3 年,NocoBase 迎来第一次根版本号升级,版本号从 0.x 升级到 1.0。这是一个新的里程碑。
- 在 0.x 阶段:核心 API 和功能快速变化,每一个新的版本都可能存在不兼容的变更;
- 在 1.x 阶段:核心 API 基本稳定,NocoBase 将在保持稳定的基础上不断增加新的插件,优化安全性和性能。
新特性
- 主题编辑器可以配置页面和弹窗内边距、区块间距、区块圆角
- 添加区块时,数据表支持过滤
- 关系数据支持排序
- 改进数据可视化的交互
- 支持移动端添加图表区块
- 图表筛选区块支持设置字段数据范围
- 新增更多变量,查看详情
- 弹窗中支持添加任意数据表的区块
- 工作流:“操作后事件”支持关系区块内按钮触发
- 弹窗内数据变动时,关闭弹窗自动刷新上一层容器内的数据
- 大幅提升表格区块的性能
- 大幅提升测试覆盖率
新插件
-
Field: Markdown(Vditor)
- 用于存储 Markdown,并使用 Vditor 编辑器渲染,支持常见 Markdown 语法,如列表,代码,引用等,并支持上传图片,录音等。同时可以做到即时渲染,所见即所得。
-
Comments
- 提供评论数据表模板和区块,为任意数据表的数据添加评论功能。
完整更新记录
查看完整记录
- feat(plugin-workflow): refresh the list after sync #4177
- feat(plugin-workflow): show workflow key as tooltip on title #4178
- test(plugin-workflow): add test cases #4199
- chore: api cache control header #4203
- feat: load vditor dep from local #4190
- test: input number separator test #4204
- fix: number field shuold support separator setting #4197
- fix(plugin-workflow): refine experience #4195
- chore: optimize warning wordings of import & export #4196
- refactor: external data source collection manager #4193
- fix: env bug #4191
- fix: empty operator with association field #4189
- chore: add e2e #4184
- fix: vditor version #4183
- refactor: form data template locale improve #4188
- test: add automated testing #4098
- chore: data source logger instance #4181
- chore: get database instance in relation repository #4179
- chore: add e2e for variables #4152
- chore: define collection debug message #4176
- chore: unsupportedFields in view collection #4155
- feat: add plugin-field-markdown-vditor #4065
- fix: bulk edit form acl action error #4166
- fix: auto create uuid foreign key in relation field #4160
- fix(plugin-fm): fix confusing size limit hint #4153
- fix(users): improve users:updateProfile #4162
- fix(client): get api url #4161
- feat: remove plugin-ui-routes-storage #4140
- fix: lock cytoscape version #4158
- refactor: collection template support presetFieldsDisabled #4159
- fix: grid schema #4157
- client unit test #4150
- fix: update belongs to many association that target key is not primary key #4146
- refactor: form data template locale improve #4148
- fix(database): column name in array field #4110
- test: refresh on action e2e test #4147
- fix(custom-request): support configuring content type #4144
- chore: deprecate the current record variable from the form #4063
- feat(Theme): add some tokens #4137
- fix(client): fix some warnings #4143
- style: tableActionColumn style improve #4138
- fix: actionBar style improve #4123
- chore: warning message if on delete conflict #4141
- fix(plugin-workflow-manual): allow pass node when no assignee #4139
- chore: datasource manager api #4124
- fix(plugin-workflow-manual): fix assignees parsing bug #4125
- fix: load association field in collection #4122
- perf: remove all Skeleton animation #4113
- test: add e2e #4121
- chore(data-vi): adjust api #4116
- fix: scheduleEventTrigger #4114
- feat(plugin-workflow): add checker for intervally dispatching #4119
- feat: add filterOtherRecordsCollection for DataBlockInitializer #4117
- refactor: optimize CollectionField #4111
- fix: improve sort field migration #4112
- fix: field component #4102
- fix: association select support add mode #4108
- fix: createdBy & updatedBy target option #4109
- fix(linkage-rule): linkage rule support empty condiction #4103
- fix: add SanitizedCollectionProvider #4100
- fix: tree collection target error #4105
- fix: add ClearCollectionFieldContext #4101
- feat: improve form block #4099
- chore: migrate sortable options to sort field #4011
- feat: support sort option in appends #4056
- feat(data-vi): allows pie chart to accept negative numbers, fix T-4075 #4094
- fix(data-vi): number becomes string after precision transformation #4092
- fix: encode url params #4055
- test(plugin-workflow): add test case for duplicated triggering schedule workflow #3817
- perf(LinkageRules): solve lagging problems #4090
- fix(subTable): should not display Allow add new data option #4086
- fix: missing fields #4083
- fix: table select pagination error #4078
- fix: reset page when setting block data scope #4081
- fix: custom request role list #4074
- fix: parse iso week #4068
- fix(sourceId): avoid error #4077
- fix(sql-collection): can't select interface when setting fields #4079
- fix: load with source field #4075
- fix: deletion of operation linkage rules does not take effect in real time #4058
- fix(core): fix round bug in formula evaluator #4070
- test: add e2e for data loading mode #4069
- fix(filterForm): avoid duplicate names #4071
- chore: optimize block title #4040
- fix: sync default value in view #4067
- fix(defaultValue): fix the issue of default values disappearing after refreshing the page #4066
- refactor: gantt block #4059
- fix: sub-table big field should support variable default value #4062
- chore(Theme): set the default font size of the Compact theme to 16 #4064
- test: add e2e for actions #4053
- fix(variable): missing variables and invalid translations #4054
- test: add backend unit tests #4000
- fix: improve card item #4036
- chore(acl): disable register association fields actions #4014
- fix(variable): fix parent record variable reporting errors in data scope #4039
- test(e2e): add assertions on field values #4034
- feat(Variable): add a new variable #4025
- feat: run e2e with pro plugins #3890
- fix: bug #4038
- fix: array operator with camel case field #4032
- fix: scopeKeyOptions should be obtained in real-time #4029
- fix(addText): should use FormItemSchemaToolbar instead of BlockSchema… #3963
- feat: register once hook in datasource manager #4024
- fix: snippets #4030
- fix: vitest single bug #4031
- feat(data-vi): improved user experiences (refer to pr) #4013
- test: add frontend unit test #3991
- feat: support Others option in popup #4015
- fix(collection-manager): no refresh after override the field #4022
- chore: add export & import warnings #4027
- refactor: third party data source support sort field grouped sorting edit #4023
- fix(plugin-acl): pm.acl.roles snippet #4026
- test: association name block e2e test #4021
- fix: get api url #4020
- fix(Sub-details): the initializer button is not displayed when the field value is empty #4019
- fix: initializer use useAassociationName #4018
- fix(auth): cas login bug when use subdirectory deployment #4017
- fix(TreeTable): add child error #4008
- fix: remove active field should not clear value #4012
- fix(plugin-acl): datasource roles snippet #4016
- fix: after selecting all, bulk update prompts for unselected data #4010
- refactor: tree table is not enabled by default #4001
- feat(plugin-workflow-action-trigger): support association actions to trigger #4007
- Update application.ts #4006
- fix: tag filed setting #4009
- fix(users): remove phone validation due to incorrect check of foreign phone numebrs #4005
- fix: association block action permission verification failed #3994
- refactor: fields for table sorting cannot select sorting fields with scopekey #3984
- fix(Form): invalid parentRecord #3998
- fix(plugin-workflow): adjust locale #3993
- fix: sub -table support allowSelectExistingRecord setting #4004
- fix(auth): sign up page not found when entering with url directly #4002
- chore(database): set null value when field is unique and value is empty string #3997
- chore(gateway): report error with cause message #3999
- chore(error-handler): display message cause the error #3996
- fix: restore with table name in camel case #3995
- refactor(plugin-workflow): adjust comments #3990
- fix: gantt collapse & expand #3982
- fix(BulkForm): should be required when switching to 'Changed to' #3965
- fix: move action #3985
- refactor: sort field should not has defaultValue #3986
- chore: update class names of plugins #3981
- feat(plugin-workflow-sync): add sync when multi-app-share-collection enabled #3969
- fix(localization): incorrect locale when first entering #3968
- chore: adjust and add api comments #3951
- refactor: select options configuration #3964
- fix(GridCard): set the count of columns displayed in a row #3960
- refactor: only numerical formula fields support format #3962
- chore(plugin-workflow): add comments #3959
- chore: remove legacy formula plugins #3939
- fix(LinkageRules): should be effective immediately #3958
- fix(Picker): should display Allow add new data option #3957
- fix(connect-data-blocks): should immediately show in the drop-down menu #3953
- fix: left menu title modify #3956
- fix: template list provider bug #3950
- refactor: nanoid &uuid autoFill #3955
- feat: getParentJsonSchema in ui schema repository #3690
- fix: save uuid & nano id field value with sequelize validation #3952
- fix: throughCollection support fuzzy search #3949
- fix: getSourceKeyByAssocation #3947
- fix(RichText): unify style #3946
- fix(connectDataBlocks): should add FilterBlockProvider to Grid #3944
- chore: add appVersion to Schema #3936
- fix: collectionFieldInterfaceSelect #3945
- fix: fix sourceId of templates #3941
- fix(collection manager): collection manager primarykey & nanoid & uuid suport index setting #3943
- fix(plugin-formula-field): fix component context #3937
- fix: nanoid availableTypes #3942
- fix: automatically generate default values #3940
- fix: formula field caluation error #3938
- fix: formula field support format #3928
- refactor: unify tab initailizer naming #3932
- fix: add zIndex to Lightbox overlay style #3934
- fix(Table): fix the problem that the content of the association field is not displayed #3930
- fix(evaluators): fix array flatten #3931
- refactor: main data source view collection support filterTargetKey #3818
- fix: formula field calculation error #3929
- fix: load view collection belongs to association with source options #3912
- fix: edit form unchanged should not appear unSaveed warning when cloas modal #3920
- fix(Collapse): fix error for chinaRegions #3925
- fix: number display format #3924
- fix(defaultValue): should immediate effect when set default value #3923
- feat: action support refreshDataBlockRequest configuration #3882
- refactor: formBlockProvider & detailBlockProvider #3898
- feat(data-vi): allows to add charts for mobile client #3922
- chore: add API comments #3919
- fix: fix Pagination #3921
- test(plugin-error-handler): middleware #3909
- fix: update plugin #3895
- fix: gantt block pagination #3918
- fix: source id null #3917
- fix(Table): fix Pagination #3916
- fix: get the correct sourceId #3897
- fix(DataScope): fix no immediate effect issue after saving #3910
- fix: select field options initialValue #3911
- fix: external link click #3908
- fix(inputNumber): loss of accuracy in inputNumber #3902
- feat(plugin-workflow-action-trigger): add global action events #3883
- docs: add api comment #3868
- fix: vitest config bug #3907
- fix: table fixed bug #3901
- fix: list data undefined error #3905
- fix: lazy render bug #3886
- fix: sort params missing #3906
- refactor: change useProps to x-use-component-props #3853
- fix(withDynamicSchemaProps): change deep merge to shallow merge #3899
- fix: history block add print button, click print button to report error #3900
- fix: tar bug #3891
- chore: return bigInt as string type #3887
- feat(data-vi): data scope for chart filter fields #3894
- feat: adjust menu of add new #3884
- fix(plugin-custom-request): fix edit button dialog #3893
- fix: fieldNames missing when setting data scope #3892
- fix: deps check error when dev add production plugin #3848
- fix: workflow tabs not exists #3889
- fix: association field support data scope linkage #3888
- fix: templateBlockProvider support association field append #3866
- chore: main datasource api #3880
- feat: run vitest with coverage #3802
- fix: avoid duplicate menu keys #3885
- fix(data-vi): dual axes chart displays abnormally #3881
- fix: reject update when filter is empty object #3777
- chore: update field with primary key attribute #3852
- refactor: uuid & nanoid support default value configuration #3830
- feat: table performance #3791
- fix: setFormValueChanged undefined #3879
- fix(client): fix diabled in filter dynamic component #3874
- fix(plugin-workflow-parallel): fix locale #3876
- fix(formula-field): formula field set form value change #3873
- fix: formBlockProvider block display #3877
- refactor(plugin-workflow): change to #3871
- fix: kanban card modal display abnormal #3863
- fix: filterTargetKey only support view collection #3872
插件变更
以下插件不再提供开源版本(已经在生产环境使用的用户请联系我们获得升级)
- @nocobase/plugin-auth-cas:通过 CAS 协议认证身份;
- @nocobase/plugin-auth-odic:通过 OIDC (OpenID Connect) 协议认证身份;
- @nocobase/plugin-auth-saml:通过 SAML 2.0 认证身份。
以下插件已废弃,将在近期版本里移除
- @nocobase/plugin-audit-logs:已废弃,暂时不删除,新版不会安装
- @nocobase/plugin-snapshot-field:已废弃,暂时不删除,新版不会安装
- @nocobase/plugin-charts:使用 @nocobase/plugin-data-visualization 代替
- @nocobase/plugin-excel-formula-field:使用 @nocobase/plugin-field-formula 代替
- @nocobase/plugin-math-formula-field:使用 @nocobase/plugin-field-formula 代替
- @nocobase/plugin-ui-routes-storage:已废弃,前端路由直接在前端扩展即可
完整插件列表请查看:https://cn.nocobase.com/plugins-cn.html
代码注释
为了提供更好的开发体验,我们为一些特殊的 API 添加了注释:
@internal
通常用于标识代码中的内部实现细节或内部方法,这些方法或功能不是为了公共使用而设计的,而是为了在代码内部使用而存在。@experimental
用于标识实验性功能或 API。该 API 尚处于开发和测试阶段,可能会发生较大变化,甚至可能在以后的版本中被移除或替换。@deprecated
用于标识代码中已经过时或不推荐使用的功能、方法或 API。这意味着虽然它们仍然可用,但是可能在将来的版本中被移除,或者已经有更好的替代方案可供使用。
许可协议
NocoBase 采取 AGPL-3.0 和 商业许可双重授权,详情请参考 NocoBase 许可协议
升级指南
- ⚠️升级前一定要先备份数据库!一定要先备份数据库!一定要先备份数据库!
- 可以将整个项目代码也进行备份。
因为 Auth: CAS,Auth: OIDC,Auth: SAML 三个 SSO 插件从开源代码中移除,因此升级将分为两种情况。
如果你未使用 SSO 插件
请按照常规方法正常升级。请查看文档
如果你使用了 SSO 插件
请按照以下步骤升级:
1. 升级应用
参考文档升级概述,将 NocoBase 升级到最新版。
如果你之前启用了 CAS、OIDC、SAML 插件,升级时会有以下提示:
命令行升级时终端提示:
Docker 版界面提示:
2. 删除插件 or 获取插件 1.0 版本?
如果你选择删除插件后继续升级:
根据提示删除插件
# 主应用
yarn pm remove cas oidc saml --force
# 如果是子应用,需要添加 --app 参数
yarn pm remove cas oidc saml --force --app=sub-app1
继续升级
yarn nocobase upgrade
如果你选择插件更新到 1.0 版本
联系 NocoBase 团队获取插件 1.0 版本,并继续进行升级
3. CAS、OIDC、SAML 插件升级流程
此时,应用界面已经无法访问了,所以我们需要用手动的方式升级
- 使用账号登录 service.nocobase.com 下载最新版插件
- 将插件解压到指定目录
- CAS 插件解压至
./storage/plugins/@nocobase/plugin-auth-cas
- OIDC 插件解压至
./storage/plugins/@nocobase/plugin-auth-oidc
- SAML 插件解压至
./storage/plugins/@nocobase/plugin-auth-saml
- CAS 插件解压至
- 升级应用
- docker 版本直接重启容器即可
- 源码或 create-nocobase-app 版本
- 下载依赖
yarn install
- 执行升级命令
yarn nocobase upgrade
- 重启应用
- 下载依赖
合集:
低代码
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [翻译] 为什么 Tracebit 用 C# 开发
· 腾讯ima接入deepseek-r1,借用别人脑子用用成真了~
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· DeepSeek崛起:程序员“饭碗”被抢,还是职业进化新起点?
· RFID实践——.NET IoT程序读取高频RFID卡/标签