Changelog
5.0.0
- Full TypeScript Rewrite: All APIs now have complete type definitions.
- Dual Module Format Output: Both CJS and ESM formats are supported simultaneously.
- Node.js Version Upgrade: Minimum requirement is Node.js >= 20.19.0.
- Pino Logging System: More powerful logging capabilities.
- Bundle Registry Mechanism: Faster startup.
- Asynchronous Controller Loading: Supports ESM dynamic imports, avoiding sync/async concurrency races.
- Main process bundling: Main process code can be bundled like frontend.
- Build Registry Plugin: Reproduces runtime property name mapping logic.
- Build Configuration Fully Enhanced: Added many fine-grained control options.
- Post-build Independent Transpilation: Independent transpilation for non-bundled files.
- Encryption System Upgrade: More secure.
- Atomic Resource Moving: Prevents data loss.
- ee-bin Full Upgrade: Added complete TypeScript type system.
- EventBus Event Isolation: Lifecycle event optimization.
- ESM-compatible Config Loading: Automatically unwraps
__esModuleformat, supports function/class exports. - Controller Concurrency Safety: Explicitly guarantees no state pollution between concurrent requests.
- Cross Inter-process Improvements: Optimized.
4.2.0
- [Optimized] ee-bin improved incremental update, supports extra resource directory update, supports full update
- [Optimized] ee-bin improved debugger debugging
- [Optimized] ee-bin improved startup instance
- [Fixed] ee-bin fix icon error: unknown option -s -c -img
- [Optimized] ee-core added pre/post middleware and error handling for httpServer
- [Optimized] ee-core added platform detection
- [Optimized] ee-core improved error messages for file loading failures
- [Upgraded] ee-bin@4.2.0 & ee-core@4.1.5
- [Upgraded] electron@39.2.6 & node@22.21.1
4.1.0
- [Optimized] ee-bin improved incremental update, supports file matching
- [Optimized] ee-bin improved delete function
- [Optimized] ee-bin improved Node.js 16 version support
- [Optimized] ee-bin improved delayed startup
- [Optimized] ee-bin improved hot-reload
- [Optimized] ee-core improved cross process exit
- [Optimized] ee-go improved logging and data storage directories
- [Optimized] ee-demo improved sqlitedb initialization method
4.0.0
- [Added] ee-core added TypeScript support, added type definitions
- [Optimized] ee-core refactored code, providing more standardized APIs
- [Optimized] ee-core added app module, new framework startup flow
- [Optimized] ee-core config rewrote configuration loading logic
- [Optimized] ee-core controller rewrote controller loading logic
- [Optimized] ee-core core streamlined core module, removed redundant code and features
- [Optimized] ee-core electron rewrote features, provided APIs
- [Optimized] ee-core jobs optimized
- [Optimized] ee-core loader removed redundant methods
- [Optimized] ee-core log optimized
- [Added] ee-core ps removed ambiguous APIs, added appVersion, getDataDir, getBundleDir, getBaseDir, getUserHomeDir, getUserHomeAppDir, getUserHomeHiddenAppDir
- [Optimized] ee-core socket optimized
- [Optimized] ee-core storage removed jsondb, modified sqlitedb storage path and type support
- [Optimized] ee-core utils optimized
- [Added] ee-bin added TypeScript support, added esbuild build tool
- [Added] ee-bin added frontend code encryption
- [Optimized] ee-bin improved hot-reload feature
- [Optimized] ee-bin modified configuration file
- [Optimized] ee-bin improved build feature
- [Optimized] ee-bin modified move command
- [Upgraded] ee-bin@4.0.0 & ee-core@4.0.0
- [Upgraded] node@20.16.0 & electron@31.7.6
3.15.0
- [Optimized] ee-core no longer generates system.json, preventing some exceptions that cause the program to fail to open.
- [Optimized] ee-core jobs can now properly use logging
- [Optimized] ee-core job execution errors can now be caught as exceptions.
- [Optimized] ee-core improved loader.
- [Optimized] ee-core ps added appVersion function.
- [Optimized] ee-core jsonsdb removed log printing.
3.14.0
- [Added] ee-bin added incremental update script.
- [Added] ee-core elog bug fix.
- [Added] ee-core eaddon uses extend, avoiding multi-dimensional object overwrite & deprecated ctx.
- [Added] ee-core esevice/econtroller & deprecated ctx.
- [Added] ee-core ejob added method for main process to call jobs process functions.
- [Added] ee-demo added demo for main process calling job child process functions.
- [Added] ee-demo added build-lr-arm64 & added .npmrc & deprecated glebarez/go-sqlite.
- [Added] ee-demo differentiated Go runtime environments.
- [Upgraded] Upgraded ee-bin v1.8.0, ee-core v2.11.0, ee-go v1.2.1.
3.13.0
- [Added] ee-go eapp added Register function, added beforeClose event.
- [Added] ee-go etask added task queue.
- [Added] ee-go ehttp added context parameters Args, ArgJson functions.
- [Added] ee-go eipc added Node.js and Go communication bridge.
- [Added] ee-go ehelper added IsDir, SlicesContains, Contains, RemoveDuplicatedElem, RandomSleep methods.
- [Added] ee-go eutil added Recover.
- [Added] ee-demo added Go hot-reload.
- [Added] ee-demo added Go demo examples, including basic entry, sqlite database, task queue, register function, etc.
- [Upgraded] Upgraded ee-go v1.1.0.
3.12.0
- [Optimized] ee-core improved jsondb.
- [Optimized] ee-core improved config.
- [Optimized] ee-core socket service, changed the passed parameter to args. params is a keyword in C# and cannot be passed.
- [Optimized] ee-core second click on icon shows the first opened window.
- [Added] ee-core added configuration option for whether frontend service opens 0.0.0.0. @zp
- [Added] ee-bin configuration command supports sync parameter. @ADS
- [Added] ee-bin icon command added -i -o parameters. @lsw
- [Added] ee-bin added support for json5, json, cjs, ts configuration files. @ADS
- [Added] ee-core socket service supports channel configuration, supports empty callback functions.
- [Upgraded] Upgraded ee-bin v1.6.0, ee-core v2.10.0.
3.11.0
- [Added] ee-core, ee-bin support Python.
- [Added] demo branch added Python usage example, including flask/fastapi.
- [Added] ee-bin exec command added stdio parameter.
- [Added] ee-bin dev command added force property.
- [Added] ee-core utils module added API: fileIsExist().
- [Added] ee-core added html module.
- [Added] ee-core socket module added socketServer socket property.
- [Added] ee-core cross module cmdPath optimization, added stdio parameter.
- [Modified] demo branch added left-click to show main window, enabled webgl, disabled same-origin policy
- [Upgraded] Upgraded ee-bin v1.5.0, ee-core v2.9.2.
3.10.0
- [Optimized] Optimized ee-core module, supporting Go, Java, etc.
- [Added] Added ee-core cross module API: run(), killAll(), kill(pid), killByName(name), getUrl(name), getProcByName(name), getProc(pid), getPids().
- [Added] Added ee-core cross module process object, including API: pid, name, port, config, child, emitter, kill(), getUrl(), getArgsObj().
- [Added] Added Go, Java feature usage demo.
- [Fixed] Fixed electron/index cache issue.
- [Fixed] Fixed jobs log write too much causing freeze issue.
- [Fixed] Fixed third-party model confusion issue.
- [Modified] Modified configuration to enable GPU by default, changed default protocol to file://.
- [Modified] Modified Go development environment configuration.
- [Upgraded] Upgraded ee-core v2.8.0.
3.9.0
- [Added] Added ee-go module, supporting Go language, and many features.
- [Added] Added ee-bin dev for Go.
- [Added] Added ee-bin dev configuration electron.loadingPage.
- [Added] Added ee-core cross module, supporting cross-language services.
- [Added] Added ee-core production environment configuration loadingPage.
- [Optimized] Optimized ee-bin dev --serve to support custom commands.
- [Optimized] Optimized ee-bin exec --cmds to support custom commands.
- [Optimized] Optimized ee-bin build --cmds to support custom commands.
- [Upgraded] Upgraded ee-core v2.7.0, upgraded ee-bin v1.4.0
3.8.0
- [Added] Added ee-bin exec command, supporting custom commands.
- [Added] Added ee-core jobs configuration, open/close messageLog.
- [Optimized] Optimized ee-core jsondb exception handling.
- [Optimized] Optimized ee-core controller/services exception catching and writing to log.
- [Optimized] Optimized ee-bin loading animation centered.
- [Optimized] Optimized electron-egg logo, optimized Mac icon, optimized Linux system icon.
- [Optimized] Optimized electron-egg loading animation centered.
- [Upgraded] Upgraded ee-core v2.6.0, upgraded ee-bin v1.3.0
3.7.0
- [Added] Added config/bin.js configuration file, unified handling of ee-bin feature configuration items.
- [Added] Added ee-bin dev command, starting frontend and electron services simultaneously.
- [Added] Added ee-bin start command, using node spawn to start electron.
- [Added] Added ee-bin build command, building process including renderer process data.
- [Added] Added ee-core boot, failure pages, optimized development experience.
- [Added] Added ee-core jsondb support for modifying data storage directory.
- [Added] Added ee-bin rd parameter, supporting dist, target parameters.
- [Added] Added ee-bin rd parameter, supporting dist, target parameters.
- [Added] Added demo branch, (frontend) loading animation, login window effect, local image loading effect.
- [Added] Added demo branch, (electron) jsondb directory switching function, Java plugin status check function.
- [Optimized] Optimized ee-bin command log messages, added color effects.
- [Optimized] Optimized ee-core config.openDevTools to support passing parameters.
- [Optimized] Optimized http service listen parameters.
- [Optimized] Optimized development experience.
- [Fixed] Fixed getPort port acquisition bug.
- [Removed] Removed app.on('activate'), app.on('second-instance').
- [Upgraded] Upgraded ee-core -> v2.5.0, upgraded ee-bin -> 1.2.0
3.6.0
- [Added] Added ee-bin library, installed as dev dependency, reducing installation package size.
- [Added] Demo branch rewritten with Vue3 + Vite, backed up demo as demo-vue2.
- [Optimized] Optimized rd command, parameters extensible, error messages improved.
- [Optimized] Optimized encrypt command, can specify config file, output directory.
- [Optimized] Optimized clean command, can specify deletion directory.
- [Optimized] Optimized icon command, can install dependency library separately, avoiding errors on some systems.
- [Optimized] Removed devtool production environment check.
- [Deprecated] ee-core bin script removed, replaced by ee-bin.
- [Upgraded] Upgraded ee-core to v2.4.0
3.5.0
- [Added] Added ee-core icon command, one-click generation of all types of application logos.
- [Optimized] Optimized logo names for compatibility with the new icon command.
- [Optimized] Optimized rd command, auto-creates public/dist when it doesn't exist.
- [Optimized] Optimized rd command, compatible with different versions of file deletion functionality.
- [Optimized] Optimized demo examples, job, view, window feature code.
- [Optimized] Optimized ipcRenderer.js exporting Renderer object.
- [Fixed] Fixed Mac platform main process exception in file mode.
- [Upgraded] Upgraded ee-core to v2.3.0
3.4.0
- [Added] Main process mainserver supports loading static resources, supports entry file configuration.
- [Added] config module added isWebProtocol()/isFileProtocol().
- [Upgraded] Upgraded Electron to v21.4.4
- [Upgraded] Upgraded @electron/rebuild to v3.2.13
- [Upgraded] Demo branch upgraded better-sqlite3 to v8.4.0
- [Fixed] Fixed service multi-layer calling.
- [Optimized] Separated packaging configuration into builder.json file, streamlined package.json content.
3.3.0
- [Added] Added main module, supporting third-party frameworks or projects importing ee-core and using its 100+ APIs.
- [Added] Added addon module, can use addon instance in controller, preload, user-defined modules, etc.
- [Added] Added services module, can use service instance in controller, preload, user-defined modules, etc.
- [Added] electron module added window module, providing createMainWindow()/restoreMainWindow().
- [Added] electron module added app module, providing create()/quit().
- [Added] ps module added initMode()/mode()/verifyMode()/isFrameworkMode()/isModuleMode().
- [Optimized] Moved business code from main.js to electron/index.js, enabling full code encryption.
- [Optimized] Replaced all this.app dependencies in demo with modular APIs.
- [Optimized] Improved error messages when frontend loading fails in development environment.
3.2.0
- [Optimized] Added demo branch to showcase features.
- [Optimized] Simplified master branch, keeping only necessary dependencies.
- [Added] Demo branch optimized categorization (framework, system, hardware, effects) and added printer demo, video playback demo.
- [Fixed] ee-core logging module, fixed cross-day recording exception.
- [Added] ee-core utils module added machineIdSync() / machineId().
- [Added] ee-core utils/get-port module added GetPort().
3.1.0
- [Added] Utils module MAC functionality: getMAC / isMAC
- [Added] Utils module IP functionality: publicIpv4 / publicIpv6
- [Added] Job module childJob functionality: createProcess / getPids / execPromise
- [Added] Job module childJobPool functionality: create / run / runPromise / getChildByPid / getChild / getPids / killAll
- [Added] Exception module: whether to exit after catching exceptions in main/child/renderer processes
- [Added] ps module: getEncryptDir / isEncrypted / exitChildJob / isChildJob / isChildPoolJob
- [Added] Utils module: co / deprecate / extend / get-port / time
- [Added] tools module: encrypted file filtering and matching
- [Added] bin module: clean to clear encrypted files
3.0.0
- Framework core ee-core refactored, upgraded to 2.0.1
- Overall architecture changed from single business process & large object model to: single business process & modular & multi-task.
- ee-core module division:
- addon: plugin, no API provided
- bin: script, API provided
- config: configuration, API provided
- const: constants, API provided
- controller: controller class, API provided
- core: core, no API provided
- ee: global object, API provided
- electron: Electron features, API provided
- exception: exception handling, API provided
- httpclient: curl request, API provided
- jobs: tasks, API provided
- loader: loader, API provided
- log: logging, API provided
- message: messaging, API provided
- oldUtils: legacy library, API provided
- ps: process, API provided
- service: service layer class, API provided
- socket: communication, API provided
- tools: tools, API provided
- utils: library, API provided
2.5.0
- Added custom protocol header for development mode
- Added custom directory for sqlite database db files
- Added sqlite dynamic database switching demo
- Added remote web usage tutorial and demo
- Removed loading file, CI/CD configuration files
- Removed unused constants in ee-core
- Upgraded ee-core to 1.5.0
2.4.0
- Added obfuscation/bytecode encryption configuration opt, enhanced security
- Added plugin-based rewrite of tray, wake-up, upgrade, security, extension features
- Added Java service plugin, thanks to "zuihou" for the PR
- Added Java service demo, jar and other complete usage examples
- Added Utils library functions: getEnv/getAppUserDataDir/getHomeDir/getBaseDir/ getRootDir/getAppVersion/getExecDir/getAddonConfig/ getMainServerConfig/getHttpServerConfig/getSocketServerConfig
- Removed redundant code
- Upgraded ee-core to 1.4.1
2.3.0
- Added addon plugin module, developers can freely extend the app object
- Built-in window plugin, implementing multi-window communication
- Added file upload demo
- Added multi-window communication demo, implementing child window and main process communication, inter-child-window communication
- Added plugin config configuration
- Optimized title display
- Added more powerful obfuscator obfuscation feature, providing strict type
- Removed uglify obfuscation and package
- Upgraded ee-core to 1.4.0
2.2.1
- Added http service request filter configuration
- Optimized http service default browser request error after startup
- Added development environment hot-restart configuration to config
- Build package supports Windows portable version, arm64 version
- Build package supports Linux arm64 version, armv7l version, rpm package, pacman package
- Closed context isolation configuration
2.2.0
- Fixed encryption configuration
2.1.9
- Added bytecode encryption configuration file
- Added encryption type, directory, file extension extensibility
- SQLite functionality optional
- Added context isolation
- Fixed Windows 7 development exception
2.1.8
- Security update
- Support bytecode encryption
- Optimized compression obfuscation encryption
- Deprecated compress, restore commands, replaced by encrypt
- mainServer added option support
- Enforced controller business must be class files
2.1.7
- Added SSL, supporting HTTPS
- Optimized http service route writing
- Optimized some utils functions && fixed errors.
- Optimized http return status codes
- Removed lazy loading feature in ee-core
- Removed invalid code in ee-core
2.1.6
- Added sqlite database
- Added sqlite CRUD demo
- Added http service body, supporting forms, files, etc.
- Fixed hot-restart bug
- Upgraded ee-core to 1.2.8
2.1.5
- Added ee-core commands
2.1.4
- Added development environment code hot-reload
- Added menu bar configuration properties
- Added configuration option to enable/disable hardware acceleration
- Optimized startup
- Fixed Linux system deb package icon display issue after installation
- Upgraded electron-builder to 23.0.3
- Upgraded ee-core to 1.2.6
- Upgraded Electron to 13.6.9
- Removed loading page
2.1.2
- IPC communication added invoke/handle model
- ipcRender added invoke async / sendSync sync methods
- Optimized ee-core code
- Optimized storage demo
- Optimized IPC communication sync, async, bidirectional communication demo
- Replaced all frontend ipcCall with ipcInvoke
- Fixed IPC concurrent request issue
2.1.1
- Fixed tray window close issue
- Fixed ee-core window event
- Optimized Mac system dock click display
- Optimized single application mode
- Optimized code encryption
2.1.0
- Added built-in HTTP server, supporting host, port, CORS configuration
- Added HTTP service related demo
- Added socket service related demo
- Optimized built-in socket server, supporting enable/disable
- Optimized frontend main menu, sub-menu
- Upgraded frontend component library
- Upgraded store package
- Some code optimizations
2.0.6
- Added socket service options, supporting path, connectTimeout, maxHttpBufferSize, cors properties
- Fixed taskbar display issue
- Fixed socket cross-origin issue
- Fixed application build failure issue
2.0.5
- Added lifecycle function appReady()
- Added DLL calling method
- Added Utils utility class method, get extra resources directory
- Added socket.koa property
- Fixed co package exception
- Optimized software calling demo
2.0.3
- Added html mode, frontend supports multiple html pages
- Added socket service, third-party applications can call EE application
- Added global config properties: userHome, appVersion, isPackaged, execDir
- Added Utils utility class method, get socket port, socket channel
- Optimized application creation logic
- Optimized configuration file
- Optimized pkg method
- Optimized dynamic port acquisition
2.0.0
- Framework refactored
- Added controller
- Added server
- Added IPC
- Added socket
- Added storage
- Added global app object
- Added preload
- Added core npm package
- Added... too many to list
1.16.3
- Added manual update and forced update
- Fixed IPC listener
- Restricted to one window
- Updated demo
1.16.2
- Forgot what was updated
1.16.1
- Code compression and obfuscation, enhanced security
- New logo
- Documentation update
1.16.0
- Added lowdb database instance code
- Updated npm source
- Updated Electron version
- Packaging filtered frontend
1.15.0
- Added Chrome extension support (highlight)
- Added web (html) content embedding
- Added multi-window opening
- Added desktop notifications
- Added power monitoring
- Added display information retrieval
- Added system theme settings
- Modified feature classification
- Removed unnecessary code
1.14.0
- View style refactored
- Demo added categories
- Demo interface optimized, reorganized layout
- Added select folder directory
- Added IPC communication module and APIs module syntax unification
- Added route categories
- Added IPC long communication support, server continuously sends messages to page
- Added OS dialog demo
- Removed unnecessary code
- Fixed window resizing blank space
1.13.0
- Fixed auto-update
- Supported packaging any website as desktop software
- Optimized white screen issue on startup
- Security check, preventing inspect debug
- Auto-upgrade supports multi-platform updates
- Some code optimizations
1.12.0
- Crash reporting
- Calling third-party software and demo implementation
- Name settings
- Method annotation documentation
1.11.0
- Application wake-up feature
- Optimized code
1.10.0
- Optimized code structure, more reasonable feature modules.
- Upgraded Electron core to version 12.
- Upgraded electron-builder, supporting Mac M1 chip architecture.
- Added shortcut key feature module and demo.
- Fixed EJS bug.
- Fixed import path.
- Optimized auto-upgrade redundant code, deprecated old APIs.
