[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