File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / phar / TODO
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 23:47:59 2012 UTC (12 years, 7 months ago) by misho
Branches: php, MAIN
CVS tags: v5_4_3elwix, v5_4_29p0, v5_4_29, v5_4_20p0, v5_4_20, v5_4_17p0, v5_4_17, v5_3_10, HEAD
php

    1: Version 1.0.0
    2: 
    3:  X make permissions in the lowest bits of flags to simplify using them [Greg]
    4:  X implement ini handler for phar.readonly and phar.require_hash that allows
    5:    enabling it on PHP_INI_ALL if it is disabled in the system, but does not
    6:    allow disabling it if it is enabled in the system [Greg]
    7:  X implement reading in metadata in manifest as <len32><metadata...> [Marcus]
    8:  X implement writing out of metadata to new manifest [Marcus]
    9:  X if SPL is disabled, enable only static methods of class Phar and disable
   10:    class PharFileInfo completely [Marcus]
   11:  X implement in-phar locking, so that a file that is opened for reading can't
   12:    have a handle opened for writing [Marcus/Greg]
   13:  X docs on file format/manifest description [Greg]
   14:  X docs on uses [Greg]
   15:  X stream context for specifying compression of a file [Marcus]
   16:  X stream context for specifying meta-data [Greg]
   17:  X Phar->begin()/Phar->commit() for specifying a new stub to the phar,
   18:    and deferring flush until all modifications are complete [Greg]
   19:  X Phar->getStub() for retrieving the stub of the phar [Marcus]
   20:  X add setUncompressed(), setCompressedGZ() and setCompressedBZ2() to
   21:    PharFileInfo class [Greg]
   22:  X add uncompressAllFiles(), compressAllFilesGZ() and compressAllFilesBZ2()
   23:    to Phar class [Greg]
   24:  X add PharFileInfo::setMetaData($metadata) [Marcus]
   25:  X add PharFileInfo::getMetaData() [Marcus]
   26:  X always throw exceptions from the Phar object, and E_RECOVERABLE_ERROR from
   27:    streams interface [Greg]
   28:  X Phar archive metadata Phar::setMetaData($metadata) Phar::getMetaData()
   29:    [Greg]
   30:  X support rename() in stream wrapper [Greg]
   31:  X update docs to reflect changes in error handling [Greg]
   32:  X fix 011.phpt, 029.phpt for uncaught exceptions causing bad cleanup
   33:    [Marcus/Greg]
   34: 
   35: Version 1.1.0
   36: 
   37:  X Ability to connect a phar file 'phar://whatever' to a directory. That way
   38:    all access to that phar archive are directed to the extracted directory.
   39:    This allows to have the installed files and the archive keep the same
   40:    includes. [Marcus]
   41:  X add SHA-2 (256, 512) support [Marcus]
   42:  X setSignatureAlgorithm() and Phar::MD5 Phar::SHA1 Phar::SHA256 Phar::SHA512
   43:    Phar::PGP to choose the kind of signature to use (PGP falls back to SHA1)
   44:    [Greg]
   45: 
   46: Version 1.2.0
   47: 
   48:  X add PharFileInfo::hasMetadata(), PharFileInfo::delMetadata() [Marcus]
   49:  X add Phar::hasMetadata(), Phar::delMetadata() [Marcus]
   50:  X fix Phar::CanWrite() [Marcus]
   51:  X add preliminary phar command (phar.php) [Marcus] 
   52:  X add phar command (phar.phar) [Marcus]
   53:  X list all available compression methods using
   54:    Phar::getSupportedCompression() [Marcus]
   55:  X Remove RINIT [Marcus]
   56: 
   57: Version 1.2.1
   58: 
   59:  X Add Phar::getAlias() [Marcus]
   60:  X Add Phar::setAlias() [Greg]
   61:  X Make -a optional in pack subcommand of phar.phar [Marcus]
   62:  X Make Phar::loadPhar() and Phar::mapPhar() ignore extracted archives
   63: 
   64: Version 2.0.0
   65: 
   66:  X implement webPhar() rewrite as a callback that returns FALSE to deny
   67:    access, or a string representing a file within the archive to access. If
   68:    unknown, the callback should return the original request uri [Greg]
   69:  X rework filename detection so that alias is always checked first [Greg]
   70:  X make aliases containing '/' or '\' invalid [Greg]
   71:  X implement manual mounting of external phar archives to locations inside a
   72:    phar path, $phar->mount('/path/to/external.phar', 'internal/path');
   73:    this would traverse external.phar's manifest, and add each entry as a
   74:    virtual entry just like automatic mounting of internal phars [Greg]
   75:  X implement manual mounting of external paths to a directory inside a phar
   76:    path.  Because the mapping would be to an external directory, write access
   77:    would be allowed always.  This allows storing sqlite databases, cache, or
   78:    template files in a location external to the phar.  Copy of the files
   79:    would need to be performed in an installation step, phar would not attempt
   80:    to do this for performance and security reasons. [Greg]
   81:  X implement opendir support for mounted paths [Greg]
   82:  X make convertToZip/convertToTar rename files [Steph]
   83:  X make convertTo*() with full file compression rename to append .gz or .bz2
   84:    [Steph]
   85:  X don't automatically add a stub to .zip or .tar files [Steph]
   86:  X don't allow a stub or alias to be added to a .zip/.tar that does not have
   87:    ".phar" in the filename (or already have stub/alias) [Steph]
   88:  X allow read/write on .tar/.zip files that do not contain a stub or alias [Steph/Greg]
   89:  X prevent manual addition of stub via $a['.phar/stub.php'] = '<?php my stub'; [Greg]
   90:  X investigate potential collision between SPL's DirectoryIterator flags and
   91:    those in phar_archive_data [Steph]
   92:  X compression should work for non-phar archives [Steph]
   93:  X implement initial support for simple zip/tar archives (PharData) [Steph]
   94:  X make createDefaultStub() setDefaultStub() and have it file format-specific
   95:    [Steph]
   96:  X convertTo*() should always use the default stub [Steph]
   97:  X ability to store empty directories [Greg]
   98:  X tar support [Greg]
   99:  X zip support [Greg]
  100:  X Phar::copy($from, $to); [Greg]
  101:  X Phar::delete($what) [Greg]
  102:  X Phar::buildFromIterator(Iterator $it[, string $base_directory]) [Greg]
  103:  X Layout: Option to compress all content rather than single files. (tar/phar
  104:    only) [Greg]
  105:  X clean crap paths like phar://blah.phar/file//../to\\here.php [Greg]
  106: 
  107: Version 2.1.0
  108:  * implement write support for mounted files even if phar.readonly=1
  109:  * implement automatic "mounting" of internal phar archives so that
  110:    phar:///path/to/archive.phar/internal.phar/file opens internal.phar and
  111:    maps its manifest inside archive.phar. The manifest entry inside
  112:    archive.phar would be named "internal.phar/file". Write access to internal
  113:    files inside an internal phar would be denied, as the entire archive must
  114:    be added or removed at the same time.

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>