Changelog
This page aggregates developer-related system changes and lists versions in reverse chronological order.
v1.5.0 (Unreleased)
Compatibility Changes
/lzcapp/documentand/lzcapp/run/mnt/homeare now marked as deprecated and kept only for compatibility, and the document access root path is/lzcapp/documents.
v1.4.3
Feature Changes
- clientfs support
- Launcher Multiple Entrypoints
- custom/show-lzcapp-loading-time
- Added hc api_auth_token
Compatibility Changes
- The hostname of lpk containers is changed from a random value to a fixed value based on appid
- Fix timezone binding
v1.4.2
Feature Changes
- pkgm now returns more detailed installation error reasons
- Preinstalled systemd-container component
- Support mounting
/lzcsys/run/clientfs; lpk-level support requires a later lzcos version - Fix
public_pathissues in multi-instance mode
Compatibility Changes
Further improve compatibility between manifest.yml/services and the docker compose spec.
Main impacts on existing lpk:
services.xx.uservalues like 1000 will error; use "1000"services.xxx.evironmentwill error when empty
v1.4.1
Feature Changes
- Added
services.[].healthcheckfield, maintaining 100% compatibility with docker-compose. - Added
timeoutfield toapplication.health_check timedatectl set-timezone xxafter ssh supports permanent storage
Compatibility Changes
- Deprecated
services.[].health_checkfield, new code should usehealthcheckfield. If existing lpk files havehealth_check.start_period(previously only this time-related configuration was supported), they need to migrate to thehealthcheckversion and add unit suffix. Previously, no matter what this field was set to, the final health check for services (excluding app) would be forced tostart_period=300s, start_interval=1s, meaning the developer's set value was silently deprecated. Therefore, no compatibility handling is done to expose the issue as soon as possible.
v1.3.9
Feature Changes
- Added
disable_trim_locationoption toUpstreamConfigto avoid stripping the url path sent by the browser - Application startup interface displays real-time startup logs, convenient for debugging lpk startup process
- lpk image download process postponed from
install lpktostart lpk(will automatically enter startup process after installation) - Fixed launcher application log window preemption issue
v1.3.8
Feature Changes
- Added support for editing environment variables in application list (administrators access related UI in System Settings -> Application List)
- Added Application Deployment Mechanism
- Added lzcapp runtime file: /lzcapp/run/manifest.yml (/lzcapp/pkg/manifest.yml is the original content in lpk)
- Added deployment environment variable
LAZYCAT_DEPLOY_ID - Added
manifest.yml:ext_config.default_prefix_domain - Added support for tcp-ingress forwarding 80/443 traffic
- Added wildcard support for
manifest.yml:application.file_handler - Added two lzcapp runtime directories
/lzcapp/document/and/lzcapp/media/(lzcos also added these two directories so system and lzcapp can use unified path prefix), corresponding to previous/lzcapp/run/mnt/homeand/lzcapp/run/mnt/media - Added
manifest.yml:services[].mem_limit - Added
manifest.yml:services[].shm_size - Added manifest.yml:UpstreamConfig to support domain prefix-based routing, skipping TLS certificate verification and other functions
- Added sysbox-runc runtime to run privileged processes like dockerd, systemd without needing and permissions.
- Added application log entry in launcher (requires Developer Tools v0.3.0+)
- Fixed /dev/shm/ permissions to normal 1777
- Fixed
HOMEenvironment variable when executingsetup_scripts - Capture more error information during lpk startup process for frontend interface
- Adjusted
/lzcapp/vardirectory permissions to 1777 to reduce adaptation work for some containers
Compatibility Changes
/data/app/var/$pkg_id/$uiddirectory adjusted to/data/appvar/$deloy_id- pkgm/ss: Compatible with QueryApplication.TodoRemoveAppidList
- /data/system/pkgm/cfgs directory completely deprecated, related information uniformly stored in system/pkgm/deploy.
- Removed default
seccomp=unconfinedandapparmor=unconfinedadded to all containers /data/document/adjusted to readonly to prevent applications from incorrectly creating subdirectories here. (Some applications cannot be installed on new systems, already installed ones are not affected) Official is contacting developers of scanned related applications to assist with migration.application.backgroundfield adjusted to advisory role, default does not enable auto-start- Removed temporary file
/data/system/pkgm/apps/$appid$/docker-compose.yml
Serious Incompatibility Notice
After system upgrade to v1.3.8+, if system downgrade is performed, all application data will be unusable. (Document data is not affected, and application data itself is still on the data disk)
The reason is to support more flexible deployment logic in the future. The appvar logic has been adjusted from $pkd_id/$uid to $deploy_id to remove the uid concept. If rolling back to a lower version system, application internal data will be re-initialized and created.
v1.3.7
Feature Changes
- Support systemd --user
- Default image source adjusted from Mainland China to debian default CDN. (Mainland China users can use hc ustc to temporarily switch back to domestic)
v1.3.6
Feature Changes
- Application multi-domain mechanism adjustment Secondary Domains
- Added fan control related operations
hc fanctlin ssh - Multi-instance applications will be assigned independent domains (browsers and other third-party access no longer need to add
uid@operations) - Multi-instance applications support TCP/UDP forwarding
- Truly implemented domain conflict resolution (different applications using the same
application.subdomain, system will automatically modify the domain of the application installed later)
v1.3.4
Feature Changes
- Support configuring multiple Secondary Domains for one lzcapp
- Support globally disabling default mounting of user documents
- pkgm level forced detection of
min-os-version - Document snapshots enabled by default regardless of whether backup disk is used (once per hour, retain last 48 hours)
- lpk supports applications using grpc-web traffic (need to enable
ext_config.disable_grpc_web_on_root) - Home directory after ssh adjusted to permanent storage
- Fixed lpk file association
In v1.5.0, the ability for applications to access user document data will be disabled by default. If applications really need to access user documents, they can configure the application.ext_config.enable_document_access field in advance
If you need to test the effect, you can execute touch /lzcsys/var/runtime/config/disable_auto_mount_home after ssh to enable this security configuration in advance.
v1.3.0
Feature Changes
- Ignore entries named "app" in
services.depends_onin manifest.yml. Because the system will force wait for all containers to be ready, there is no need to fill this in. On the contrary, filling it in will cause circular waiting leading to timeout. - services in manifest.yml support
initfield, so a small number of containers can enable child process recycling - lpk supports embedding compose.override.yml files to support functions not yet covered by lpk
- When uploading logs, a copy of the actually uploaded log file will be stored in the administrator cloud drive root directory
- lzcos
vm.max_map_countadjusted to 1048576 - Added resolvectl in ssh for convenient DNS status query
- Fixed issue where pg-docker cannot auto-start after restart
- Updated docker-ce to 27.5.1
- Added Internationalization/Localization support
- lzcapp forced network isolation enabled, prohibiting direct network communication between different applications. Cross-application communication is done through
$service.$appid.lzcappform. (Containers within applications are not subject to this restriction)- If cross-application access was previously configured, it needs to be migrated to port forwarding tools, forwarding target ports to "LCMD virtual network card" for indirect access.
- Please update lzc-cli to 1.2.61+, otherwise old version behavior may cause unexpected issues
v1.2.0
Feature Changes
- Added Application Usage Instructions feature for stronger application usage prompts
- Added setup_script feature for simple initialization operations
- Added user field, compatible with docker-compose syntax
- Added TCP/UDP Dynamic Port Forwarding
Note
Previous versions' manifest.yml:application.ingress field only supported fixed port forwarding, new version supports dynamic forwarding with specified port ranges
- Added exclude public_path syntax
- Removed replace
$$to$conversion operation.Note
In previous versions,
$$appearing inlzc-manifest.ymlfiles would be forcibly replaced with$ - Added
LAZYCAT_APP_DOMAINto deployment environment variables to avoid confusionNote
Previous versions only had
LAZYCAT_APP_ORIGINin deployment environment variables, but runtime automatically injected environment variables only hadLAZYCAT_APP_DOMAIN. New version addsLAZYCAT_APP_DOMAINin both runtime and deployment.
Bug Fixes
- Fixed issue where ssh password was lost after restart
- Fixed system interference with
http Authorization header(e.g., when applications use basic auth)Note
Previous versions' system would parse
http authorization headeras LCMD's own account password, causing applications to be unable to use this field - Added
hc data_convertcommand after ssh, supports online conversion of raid0/raid1/plain - Fixed issue where pg-docker could not automatically start after power failure restart
Unimplemented Features
- Support Dynamic Rendering of lzc-manifest.yml feature, allowing some parameters to be configured by users after application installation.
- Experimental support for Deployment Guide feature, allowing some parameters to be configured by users after application installation.