[Opensrf-commits] r2186 - tags/rel_2_0_0_rc1 (dbs)
svn at svn.open-ils.org
svn at svn.open-ils.org
Sun Feb 27 23:37:02 EST 2011
Author: dbs
Date: 2011-02-27 23:36:59 -0500 (Sun, 27 Feb 2011)
New Revision: 2186
Modified:
tags/rel_2_0_0_rc1/ChangeLog
Log:
Commit the full version of the Changelog for the 2.0 release
Modified: tags/rel_2_0_0_rc1/ChangeLog
===================================================================
--- tags/rel_2_0_0_rc1/ChangeLog 2011-02-28 04:11:24 UTC (rev 2185)
+++ tags/rel_2_0_0_rc1/ChangeLog 2011-02-28 04:36:59 UTC (rev 2186)
@@ -1 +1,499 @@
-#ChangeLog
+Change log from 2.0.0-beta1 to 2.0.0-rc1
+========================================
+
+2011-02-22 dbs
+
+ * examples/opensrf.xml.example: Remove max_requests config stanza from C language
+ implementations in example config
+
+ Only Perl implementations support the max_requests stanza, so let's not confuse
+ matters with an unused element.
+
+ * examples/opensrf-rsyslog.conf: added sample rsyslog opensrf configuration file
+
+ * src/python/osrf/app.py: Trivial typo fix (also tests OpenSRF buildbot)
+
+ * README: Remove extraneous line for dnsmasq / Python
+
+ * src/libopensrf/osrf_prefork.c: Get that brace back in the right place
+
+ Unbreak the build. Argh.
+
+ * src/libopensrf/osrf_prefork.c, src/perl/lib/OpenSRF/Server.pm: Add hints to
+ increase max_children config variable if we're hitting the maximum
+
+ Already added this hint to the Python implementation, now propagating to
+ C and Perl.
+
+ * src/python/osrf/server.py: Clean up Python server implementation, guided by
+ pylint
+
+ Add some docstrings, keep line lengths at 80 or less (MORE
+ WHITESPACE!), remove some dead code, and add a hint to check
+ max_children config value if we're bumping up against the
+ limit.
+
+ * src/perl/lib/OpenSRF/Application.pm: on second thought, removing debug sleep
+ method, which is (more than most) a DOS waiting to happen.
+
+ * src/c-apps/Makefile.am: Apply libtools versioning to OpenSRF c-apps as well
+
+ We apply a -version-info argument of 2:0:2, meaning:
+ * interface = 2: interface '2' of this library
+ * revision = 0: first implementation of interface '2'
+ * age = 2: this library can be linked with executables going back
+ two interface versions
+
+ See http://sourceware.org/autobook/autobook/autobook_91.html for more
+ information on the -version-info argument.
+
+ * src/libopensrf/Makefile.am: Prepare for version 2.0.0 with versioning for 2.0.0
+
+ Use the libtool -version-info option to provide an explicit version
+ for the libopensrf.so library. Introducing versioned libraries will
+ give us the ability to force recompiles of linked applications when
+ binary compatibility has been broken.
+
+ * src/perl/lib/OpenSRF/Application.pm: added opensrf.system.sleep method; takes 1
+ param (seconds); useful for debugging child process management
+
+ * src/perl/lib/OpenSRF/Server.pm: Resolve encoding problem found by attempting to
+ register patrons with Unicode names
+
+ Symptoms were:
+
+ 1. a gateway.log entry showing http_translator receiving an XMPP error message
+ 2. a corresponding osrfsys.log entry "server: died with error Wide character in
+ syswrite at /usr/local/share/perl5/OpenSRF/Server.pm line 239"
+
+ Per normal Perl Unicode handling practices, decoding input and encoding output
+ using the Encode module and decode_utf8() / encode_utf8() appears to resolve
+ the problem.
+
+2011-01-31 dbs
+
+ * Makefile.am: Whitespace consistency (tabs for Makefiles I guess)
+
+ * src/perl/lib/OpenSRF.pm: Use an Exporter-approved version number (only one
+ decimal place)
+
+ * src/perl/Build.PL: Correct copy/paste error in Build.PL metadata
+
+ OpenSRF uses GPL v2 or later, not the Perl license.
+
+2011-01-28 dbs
+
+ * src/perl/t/08-Server.t, src/perl/t/08-UnixServer.t: OpenSRF::UnixServer doesn't
+ live here any more
+
+ This test was still succeeding on hosts that had installed
+ previous versions of OpenSRF, but failed on a shiny new
+ test instance.
+
+2011-01-26 dbs
+
+ * src/perl/t/07-Transport.t: Set the correct number of expected tests so that we
+ don't fail 100% of the time
+
+ I guess we haven't run "make test" here since r2024 - heh.
+
+2011-01-21 erickson
+
+ * src/libopensrf/osrf_application.c, src/perl/lib/OpenSRF/Application.pm: make the
+ api CALL log line consistent across Perl and C and make it something that can be
+ pasted directly into srfsh
+
+ * src/python/srfsh.py: repaired call to handle_request for router query; cannot
+ survive without the self.
+
+2010-12-20 erickson
+
+ * src/python/srfsh.py: repaired bug in total request time calc, particularly when
+ a request returns no response
+
+2010-12-20 dbs
+
+ * src/extras/Makefile.install: Straighten out -f / -d flag confusion in
+ libmemcached prerequisite
+
+ There are two different styles of checking for previously downloaded
+ tarballs in this Makefile; the libmemcached entry combined them both
+ with unfortunate results.
+
+2010-12-20 erickson
+
+ * src/python/srfsh.py: Python srfsh enhancements
+
+ * Srfsh plugins can now insert new commands and add words to the tab
+ completion word bank.
+ * Addded support reading script files
+ * Added support for service open/close (connect/disconnect) for stateful
+ connections
+ * Moved to class-based srfsh module for easier state maintenance
+ * More doc strings
+
+2010-12-13 erickson
+
+ * src/perl/lib/OpenSRF/Application.pm: on second thought, removing debug sleep
+ method, which is (more than most) a DOS waiting to happen.
+
+ * src/python/osrf/server.py: improved select/read/write fault tolerance; cleaner
+ and more efficient child process idle/active list management; improved logging
+
+2010-12-01 dbs
+
+ * README: Apply patch for dnsmasq documentation
+
+ Thanks to Michael Giarlo <leftwing at alumni.rutgers.edu> for
+ providing this correction to the dnsmasq configuration line!
+
+2010-11-30 erickson
+
+ * src/python/opensrf.py.in: fail gracefully when opensrf.settings is not up and
+ running
+
+2010-11-29 erickson
+
+ * src/perl/lib/OpenSRF/Server.pm: don't clean up child attributes until we're done
+ with them; added pid map hash for easy/quick access to child via pid
+
+ * src/perl/lib/OpenSRF/Server.pm: add fault tolerance (e.g. recover from
+ interrupted select/sysread); always perform idle maintenance when there are any
+ active child processes; exit check status early when no active processes exist
+
+ * src/perl/lib/OpenSRF/Transport/SlimJabber/XMPPReader.pm: avoid calling sysread
+ when select exited from interruption.
+
+ * src/perl/lib/OpenSRF/Application.pm: added opensrf.system.sleep method; takes 1
+ param (seconds); useful for debugging child process management
+
+2010-11-29 dbs
+
+ * src/extras/Makefile.install: Lenny needs zlib1g-dev package to install
+ XML::LibXML and others
+
+ Per https://rt.cpan.org/Public/Bug/Display.html?id=51439; also,
+ libmemcached failed to configure and build without this.
+
+2010-11-24 gmc
+
+ * src/extras/Makefile.install, src/perl/Build.PL: no longer need FreezeThaw
+
+ Signed-off-by: Galen Charlton <gmc at esilibrary.com>
+
+2010-11-22 erickson
+
+ * src/libopensrf/osrf_prefork.c: in the rare case the select() is interrupted
+ while waiting on child statuses, exit early to prevent read()'s on invalid file
+ handles and allow the calling code to loop back around and try again
+
+2010-11-20 erickson
+
+ * src/python/srfsh.py: added support for introspect operation
+
+ * src/Makefile.am: install srfsh.py when --enable-python is set
+
+ * src/python/srfsh.py: added support for paging through 'less' (like C); added
+ 'router' query docs; added separate env vars for pretty printing json and for
+ print network object keys; explicit opensrf disconnect on exit
+
+ * src/python/osrf/system.py: added network disconnect func
+
+2010-11-19 erickson
+
+ * src/python/srfsh.py: added 'router' command for router class info queries;
+ improved redline tab completion; more changes for consistency with C version;
+ general cleanup
+
+2010-11-16 erickson
+
+ * src/python/osrf/net_obj.py: repaired logic in the as-yet-unused
+ import_array_data; use the more efficient enumerate func; capture array length
+ outside of loop for efficiency; avoid calls to set/get_field and access _data
+ directly inside of the NetworkObject class for faster accessor/mutator's
+
+ * src/python/srfsh.py: removed debug print statement
+
+ * src/python/osrf/net_obj.py: rely on logic, not failure through try/catch, to
+ determine of an object is a registered network object; if an object is
+ unregistered, do not treat it as an __unknown network object (which obfuscates
+ and provides no value).
+
+ * src/python/srfsh.py: killed the terminal colors in srfsh.py output. They are
+ cute and all, but are likely the cause of readline oddities/artifacts (and kind
+ of distracting). Default to raw (json) output for consistency
+
+Change log for 2.0.0-beta1
+==========================
+
+2010-11-15 dbs
+
+ * src/perl/lib/OpenSRF.pm: Bump version number for 2.0 branch
+
+2010-11-15 dbs
+
+ * .: Create rel_2_0 branch for next major OpenSRF release
+
+2010-11-14 dbs
+
+ * Limit list of Python services to those within the domain-specific activeapps
+ section
+
+ Fix up help with correct default PID directory and document list_all action
+
+2010-11-11 dbs
+
+ * If an alternate config file is pointed to in osrf_ctl.sh, respect it
+
+ In a previous edit, I accidentally removed the config file option
+ from the start_python command, which would break if anything other
+ than the configured default config file was specified as an option to
+ osrf_ctl.sh. This makes opensrf.py once again respect the authority
+ of osrf_ctl.sh.
+
+ * Use the same PID directory as the opensrf-perl.pl and opensrf.py scripts
+
+ The default PID directories for the opensrf-perl.pl and opensrf.py scripts
+ was /openils/var/run/opensrf (assuming a prefix of '/openils'), while the
+ default PID directory for osrf_ctl.sh was /openils/var/run. This complicated
+ matters when trying to restart individual Python or Perl services, as without
+ passing an explicit PID directory argument the restart command from the
+ language-specific script would check for a PID in a different PID directory,
+ find none, and end up running a second copy of the service instead of
+ restarting the existing service.
+
+ The change groups all PIDs in the 'run/opensrf' subdirectory to avoid any
+ PID file conflicts (as unlikely as that might be) if OpenSRF is installed
+ in the default location - so rather than /var/local/run/*.pid, one will
+ be able to look at /var/local/run/opensrf/*.pid
+
+2010-11-10 dbs
+
+ * Add the sanity-saving step of a munged PERL5LIB to the README
+
+ Thanks for the nudge from Thomas Berezanksy!
+
+ * Commit some unit tests for Python osrf.json module
+
+ Recommendation: add *_test.py scripts that mirror each
+ osrf.* module in src/python/tests. Boo-yah.
+
+2010-11-09 dbs
+
+ * osrf.json clean up
+
+ * Use the right variable name in to_json_raw()
+ * PEP8 compliance for variable naming
+ * Add docstrings
+ * Simpler __tabs() implementation
+
+ * A solution for starting all Python services: make sh do the work
+
+ * Enhanced do_start() implementation in Python management script
+
+ Unclean shutdowns and fork() misery can create PID files that have
+ no actual process behind them. Instead of just trusting the PID file, check
+ for the running PID; if the process is not running, then remove the PID file
+ and actually start the service.
+
+ * Assign, don't test equality (thanks berick)
+
+ * Make start_all automatically daemonize services
+
+ * Give opensrf.py reasonable defaults for options
+
+ Rather than:
+ opensrf.py -l -d -f /openils/conf/opensrf_core.xml -p /openils/var/run/ -a
+ start_all
+
+ you can now use:
+ opensrf.py -l -d -a start_all
+
+ Isn't that better? Note that we put the PIDs into PID_DIR/run/opensrf/
+ so that if/when OpenSRF is installed outside of the /openils/ prefix,
+ the names of the processes won't conflict with any other application PIDs.
+ Unlikely, but you never know.
+
+ * Try not to stomp on global variable names and built-ins, add docstrings
+
+ * Typos: s/wait_for_child/try_wait_child/ and s/min_childen/min_children/
+
+ * Typo: Pass in the array of servers to the memcached client if we have one
+
+ * Reference constants properly
+
+ * Make pylint happier with PEP8-compliant argument name
+
+ * Fix daemonize problem that surfaced in start_all
+
+ Thanks to Michael Giarlo for reporting the problem, Bill Erickson
+ for pointing the way to the solution, and http://bugs.python.org/issue5313
+ for providing me with more context for the problem & solution.
+
+ * More debuggery for the spawning of child processes
+
+ * Minutes and months were reversed in Python logging timestamps
+
+ * Add a Python and curl example of invoking the Perl simpletext services
+
+ * Add a streaming version of the split() method in simpletext example
+
+2010-11-08 dbs
+
+ * Make opensrf-perl.pl handle missing configuration for services more gracefully
+
+ As we might want to ship configuration files with commented out sections,
+ this will alert the user that a service was listed in the hosts section
+ but the configuration for that service could not be found.
+
+2010-11-05 erickson
+
+ * Patch from Michael Giarlo to integrate python service control into osrf_ctl.sh.
+
+ I made the following additional changes:
+
+ 1. copy opensrf.py into the BIN dir during install when --enable-python is used.
+
+ 2. osrf_ctl.sh will not attempt to control python services when python is not
+ enabled for opensrf.
+
+ * patch from Michael Giarlo for better sanity checking during settings file
+ reading in python (avoid #comment's)
+
+ * added osrf.apps to installed pachages (thanks for the tip, dbs). bumped version
+ in prep for 2.0
+
+ * socket_bundle typo patch from Jason Stephenson
+
+ Further discussion and DCO:
+
+ http://libmail.georgialibraries.org/pipermail/open-ils-dev/2010-November/006476.html
+
+2010-10-26 erickson
+
+ * consistent w/ the C libs, only log server message processing duration at INFO.
+ log server response processing duration at debug and w/ slighly different
+ wording. let the processing duration log message act as the indication of a
+ successfully handled message to reduce logging
+
+2010-10-25 erickson
+
+ * log message processing duration at INFO level, instead of DEBUG, consistent with
+ the C libs
+
+2010-10-14 scottmk
+
+ * Plug a minor memory leak that could occur when we opened a TCP connection
+ to a server. In practice this meant whenever we opened a Jabber session.
+
+ We call getaddrinfo() to get a dynamically allocated linked list of
+ addresses for a given server name. Then we traverse the list, looking
+ for one that accepts streaming connections over IPV4, in order to get
+ an IP address.
+
+ At the end, we call freeaddrinfo() to free the linked list.
+
+ Previously we would pass to freeaddrinfo() a pointer, not to the
+ head of the list, but to the node that we used for getting an IP
+ address. Prior nodes, if any, would leak.
+
+ Also: added calls to freeaddrinfo() in the case of early returns, to
+ avoid leaking the list in the event of an error.
+
+ M src/libopensrf/socket_bundle.c
+
+2010-10-12 erickson
+
+ * implemented an optional per-service stderr log for capturing miscellaneous
+ stderr output from services, similar to the old-style _unix.log files, since
+ there are often useful warnings and error messages that never bubble up to
+ syslog. for clarity, the files now use _stderr as a suffix instead of _unix.
+ stderr logs are enabled by default. included opensrf.xml example of how to
+ disable it for a given service
+
+ * when we add xhr responses onto the end of the queue, stash the original session
+ as well, otherwise we're attempting to ask a session questions about requests
+ it's not tracking
+
+2010-10-07 erickson
+
+ * in json encoder, replace 2 sub calls w/ 1 hash lookup in heavily called code
+ path. we lose some abstraction, but it's probably worth it here
+
+2010-09-28 dbs
+
+ * Work around a Net::Domain bug that can result in fqdn's like
+ foo.example.com,bar.com
+
+ The bug manifested when trying to run autogen.sh, with the output:
+ Updating fieldmapper
+ No Response from settings server...going to sleep
+
+ This was because SettingsParser was generating invalid XPath and consquently
+ errors in the opensrf.settings service; with no response, the attempt to run
+ autogen.sh would die.
+
+ This workaround splits the fqdn on commas and tries each possible domain in
+ the server setting XPath. Long term we either need to wait for Net::Domain
+ bug #60729 (https://rt.cpan.org/Public/Bug/Display.html?id=60729) to be
+ resolved, or consider alternatives.
+
+2010-09-28 miker
+
+ * return the trace-augmented message as written to the log
+
+2010-09-13 erickson
+
+ * removing vestigial references to Inbound.pm, which no longer exists in the
+ repository. this also removes get/set_listener, which were never taken advantage
+ of and are no longer of use since the listener is thoroughly hard-coded into the
+ opensrf stack now
+
+2010-09-09 dbs
+
+ * Bump trunk version number for OpenSRF up to 1.8.0; better than 1.4.0.
+
+ perlmodstyle says "A correct CPAN version number is a floating point
+ number with at least 2 digits after the decimal." so we're not in
+ compliance in any case. Oh well.
+
+2010-09-05 dbs
+
+ * Update the manifest for Perl modules to avoid build warnings
+
+ r2016 removed two Perl modules,
+ src/perl/lib/OpenSRF/Transport/SlimJabber/Inbound.pm
+ and src/perl/lib/OpenSRF/UnixServer.pm, and the build gets upset because the
+ manifest suggests they're missing. But no, we know where they are, and we
+ don't expect them to come back.
+
+2010-09-01 erickson
+
+ * added support for reading ContinueStatus opensrf messages in the JS opensrf lib
+
+2010-09-01 gmc
+
+ * updated mailing address of the FSF
+
+ * remove executable bit from module files that don't need it
+
+ Small nit to pick for Debianization.
+
+2010-09-01 erickson
+
+ * Replace Net::Server with local pre-forking server
+
+ Support max/min children and max/min spare children
+ For more, see
+ http://libmail.georgialibraries.org/pipermail/open-ils-dev/2010-May/006068.html
+
+2010-08-31 gmc
+
+ * remove ntp and ntpdate dependencies
+
+ Not used by OpenSRF; these are legacies of
+ Evergreen dependencies at the time OpenSRF was
+ split off. Quite likely a bunch of deps in
+ Makefile.install aren't needed by OpenSRF
+ proper.
+
More information about the opensrf-commits
mailing list