NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist
AppMeta is a utility class that manages application metadata such as directory paths and resource information. It provides easy access to application directories (appDir, logDir, tmpDir) and resource metadata via a generator.
Last release 1 months ago
25 Aug 2026
Release timing varies
gaps range from 8 days to 2.0 years
Some releases are documented
notes for 11 of 31 stable releases
Nothing withdrawn
no release was ever pulled
12 years old
31 releases · first in 2015
Meta creates no directory, so constructing one against a read-only tree or a phar is fine and whoever writes to a directory creates it
Meta creates no directory, so constructing one against a read-only tree or a phar is fine and whoever writes to a directory creates it$tmpDir and $logDir keep the spelling they were given, whether or not the directory existsMeta::create(), $writeDir and WriteDirNotAbsoluteException (1.12.0): an application names its own directories through the constructorMeta serialized by 1.12 or 1.13 carries a writeDir this class no longer declares - recompile rather than unserialize one$appDir, $tmpDir and $logDir (1.13.0): no caller can name a relative one$buildDir on AbstractAppMeta : {appDir}/var/build/{context} , fixed to appDir regardless of $writeDir and not created
$buildDir on AbstractAppMeta: {appDir}/var/build/{context}, fixed to appDir regardless of $writeDir and not createdAbstractAppMeta::__wakeup() re-points paths under appDir when the application has moved since serializationMeta refuses a relative $appDir, $tmpDir or $logDir with WriteDirNotAbsoluteExceptionMeta::appDir($name) moved to AbstractAppMeta and returns the canonical spelling, as do $appDir, $tmpDir and $logDir$writeDir on AbstractAppMeta: still filled for released bear/package versions that read it; removal is a BC break and waits for the next majorOne column per quarter.
Meta::create($name, $context, $appDir, $writeDir) places an application under {writeDir}/{Vendor}/{Project}/{context} , or its own var/ when null
Meta::create($name, $context, $appDir, $writeDir) places an application under {writeDir}/{Vendor}/{Project}/{context}, or its own var/ when null$writeDir on AbstractAppMeta: the base an application writes under, carried rather than derivedMeta::appDir($name) resolves an application directory from its nameMeta::create() refuses a write directory the current directory would resolve, with WriteDirNotAbsoluteExceptionOptional $tmpDir and $logDir constructor arguments on Meta (defaults unchanged: {appDir}/var/tmp/{context} and {appDir}/var/log/{context} )
$tmpDir and $logDir constructor arguments on Meta (defaults unchanged: {appDir}/var/tmp/{context} and {appDir}/var/log/{context}) (#41)ensureDir()/ (portable on Windows PHP)// defaults
new Meta('MyVendor\\Project', 'prod-app', $appDir);
// overrides (resolved paths only; env is the app's job)
new Meta('MyVendor\\Project', 'prod-app', $appDir, '/var/tmp/my-app', '/var/log/my-app');Domain type aliases following BEAR.Package conventions
Full Changelog: 1.9.0...1.10.0
Types.php)ResMeta value objectTypes class to prevent instantiationScheme ('app'|'page'|'*')bear/resource requirement from ^1.26 to ^1.0 for better compatibilitykoriym/psr4list requirement from ^1.4 to ^1.0.2 for better compatibility@psalm-import-type pattern across all classes@psalm-* annotations in favor of standard PHPDocpost-install-cmd and post-update-cmd scripts for CI compatibilityEnable latest PHP compat by @koriym in #35
Update license copyright year(s) by @github-actions in #33
Full Changelog: 1.7.1...1.8.0
PHP 8.1 support by @koriym in #30
Support PHP8 #29 Update CI #28
1.6.1 seems to be cached incorrectly in Travis CI, so this release is a Refresh. 🤔
1.6.1 seems to be cached incorrectly in Travis CI, so this release is a Refresh. 🤔
See https://travis-ci.org/github/bearsunday/BEAR.Package/jobs/701128249
Refactor with psalm level max Generics notation in phpdoc
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →