- Change the order of including files in Makefile to use REPLACE_PYTHON
properly.
- Remove shebang line from a library file which would never be executed
directly.
the owner of all installed files is a non-root user. This change
affects most packages that require special users or groups by making
them use the specified unprivileged user and group instead.
(1) Add two new variables PKG_GROUPS_VARS and PKG_USERS_VARS to
unprivileged.mk. These two variables are lists of other bmake
variables that define package-specific users and groups. Packages
that have user-settable variables for users and groups, e.g. apache
and APACHE_{USER,GROUP}, courier-mta and COURIER_{USER,GROUP},
etc., should list these variables in PKG_USERS_VARS and PKG_GROUPS_VARS
so that unprivileged.mk can know to set them to ${UNPRIVILEGED_USER}
and ${UNPRIVILEGED_GROUP}.
(2) Modify packages to use PKG_GROUPS_VARS and PKG_USERS_VARS.
and appears to currently be the latest "stable" Zope 3 version.
Discussed with package maintainer, Yoshito Komatsu, who sent me
some minor tweaks to my changes.
The part of Zope/doc/CHANGES.txt relevant for 3.3.0 -> 3.3.1 is:
Bugfixes
- Fixed widget bug in zope.app.form.browser; _getCurrentValue always
returns an input value now. This fixes a bug in _getFormValue.
(This required a backport of a small restructuring: Changed internal
widget API to allow retrieving the current value (from request,
default or current field value) in addition to the current form
representation of the value.)
- Fixed bug #707: "layer" directive was marked as deprecated in a
confusing way.
- Fixed bug #728: Able to change-dir into non-existant directories using
FTP
- Fixed bug #717: formlib raised FormError when schema fields were
missing from a request although not required.
- Fixed bug #738: RestrictedPython was unable to parse
Unicode expressions correctly (as passed in from e.g. ZPTPages).
- Fixed bug #723: Testbrowser was handling multiple submit buttons with
the same name incorrectly.
- Fixed HTML rendered by ItemsMultiDisplayWidget: The 'name' attribute
is not allowed in list tags and 'type' has a different meaning.
- Fileresources now also set the Cache-control headers on 304
responses. This speeds up page loads a lot on pages with many
resources.
- Fixed validate method of schema.Date, now it does not accept
datetime objects anymore. this is needed because datetime and
date values are not comparable
- Fixed issue 730: Subversion 1.4 breaks mkzopeinstance.py
- Fixed zope.annotation.factory to correctly setup containment for
objects that do not implement IContained.
- Fixed encoding of newlines, carriage returns, and tabs when
encoding attributes for widgets so we're consistent under all
Python 2.4.x versions (including 2.4.4, which failed tests before).
- Fixed issue 535: make HTTPInputStream work with Python 2.4.4.
- Improved fix for issue 599: Made sure i18n Message based Invalid
exceptions are handled correctly.
- Fixed a bug in getImageInfo which could cause an
UnboundLocalError under certain conditions.
- Fixed ``get/queryNextUtility`` to work with multiple base registries.
- Fixed zope.app.catalog.attribute.AttributeIndex. It did not
remove the the previous value/object from the index IF the NEW
value was None.
- Fixed zope.index.field.index.FieldIndex. Unindex broke if the value
somehow dropped out of the forward index.
with small modifications;
- don't change order of find(1)'s command line option.
- adding VARBASE, ZOPE3_GROUP and ZOPE3_USER to BUILD_DEFS.
Most Important Changes Since Zope 3.2
-------------------------------------
- Provided a new component registry API that allows multiple
component registries to be combined more flexibly than before.
See 'zope.component.interfaces.IComponentRegistry' for more
information.
- Greatly simplified local-component registration.
See 'zope.component.interfaces.IComponentRegistry' for more
information.
- Moved many packages out of zope.app to make them easier to use
outside of Zope.
- Change the session credentials plugin to make it configurable
in which fields it looks for the credentials.
- Added a new API for collating text. You can now adapt
a locale to 'zope.i18n.interfaces.ILocales.ICollator'. You can
then use that to sort strings, such as menu entries, in a
locale-specific fashion.
- A new 'zope.annotation.factory' helper function that makes
it easier to create annotations. Also added a README in
'zope.annotation' which explains how to use it.
- Added a more complete set of widgets for fields that use
iterable sources. These widgets now mirror the set provided
by vocabulary-based fields.
- Added a cleaner and more robust API to testbrowser for setting
file-upload data.
- Deprecated several ZCML directives:
* factory
* vocabulary
* content (as an alias to the class directive)
* modulealias
* renderer:renderer
- The 'browser:layer' directive and the 'ILayer' interface
has been deprecated. Registering layers has become obsolete,
layers should be created as interfaces extending
'IBrowserRequest'.
- The 'browser:skin' directive has been deprecated. Skins
should be created as interfaces extending 'IBrowserRequest'
and can be registered using a simple 'utility' directive.
- The 'ISkin' interface has been renamed to 'IBrowserSkinType'.
For a complete list of changes see the 'CHANGES.txt' file.
Closes PR 32465.
Most Important Changes Since 3.1
* The ZServer has been replaced with the Twisted server. The Twisted
server supports all that the ZServer supporting has well
has HTTP over SSL natively and SFTP (disabled for now because of
error handling problems). Also in the future it brings a
better chance of other non-HTTP related protocols from being
implemented for Zope3, like SMTP-in and IMAP.
ZServer is still supported and will be used if you use the --zserver
when you run mkzopeinstance.
* Added a test browser. The test browser simulates a real Web browser
as much as possible as a Python object. This allows us to
write functional tests the same way the site would be
experienced by the user. This greatly simplifies functional tests,
makes documentation better and even helps analyzing usability. And
of course, it can be used in functional doctests.
* Changed the way returning large results is handled. The
response.write method is no longer supported. Applications can now
simply return files to the publisher.
* Implemented the password managers proposal. Main idea
beside the proposal is a standard way to implement password
encoders/checkers, see
zope.app.authentication.interfaces.IPasswordManager for
details.
+ Added basic password managers: Plain Text, MD5, SHA1.
+ Support for password managers added for ZCML principals
and principals saved in local PrincipalFolers.
+ Added bin/zpasswd command line script which helps to create ZCML
principals.
+ Password managers support integrated into bin/mkzopeinstance.
+ New database generation created for convert local principals to
new format.
* Implemented the language namespace proposal. Now you can
override the browser preferred language through the URL,
like this:
http://site.org/++lang++ru/path
Note: If you want to use a custom IUserPreferredLanguages
adapter and the ++lang++ feature together you should use
zope.app.publisher.browser.CacheableBrowserLanguages adapter as a
base class or at least as example.
* Implemented a new object introspector. Instead of just
providing information of the object's class, the new
introspector focuses on providing information that is specific to
the instance, such as directly provided interfaces and data, for
example attribute values and annotation values.
* Implemented the `devmode` switch for `zope.conf`. When turned on a
ZCML feature called `devmode` is provided. Packages can then
register functionality based on this feature. In Zope 3
itself, the devmode is used to only load the API doc is
devmode; turning off the devmode thus closes a potential
security hole and increases the start time by more than a
second.
* addMenuItem directive supports a `layer` attribute.
* Added a re-implementation of i18n message IDs (now simply
called ``Message``) that is immutable and thus can be treated like
unicode strings with respect to security proxying. This
implementation will replace the old one in upcoming versions.
* Added "test" message catalog for testing i18n. If you specify
++lang++test in a URL, then all translated strings will be
translated to [[domain][message_id], as in "[[zope][Preview]]". Text
without the domain marker isn't translated.
For a complete list of changes see the CHANGES.txt file.