	* Support overriding Makefile RANLIB, from Julien Pivotto.
	* Respect CC and PKG_CONFIG environment variable, from Julien Pivotto.
	* Fix multiple spelling errors, from Laurent Bigonville.
	* genhomedircon: %{USERID} and %{USERNAME} support and code cleanups, from Jason Zaman.

2.5 2016-02-23
	* Do not overwrite CFLAGS in test Makefile, from Nicolas Iooss.
	* Fix uninitialized variable in direct_commit and direct_api, from Nicolas Iooss.
	* semanage_migrate_store: Load libsepol.so.1 instead of libsepol.so, from Laurent Bigonville.
	* Store homedir_template and users_extra in policy store, from Steve Lawrence
	* Fix null pointer dereference in semanage_module_key_destroy, from Yuli Khodorkovskiy.
	* Add semanage_module_extract() to extract a module as CIL or HLL, from Yuli Khodorkovskiy.
	* semanage_migrate_store: add -r <root> option for migrating inside chroots, from Petr Lautrbach.
	* Add file_contexts and seusers to the store, from Yuli Khodorkovskiy.
	* Add policy binary and file_contexts.local to the store, from Yuli Khodorkovskiy.
	* Allow to install compressed modules without a compression extension,
	  from Petr Lautrbach.
	* Do not copy contexts in semanage_migrate_store, from Jason Zaman.
	* Fix logic in bunzip for uncompressed pp files, from Thomas Hurd.
	* Fix fname[] initialization in test_utilities.c, from Petr Lautrbach.
	* Add remove-hll semanage.conf option to remove HLL files after
	  compilation to CIL, from Yuli Khodorkovskiy
	* Fix memory leaks when parsing semanage.conf, from Yuli Khodorkovskiy
	* Change bunzip to use heap instead of stack to prevent segfault on
	  systems with small stack size, from Thomas Hurd.

2.4 2015-02-02
	* Fix Makefile to allow LIBDIR and SHLIBDIR to be set to different
	  directories, from Steve Lawrence
	* Fix bugs found by hardened gcc flags, from Nicolas Iooss.
	* Add missing manpage links to security_load_policy, from Laurent
	  Bigonville.
	* Fix failing libsemanage pywrap tests, from Nicolas Iooss
	* Fix deprecation warning for bison, from Ilya Frolov
	* Skip policy module relink when only setting booleans, from Stephen
	  Smalley
	* Fix typo in tests makefile, from Caleb Case
	* Only try to compile file contexts if they exist, from Steve Lawrence
	* Fix memory leak when setting a custom store path, from Yuli
	  Khodorkovskiy
	* Add semodule option to set store root path in semanage.conf and the
	  semodule command, from Yuli Khodorkovskiy
	* Add semanage.conf option to set an alternative root path for policy
	  store, from Yuli Khodorkovskiy
	* Add support for High Level Language (HLL) to CIL compilers. The HLL
	  compiler path is configurable, but should be placed in 
	  /usr/libexec/selinux/hll by default, from Yuli Khodorkovskiy
	* Create a policy migration script for migrating the policy store from
	  /etc/selinux to /var/lib/selinux, from Caleb Case
	* Add python3 support to the migration script, from Jason Zaman
	* Use libcil to compile modules, from Steve Lawrence
	* Use symbolic versioning to maintain ABI compatibility for old install
	  functions, from Yuli Khodorkovskiy
	* Add a target-platform option to semanage.conf to control how policies
	  are built, from Steve Lawrence
	* Add API to handle modules and source policies, moving module store to
	  /var/lib/selinux, from Caleb Case
	* Only try to compile file contexts if they exist, from Steve Lawrence

2.3 2014-05-06
	* Fix memory leak in semanage_genhomedircon from Thomas Hurd.

2.2 2013-10-30
	* Avoid duplicate list entries from Dan Walsh.
	* Add audit support to libsemanage from Dan Walsh.
	* Remove policy.kern and replace with symlink from Dan Walsh.
	* Apply a MAX_UID check for genhomedircon from Laurent Bigonville.
	* Fix man pages from Laurent Bigonville.

2.1.10 2013-02-01
	* Add sefcontext_compile to compile regex everytime policy is rebuilt
	* Cleanup/fix enable/disable/remove module.
	* redo genhomedircon minuid
	* fixes from coverity
	* semanage_store: do not leak memory in semanage_exec_prog
	* genhomedircon: remove useless conditional in get_home_dirs
	* genhomedircon: double free in get_home_dirs
	* fcontext_record: do not leak on error in semanage_fcontext_key_create
	* genhomedircon: do not leak on failure in write_gen_home_dir_context
	* semanage_store: do not leak fd 
	* genhomedircon: do not leak shells list
	* semanage_store: do not leak on strdup failure 
	* semanage_store: rewrite for readability

2.1.9 2012-09-13
	* libsemanage: do not set soname needlessly
	* libsemanage: remove PYTHONLIBDIR and ruby equivalent
	* do boolean name substitution
	* Fix segfault for building standard policies.

2.1.8 2012-06-28
	* remove build warning when build swig c files
	* additional makefile support for rubywrap
	* ignore 80 column limit for readability
	* semanage_store: fix snprintf length argument by using asprintf
	* Use default semanage.conf as a fallback
	* use after free in python bindings

2.1.7 2012-03-28
	* Alternate path for semanage.conf
	* do not link against libpython, this is considered bad in Debian
	* Allow to build for several ruby version
	* fallback-user-level

2.1.6 2011-12-21
	* add ignoredirs config for genhomedircon
	* Fallback_user_level can be NULL if you are not using MLS

2.1.5 2011-11-03
	* regenerate .pc on VERSION change
	* maintain mode even if umask is tighter
	* semanage.conf man page
	* create man5dir if not exist

2.1.4 2011-09-15
	* Create a new preserve_tunables flag
	* tree: default make target to all not
	* fix semanage_store_access_check calling arguments

2.1.3 2011-08-26
	* python wrapper makefile changes

2.1.2 2011-08-17
	* print error debug info for buggy fc
	* introduce semanage_set_root and friends
	* throw exceptions in python rather than return
	* python3 support.
	* patch for MCS/MLS in user files

2.1.1 2011-08-01
	* Remove generated files, expand .gitignore
	* Use -Werror and change a few prototypes to support it

2.1.0 2011-07-27
	* Release, minor version bump

2.0.46 2010-12-16
	* Fix compliation under GCC 4.6 by Justin Mattock

2.0.45 2010-03-06
	* Add enable/disable patch support from Dan Walsh.
	* Add usepasswd flag to semanage.conf to disable genhomedircon using
	  passwd from Dan Walsh.
	* regenerate swig wrappers

2.0.44 2010-02-02
	* Replace usage of fmemopen() with sepol_policy_file_set_mem() since
	  glibc < 2.9 does not support binary mode ('b') for fmemopen'd
	  streams.

2.0.43 2009-11-27
	* Move libsemanage.so to /usr/lib
	* Add NAME lines to man pages from Manoj Srivastava<srivasta@debian.org>

2.0.42 2009-11-18
	* Move load_policy from /usr/sbin to /sbin from Dan Walsh.

2.0.41 2009-10-29
	* Add pkgconfig file from Eamon Walsh.

2.0.40 2009-10-22
	* Add semanage_set_check_contexts() function to disable calling
	  setfiles

2.0.39 2009-09-24
	* make swigify

2.0.38 2009-09-16
	* Change semodule upgrade behavior to install even if the module
	  is not present from Dan Walsh.
	* Make genhomedircon trim excess '/' from homedirs from Dan Walsh.

2.0.37 2009-09-04
        * Fix persistent dontaudit support to rebuild policy if the 
          dontaudit state is changed from Chad Sellers.

2.0.36 2009-08-24
	* Changed bzip-blocksize=0 handling to support existing compressed
	modules in the store.

2.0.35 2009-08-05
	* Revert hard linking of files between tmp/active/previous.

2.0.34 2009-08-05
	* Enable configuration of bzip behavior from Stephen Smalley.
	  bzip-blocksize=0 to disable compression and decompression support.
	  bzip-blocksize=1..9 to set the blocksize for compression.
	  bzip-small=true to reduce memory usage for decompression.

2.0.33 2009-07-07
	* Maintain disable dontaudit state from Christopher Pardy.

2.0.32 2009-05-28
	* Ruby bindings from David Quigley.

2.0.31 2009-01-12
	* Policy module compression (bzip) support from Dan Walsh.
	* Hard link files between tmp/active/previous from Dan Walsh.

2.0.30 2008-11-12
	* Add semanage_mls_enabled() interface from Stephen Smalley.

2.0.29 2008-11-11
	* Add USER to lines to homedir_template context file from Chris PeBenito.

2.0.28 2008-09-15
	* allow fcontext and seuser changes without rebuilding the policy from Dan Walsh

2.0.27 2008-08-05
	* Modify genhomedircon to skip %groupname entries.
	  Ultimately we need to expand them to the list of users to support per-role homedir labeling when using the %groupname syntax.

2.0.26 2008-07-29
	* Fix bug in genhomedircon fcontext matches logic from Dan Walsh.
	  Strip any trailing slash before appending /*$.

2.0.25 2008-04-21
	* Do not call genhomedircon if the policy was not rebuilt from Stephen Smalley.
	  Fixes semanage boolean -D seg fault (bug 441379).

2.0.24 2008-02-26
	* make swigify

2.0.23 2008-02-04
	* Use vfork rather than fork for libsemanage helpers to reduce memory overhead as suggested by Todd Miller.

2.0.22 2008-02-04
	* Free policydb before fork from Joshua Brindle.

2.0.21 2008-02-04
	* Drop the base module immediately after expanding to permit memory re-use from Stephen Smalley.

2.0.12 2008-02-02
	* Use sepol_set_expand_consume_base to reduce peak memory usage when
	  using semodule from Joshua Brindle.

2.0.19 2008-01-31
	* Fix genhomedircon to not override a file context with a homedir context from Todd Miller.

2.0.18 2008-01-28
	* Fix spurious out of memory error reports.

2.0.17 2008-01-25
	* Merged second version of fix for genhomedircon handling from Caleb Case.

2.0.16 2008-01-24
	* Merged fix for genhomedircon handling of missing HOME_DIR or HOME_ROOT templates from Caleb Case.

2.0.15 2007-12-05
	* Fix genhomedircon handling of shells and missing user context template from Dan Walsh.
	* Copy the store path in semanage_select_store from Dan Walsh.

2.0.14 2007-11-05
	* Call rmdir() rather than remove() on directory removal so that errno isn't polluted from Stephen Smalley.

2.0.13 2007-11-05
	* Allow handle_unknown in base to be overridden by semanage.conf from Stephen Smalley.

2.0.12 2007-10-05
	* ustr cleanups from James Antill.
	* Ensure that /root gets labeled even if using the default context from Dan Walsh.

2.0.11 2007-09-28
	* Fix ordering of file_contexts.homedirs from Todd Miller and Dan Walsh.

2.0.10 2007-09-28
	* Fix error checking on getpw*_r functions from Todd Miller.
	* Make genhomedircon skip invalid homedir contexts from Todd Miller.
	* Set default user and prefix from seusers from Dan Walsh.
	* Add swigify Makefile target from Dan Walsh.

2.0.9 2007-09-24
	* Pass CFLAGS to CC even on link command, per Dennis Gilmore.

2.0.8 2007-09-19
	* Clear errno on non-fatal errors to avoid reporting them upon a
	  later error that does not set errno.

2.0.7 2007-09-19
	* Improve reporting of system errors, e.g. full filesystem or read-only filesystem from Stephen Smalley.

2.0.6 2007-09-10
	* Change to use getpw* function calls to the _r versions from Todd Miller.

2.0.5 2007-08-23
	* Replace genhomedircon script with equivalent functionality within
	  libsemanage and introduce disable-genhomedircon option in
	  semanage.conf from Todd Miller.
	  Note:  Depends on ustr.

2.0.4 2007-08-16
	* Allow dontaudits to be turned off via semanage interface when
	  updating policy from Joshua Brindle.

2.0.3 2007-04-25
	* Fix to libsemanage man patches so whatis will work better from Dan Walsh

2.0.2 2007-04-24
	* Merged optimizations from Stephen Smalley.
	  - do not set all booleans upon commit, only those whose values have changed
	  - only install the sandbox upon commit if something was rebuilt

2.0.1 2007-03-12
	* Merged dbase_file_flush patch from Dan Walsh.
	  This removes any mention of specific tools (e.g. semanage)
	  from the comment header of the auto-generated files,
	  since there are multiple front-end tools.

2.0.0 2007-02-20
	* Merged Makefile test target patch from Caleb Case.
	* Merged get_commit_number function rename patch from Caleb Case.
	* Merged strnlen -> strlen patch from Todd Miller.

1.10.1 2007-01-26
	* Merged python binding fix from Dan Walsh.

1.10.0 2007-01-18
	* Updated version for stable branch.

1.9.2 2007-01-08
	* Merged patch to optionally reduce disk usage by removing 
	  the backup module store and linked policy from Karl MacMillan
	* Merged patch to correctly propagate return values in libsemanage

1.9.1 2006-11-27
	* Merged patch to compile wit -fPIC instead of -fpic from
	  Manoj Srivastava to prevent hitting the global offest table
	  limit. Patch changed to include libselinux and libsemanage in
	  addition to libsepol.

1.8 2006-10-17
	* Updated version for release.

1.6.17 2006-09-29
	* Merged patch to skip reload if no active store exists and
	  the store path doesn't match the active store path from Dan Walsh.
	* Merged patch to not destroy sepol handle on error path of
	  connect from James Athey.
	* Merged patch to add genhomedircon path to semanage.conf from
	  James Athey. 

1.6.16 2006-08-14
	* Make most copy errors fatal, but allow exceptions for
	  file_contexts.local, seusers, and netfilter_contexts if
	  the source file does not exist in the store.

1.6.15 2006-08-11
	* Merged separate local file contexts patch from Chris PeBenito.

1.6.14 2006-08-11
	* Merged patch to make most copy errors non-fatal from Dan Walsh.

1.6.13 2006-08-03
	* Merged netfilter contexts support from Chris PeBenito.

1.6.12 2006-07-11
	* Merged support for read operations on read-only fs from 
	  Caleb Case (Tresys Technology).

1.6.11 2006-06-29
	* Lindent.

1.6.10 2006-06-26
	* Merged setfiles location check patch from Dan Walsh.

1.6.9 2006-06-16
	* Merged several fixes from Serge Hallyn:
	     dbase_file_cache:  deref of uninit data on error path.
	     dbase_policydb_cache:  clear fp to avoid double fclose
	     semanage_fc_sort:  destroy temp on error paths

1.6.8 2006-06-02
	* Updated default location for setfiles to /sbin to
	  match policycoreutils.  This can also be adjusted via 
	  semanage.conf using the syntax:
	  [setfiles]
	  path = /path/to/setfiles
	  args = -q -c $@ $<
	  [end]

1.6.7 2006-05-05
	* Merged fix warnings patch from Karl MacMillan.

1.6.6 2006-04-14
	* Merged updated file context sorting patch from Christopher
	  Ashworth, with bug fix for escaped character flag.

1.6.5 2006-04-13
	* Merged file context sorting code from Christopher Ashworth 
	  (Tresys Technology), based on fc_sort.c code in refpolicy.

1.6.4 2006-04-12
	* Merged python binding t_output_helper removal patch from Dan Walsh.
	* Regenerated swig files.

1.6.3 2006-03-30
	* Merged corrected fix for descriptor leak from Dan Walsh.

1.6.2 2006-03-20
	* Merged Makefile PYLIBVER definition patch from Dan Walsh.

1.6.1 2006-03-20
	* Merged man page reorganization from Ivan Gyurdiev.

1.6 2006-03-14
	* Updated version for release.
	
1.5.31 2006-03-09
	* Merged abort early on merge errors patch from Ivan Gyurdiev.

1.5.30 2006-03-08
	* Cleaned up error handling in semanage_split_fc based on a patch
	  by Serge Hallyn (IBM) and suggestions by Ivan Gyurdiev.

1.5.29 2006-02-21
	* Merged MLS handling fixes from Ivan Gyurdiev.

1.5.28 2006-02-16
	* Merged bug fix for fcontext validate handler from Ivan Gyurdiev.

1.5.27 2006-02-16
	* Merged base_merge_components changes from Ivan Gyurdiev.

1.5.26 2006-02-15
	* Merged paths array patch from Ivan Gyurdiev.
	* Merged bug fix patch from Ivan Gyurdiev.

1.5.25 2006-02-14
	* Merged improve bindings patch from Ivan Gyurdiev.

1.5.24 2006-02-14
	* Merged use PyList patch from Ivan Gyurdiev.	
	* Merged memory leak fix patch from Ivan Gyurdiev.
	* Merged nodecon support patch from Ivan Gyurdiev.
	* Merged cleanups patch from Ivan Gyurdiev.
	* Merged split swig patch from Ivan Gyurdiev.

1.5.23 2006-02-13
	* Merged optionals in base patch from Joshua Brindle.
		
1.5.22 2006-02-13
	* Merged treat seusers/users_extra as optional sections patch from
	  Ivan Gyurdiev.
	* Merged parse_optional fixes from Ivan Gyurdiev.

1.5.21 2006-02-07
	* Merged seuser/user_extra support patch from Joshua Brindle.
	* Merged remote system dbase patch from Ivan Gyurdiev.	

1.5.20 2006-02-02
	* Merged clone record on set_con patch from Ivan Gyurdiev.	

1.5.19 2006-01-30
	* Merged fname parameter patch from Ivan Gyurdiev.
	* Merged more size_t -> unsigned int fixes from Ivan Gyurdiev.
	* Merged seusers.system patch from Ivan Gyurdiev.
	* Merged improve port/fcontext API patch from Ivan Gyurdiev.	

1.5.18 2006-01-27
	* Merged seuser -> seuser_local rename patch from Ivan Gyurdiev.

1.5.17 2006-01-27
	* Merged set_create_store, access_check, and is_connected interfaces
	  from Joshua Brindle.

1.5.16 2006-01-19
	* Regenerate python wrappers.

1.5.15 2006-01-18
	* Merged pywrap Makefile diff from Dan Walsh.
	* Merged cache management patch from Ivan Gyurdiev.
	* Merged bugfix for dbase_llist_clear from Ivan Gyurdiev.
	* Merged remove apply_local function patch from Ivan Gyurdiev.
	* Merged only do read locking in direct case patch from Ivan Gyurdiev.
	* Merged cache error path memory leak fix from Ivan Gyurdiev.
	* Merged auto-generated file header patch from Ivan Gyurdiev.
	* Merged pywrap test update from Ivan Gyurdiev.
	* Merged hidden defs update from Ivan Gyurdiev.
	
1.5.14 2006-01-13
	* Merged disallow port overlap patch from Ivan Gyurdiev.

1.5.13 2006-01-12
	* Merged join prereq and implementation patches from Ivan Gyurdiev.
	* Merged join user extra data part 2 patch from Ivan Gyurdiev.
	* Merged bugfix patch from Ivan Gyurdiev.

1.5.12 2006-01-12
	* Merged remove add_local/set_local patch from Ivan Gyurdiev.
	* Merged user extra data part 1 patch from Ivan Gyurdiev.
	* Merged size_t -> unsigned int patch from Ivan Gyurdiev.
	* Merged calloc check in semanage_store patch from Ivan Gyurdiev,
	  bug noticed by Steve Grubb.
	* Merged cleanups after add/set removal patch from Ivan Gyurdiev.

1.5.11 2006-01-09
	* Merged fcontext compare fix from Ivan Gyurdiev.

1.5.10 2006-01-06
	* Fixed commit to return the commit number aka policy sequence number.

1.5.9 2006-01-06
	* Merged const in APIs patch from Ivan Gyurdiev.
	* Merged validation of local file contexts patch from Ivan Gyurdiev.
	* Merged compare2 function patch from Ivan Gyurdiev.
	* Merged hidden def/proto update patch from Ivan Gyurdiev.

1.5.8 2006-01-05
	* Re-applied string and file optimization patch from Russell Coker,
	  with bug fix.

1.5.7 2006-01-05
	* Reverted string and file optimization patch from Russell Coker.

1.5.6 2006-01-05
	* Clarified error messages from parse_module_headers and 
	  parse_base_headers for base/module mismatches.

1.5.5 2006-01-05
	* Merged string and file optimization patch from Russell Coker.
	* Merged swig header reordering patch from Ivan Gyurdiev.
	* Merged toggle modify on add patch from Ivan Gyurdiev.
	* Merged ports parser bugfix patch from Ivan Gyurdiev.
	* Merged fcontext swig patch from Ivan Gyurdiev.
	* Merged remove add/modify/delete for active booleans patch from Ivan Gyurdiev.
	* Merged man pages for dbase functions patch from Ivan Gyurdiev.
	* Merged pywrap tests patch from Ivan Gyurdiev.

1.5.4 2006-01-04
	* Merged patch series from Ivan Gyurdiev.
	  This includes patches to:
	  - separate file rw code from linked list
	  - annotate objects
	  - fold together internal headers
	  - support ordering of records in compare function
	  - add active dbase backend, active booleans
	  - return commit numbers for ro database calls
	  - use modified flags to skip rebuild whenever possible
	  - enable port interfaces
	  - update swig interfaces and typemaps
	  - add an API for file_contexts.local and file_contexts
	  - flip the traversal order in iterate/list
	  - reorganize sandbox_expand
	  - add seusers MLS validation
	  - improve dbase spec/documentation
	  - clone record on set/add/modify

1.5.3 2005-12-14
	* Merged further header cleanups from Ivan Gyurdiev.

1.5.2 2005-12-13
	* Merged toggle modified flag in policydb_modify, fix memory leak
	  in clear_obsolete, polymorphism vs headers fix, and include guards
	  for internal headers patches from Ivan Gyurdiev.

1.5.1 2005-12-12
	* Added file-mode= setting to semanage.conf, default to 0644.
	  Changed semanage_copy_file and callers to use this mode when
	  installing policy files to runtime locations.

1.4 2005-12-07
	* Updated version for release.

1.3.64 2005-12-06
	* Changed semanage_handle_create() to set do_reload based on
	  is_selinux_enabled().  This prevents improper attempts to
	  load policy on a non-SELinux system.

1.3.63 2005-12-05
	* Dropped handle from user_del_role interface.

1.3.62 2005-12-05
	* Removed defrole interfaces.

1.3.61 2005-11-29
	* Merged Makefile python definitions patch from Dan Walsh.

1.3.60 2005-11-29
	* Removed is_selinux_mls_enabled() conditionals in seusers and users
	  file parsers. 

1.3.59 2005-11-28
	* Merged wrap char*** for user_get_roles patch from Joshua Brindle.

1.3.58 2005-11-28
	* Merged remove defrole from sepol patch from Ivan Gyurdiev.

1.3.57 2005-11-28
	* Merged swig wrappers for modifying users and seusers from Joshua Brindle.

1.3.56 2005-11-16
	* Fixed free->key_free bug.

1.3.55 2005-11-16
	* Merged clear obsolete patch from Ivan Gyurdiev.

1.3.54 2005-11-15
	* Merged modified swigify patch from Dan Walsh 
	  (original patch from Joshua Brindle).
	* Merged move genhomedircon call patch from Chad Sellers.

1.3.53 2005-11-10
	* Merged move seuser validation patch from Ivan Gyurdiev.
	* Merged hidden declaration fixes from Ivan Gyurdiev,
	  with minor corrections.

1.3.52 2005-11-09
	* Merged cleanup patch from Ivan Gyurdiev.
	  This renames semanage_module_conn to semanage_direct_handle,
	  and moves sepol handle create/destroy into semanage handle
	  create/destroy to allow use even when disconnected (for the
	  record interfaces).

1.3.51 2005-11-08
	* Clear modules modified flag upon disconnect and commit.

1.3.50 2005-11-08
        * Added tracking of module modifications and use it to
	  determine whether expand-time checks should be applied
	  on commit.

1.3.49 2005-11-08
	* Reverted semanage_set_reload_bools() interface.

1.3.48 2005-11-08
	* Disabled calls to port dbase for merge and commit and stubbed
	  out calls to sepol_port interfaces since they are not exported.

1.3.47 2005-11-08
	* Merged rename instead of copy patch from Joshua Brindle (Tresys).

1.3.46 2005-11-07
	* Added hidden_def/hidden_proto for exported symbols used within 
	  libsemanage to eliminate relocations.  Wrapped type definitions
	  in exported headers as needed to avoid conflicts.  Added
	  src/context_internal.h and src/iface_internal.h.

1.3.45 2005-11-07
	* Added semanage_is_managed() interface to allow detection of whether
	  the policy is managed via libsemanage.  This enables proper handling
	  in setsebool for non-managed systems.

1.3.44 2005-11-07
	* Merged semanage_set_reload_bools() interface from Ivan Gyurdiev,
	  to enable runtime control over preserving active boolean values
	  versus reloading their saved settings upon commit.

1.3.43 2005-11-04
	* Merged seuser parser resync, dbase tracking and cleanup, strtol
	  bug, copyright, and assert space patches from Ivan Gyurdiev.

1.3.42 2005-11-04
	* Added src/*_internal.h in preparation for other changes.
 	* Added hidden/hidden_proto/hidden_def to src/debug.[hc] and
          src/seusers.[hc].

1.3.41 2005-11-03
	* Merged interface parse/print, context_to_string interface change,
	  move assert_noeof, and order preserving patches from Ivan Gyurdiev.
        * Added src/dso.h in preparation for other changes.

1.3.40 2005-11-01
	* Merged install seusers, handle/error messages, MLS parsing,
	  and seusers validation patches from Ivan Gyurdiev.

1.3.39 2005-10-31
	* Merged record interface, dbase flush, common database code,
	  and record bugfix patches from Ivan Gyurdiev.

1.3.38 2005-10-27
	* Merged dbase policydb list and count change from Ivan Gyurdiev.

1.3.37 2005-10-27
	* Merged enable dbase and set relay patches from Ivan Gyurdiev.

1.3.36 2005-10-27
	* Merged query APIs and dbase_file_set patches from Ivan Gyurdiev.

1.3.35 2005-10-26
	* Merged sepol handle passing, seusers support, and policydb cache
	  patches from Ivan Gyurdiev.

1.3.34 2005-10-25
	* Merged resync to sepol changes and booleans fixes/improvements 
	  patches from Ivan Gyurdiev.

1.3.33 2005-10-25
	* Merged support for genhomedircon/homedir template, store selection,
	  explicit policy reload, and semanage.conf relocation from Joshua
	  Brindle.

1.3.32 2005-10-24
	* Merged resync to sepol changes and transaction fix patches from
	  Ivan Gyurdiev.

1.3.31 2005-10-21
	* Merged reorganize users patch from Ivan Gyurdiev.
	* Merged remove unused relay functions patch from Ivan Gyurdiev.

1.3.30 2005-10-20
	* Fixed policy file leaks in semanage_load_module and
	  semanage_write_module.
	* Merged further database work from Ivan Gyurdiev.

1.3.29 2005-10-20
	* Fixed bug in semanage_direct_disconnect.

1.3.28 2005-10-20
	* Merged interface renaming patch from Ivan Gyurdiev.
	* Merged policy component patch from Ivan Gyurdiev.

1.3.27 2005-10-20
	* Renamed 'check=' configuration value to 'expand-check=' for 
	  clarity.
	* Changed semanage_commit_sandbox to check for and report errors 
	  on rename(2) calls performed during rollback.

1.3.26 2005-10-19
	* Added optional check= configuration value to semanage.conf 
	  and updated call to sepol_expand_module to pass its value
	  to control assertion and hierarchy checking on module expansion.

1.3.25 2005-10-19
	* Merged fixes for make DESTDIR= builds from Joshua Brindle.

1.3.24 2005-10-19
	* Merged default database from Ivan Gyurdiev.
	* Merged removal of connect requirement in policydb backend from
	  Ivan Gyurdiev.
	* Merged commit locking fix and lock rename from Joshua Brindle.
	* Merged transaction rollback in lock patch from Joshua Brindle.

1.3.23 2005-10-18
	* Changed default args for load_policy to be null, as it no longer
	  takes a pathname argument and we want to preserve booleans.

1.3.22 2005-10-18
	* Merged move local dbase initialization patch from Ivan Gyurdiev.
	* Merged acquire/release read lock in databases patch from Ivan Gyurdiev.
	* Merged rename direct -> policydb as appropriate patch from Ivan Gyurdiev.

1.3.21 2005-10-18
	* Added calls to sepol_policy_file_set_handle interface prior
	  to invoking sepol operations on policy files.
	* Updated call to sepol_policydb_from_image to pass the handle.

1.3.20 2005-10-17
	* Merged user and port APIs - policy database patch from Ivan
	Gyurdiev.

1.3.19 2005-10-17
	* Converted calls to sepol link_packages and expand_module interfaces
	from using buffers to using sepol handles for error reporting, and 
	changed direct_connect/disconnect to create/destroy sepol handles.

1.3.18 2005-10-14
	* Merged bugfix patch from Ivan Gyurdiev.

1.3.17 2005-10-14
	* Merged seuser database patch from Ivan Gyurdiev.
	Merged direct user/port databases to the handle from Ivan Gyurdiev.

1.3.16 2005-10-14
	* Removed obsolete include/semanage/commit_api.h (leftover).
	Merged seuser record patch from Ivan Gyurdiev.

1.3.15 2005-10-14
	* Merged boolean and interface databases from Ivan Gyurdiev.

1.3.14 2005-10-13
	* Updated to use get interfaces for hidden sepol_module_package type.

1.3.13 2005-10-13
	* Changed semanage_expand_sandbox and semanage_install_active
	to generate/install the latest policy version supported	by libsepol
	by default (unless overridden by semanage.conf), since libselinux
	will now downgrade automatically for load_policy.

1.3.12 2005-10-13
	* Merged new callback-based error reporting system and ongoing
	database work from Ivan Gyurdiev.

1.3.11 2005-10-11
	* Fixed semanage_install_active() to use the same logic for
	selecting a policy version as semanage_expand_sandbox().  Dropped
	dead code from semanage_install_sandbox().

1.3.10 2005-10-07
	* Updated for changes to libsepol, and to only use types and interfaces
	provided by the shared libsepol.

1.3.9 2005-10-06
	* Merged further database work from Ivan Gyurdiev.

1.3.8 2005-10-04
	* Merged iterate, redistribute, and dbase split patches from
	Ivan Gyurdiev.

1.3.7 2005-09-30
	* Merged patch series from Ivan Gyurdiev.
	  (pointer typedef elimination, file renames, dbase work, backend
	   separation)

1.3.6 2005-09-28
	* Split interfaces from semanage.[hc] into handle.[hc], modules.[hc].
	* Separated handle create from connect interface.
	* Added a constructor for initialization.
	* Moved up src/include/*.h to src.
	* Created a symbol map file; dropped dso.h and hidden markings.

1.3.5 2005-09-28
	* Merged major update to libsemanage organization and functionality
	from Karl MacMillan (Tresys).

1.3.4 2005-09-23
	* Merged dbase redesign patch from Ivan Gyurdiev.

1.3.3 2005-09-21
	* Merged boolean record, stub record handler, and status codes 
	  patches from Ivan Gyurdiev.

1.3.2 2005-09-16
	* Merged stub iterator functionality from Ivan Gyurdiev.
	* Merged interface record patch from Ivan Gyurdiev.

1.3.1 2005-09-14
	* Merged stub functionality for managing user and port records,
	and record table code from Ivan Gyurdiev.

1.2 2005-09-06
	* Updated version for release.

1.1.6 2005-08-31
	* Merged semod.conf template patch from Dan Walsh (Red Hat),
	but restored location to /usr/share/semod/semod.conf.

1.1.5 2005-08-30
	* Fixed several bugs found by valgrind.
	* Fixed bug in prior patch for the semod_build_module_list leak.

1.1.4 2005-08-25
	* Merged errno fix from Joshua Brindle (Tresys).
	* Merged fix for semod_build_modules_list leak on error path
	  from Serge Hallyn (IBM).  Bug found by Coverity.

1.1.3 2005-08-22
	* Merged several fixes from Serge Hallyn (IBM).  Bugs found by
	  Coverity.
	* Fixed several other bugs and warnings.

1.1.2 2005-08-02
	* Merged patch to move module read/write code from libsemanage
	  to libsepol from Jason Tang (Tresys).	

1.1.1 2005-08-02
	* Merged relay records patch from Ivan Gyurdiev.
	* Merged key extract patch from Ivan Gyurdiev.

1.0 2005-07-27
	* Initial version.
