2.1.8 2011-09-13
	* fix neverallow checking on attributes
	* Move context_copy() after switch block in ocontext_copy_*().
	* check for missing initial SID labeling statement.
	* Add always_check_network policy capability
	* role_fix_callback skips out-of-scope roles during expansion.

2.1.7 2011-06-28
	* reserve policycapability for redhat testing of ptrace child
	* cosmetic changes to make the source easier to read
	* prepend instead of append to filename_trans list
	* Android/MacOS X build support

2.1.6 2011-04-23
	* allocate enough space to hold filename in trans rules

2.1.5 2011-03-28
	* checkpolicy: implement new default labeling behaviors

2.1.4 2011-10-03
	* regenerate .pc on VERSION change
	* Move ebitmap_* functions from mcstrans to libsepol
	* expand: do filename_trans type comparison on mapped representation

2.1.3 2011-09-15
	* Skip writing role attributes for policy.X and
	* Indicate when boolean is indeed a tunable.
	* Separate tunable from boolean during compile.
	* Write and read TUNABLE flags in related
	* Copy and check the cond_bool_datum_t.flags during link.
	* Permanently discard disabled branches of tunables in
	* Skip tunable identifier and cond_node_t in expansion.
	* Create a new preserve_tunables flag
	* Preserve tunables when required by semodule program.
	* setools expects expand_module_avrules to be an exported
	* tree: default make target to all not

2.1.2 2011-08-03
	* Only call role_fix_callback for base.p_roles during expansion.
	* use mapped role number instead of module role number

2.1.1 2011-08-01
	* Minor fix to reading policy with filename transition rules

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

2.0.46 2011-07-25
	* Add role attribute support by Harry Ciao

2.0.45 2011-05-02
	* Warn if filename_trans rules are dropped by Steve Lawrence.

2.0.44 2011-04-13
	* Fixes for new role_transition class field by Eric Paris.
	* Add libsepol support for filename_trans rules by Eric Paris.

2.0.43 2011-04-11
	* Add new class field in role_transition by Harry Ciao.

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

2.0.41 2009-11-18
	* Fixed typo in error message from Manoj Srivastava.

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

2.0.39 2009-10-14
	* Add support for building Xen policies from Paul Nuzzi.

2.0.38 2009-09-01
	* Check last offset in the module package against the file size.
	Reported by Manoj Srivastava for bug filed by Max Kellermann.

2.0.37 2009-07-07
	* Add method to check disable dontaudit flag from Christopher Pardy.

2.0.36 2009-03-25
	* Fix boolean state smashing from Joshua Brindle.

2.0.35 2009-02-19
        * Fix alias field in module format, caused by boundary format change
          from Caleb Case.

2.0.34 2008-10-09
	* Add bounds support from KaiGai Kohei.
	* Fix invalid aliases bug from Joshua Brindle.

2.0.33 2008-09-29
	* Revert patch that removed expand_rule.

2.0.32 2008-07-07
	* Allow require then declare in the source policy from Joshua Brindle.

2.0.31 2008-06-13
	* Fix mls_semantic_level_expand() to handle a user require w/o MLS information from Stephen Smalley.

2.0.30 2008-06-06
	* Fix endianness bug in the handling of network node addresses from Stephen Smalley.
	  Only affects big endian platforms.
	  Bug reported by John Weeks of Sun upon policy mismatch between x86 and sparc.

2.0.29 2008-05-27
	* Merge user and role mapping support from Joshua Brindle.

2.0.28 2008-05-05
	* Fix mls_level_convert() to gracefully handle an empty user declaration/require from Stephen Smalley.

2.0.27 2008-04-18
	* Belatedly merge test for policy downgrade from Todd Miller.

2.0.26 2008-03-24
	* Add permissive domain support from Eric Paris.

2.0.25 2008-03-04
	* Drop unused ->buffer field from struct policy_file.

2.0.24 2008-03-04
	* Add policy_file_init() initalizer for struct policy_file and use it, from Todd C. Miller.

2.0.23 2008-02-28
	* Accept "Flask" as an alternate identifier string in kernel policies from Stephen Smalley.

2.0.22 2008-02-28
	* Add support for open_perms policy capability from Eric Paris.

2.0.21 2008-02-20
	* Fix invalid memory allocation in policydb_index_others() from Jason Tang.

2.0.20 2008-02-04
	* Port of Yuichi Nakamura's tune avtab to reduce memory usage patch from the kernel avtab to libsepol from Stephen Smalley.

2.0.19 2008-02-02
	* Add support for consuming avrule_blocks during expansion to reduce
	  peak memory usage from Joshua Brindle.

2.0.18 2008-01-02
	* Added support for policy capabilities from Todd Miller.

2.0.17 2007-12-21
	* Prevent generation of policy.18 with MLS enabled from Todd Miller.

2.0.16 2007-12-07
	* print module magic number in hex on mismatch, from Todd Miller.

2.0.15 2007-11-29
	* clarify and reduce neverallow error reporting from Stephen Smalley.

2.0.14 2007-11-05
	* Reject self aliasing at link time 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-11
	* Fixed bug in require checking from Stephen Smalley.
	* Added user hierarchy checking from Todd Miller.	

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

2.0.10 2007-09-18
	* Merged support for the handle_unknown policydb flag from Eric Paris.

2.0.9 2007-08-29
	* Moved next_entry and put_entry out-of-line to reduce code size from Ulrich Drepper.

2.0.8 2007-08-28
	* Fixed module_package_read_offsets bug introduced by the prior patch.

2.0.7 2007-08-23
	* Eliminate unaligned accesses from policy reading code from Stephen Smalley.

2.0.6 2007-08-16
	* Allow dontaudits to be turned off during policy expansion from
	  Joshua Brindle.

2.0.5 2007-08-01
	* Fix sepol_context_clone to handle a NULL context correctly.
          This happens for e.g. semanage_fcontext_set_con(sh, fcontext, NULL)
	  to set the file context entry to "<<none>>".

2.0.4 2007-06-20
	* Merged error handling patch from Eamon Walsh.

2.0.3 2007-04-13
	* Merged add boolmap argument to expand_module_avrules() from Chris PeBenito.

2.0.2 2007-03-30
	* Merged fix from Karl to remap booleans at expand time to 
	  avoid holes in the symbol table.

2.0.1 2007-02-06
	* Merged libsepol segfault fix from Stephen Smalley for when
	  sensitivities are required but not present in the base.
	
2.0.0 2007-02-01
	* Merged patch to add errcodes.h to libsepol by Karl MacMillan.
	
1.16.0 2007-01-18
	* Updated version for stable branch.

1.15.3 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 libselinux.
1.15.2 2006-10-31
	* Merged fix from Karl MacMillan for a segfault when linking
	  non-MLS modules with users in them.

1.15.1 2006-10-24
	* Merged fix for version comparison that was preventing range
	  transition rules from being written for a version 5 base policy
	  from Darrel Goeddel.

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

1.12.28 2006-09-28
	* Build libsepol's static object files with -fpic

1.12.27 2006-09-28
	* Merged mls user and range_transition support in modules
	  from Darrel Goeddel

1.12.26 2006-09-05
	* Merged range transition enhancements and user format changes
	  Darrel Goeddel

1.12.25 2006-08-24
	* Merged conditionally expand neverallows patch from Jeremy Mowery.
	* Merged refactor expander patch from Jeremy Mowery.

1.12.24 2006-08-03
	* Merged libsepol unit tests from Joshua Brindle.

1.12.23 2006-08-03
	* Merged symtab datum patch from Karl MacMillan.

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

1.12.21 2006-07-28
	* Merged helpful hierarchy check errors patch from Joshua Brindle.

1.12.20 2006-07-25
	* Merged semodule_deps patch from Karl MacMillan.
	  This adds source module names to the avrule decls.

1.12.19 2006-06-29
	* Lindent.

1.12.18 2006-06-26
	* Merged optionals in base take 2 patch set from Joshua Brindle.

1.12.17 2006-05-30
	* Revert 1.12.16.

1.12.16 2006-05-30
	* Merged cleaner fix for bool_ids overflow from Karl MacMillan,
	  replacing the prior patch.

1.12.15 2006-05-30
	* Merged fixes for several memory leaks in the error paths during
	  policy read from Serge Hallyn.

1.12.14 2006-05-25
	* Fixed bool_ids overflow bug in cond_node_find and cond_copy_list,
	  based on bug report and suggested fix by Cedric Roux.

1.12.13 2006-05-24
	* Merged sens_copy_callback, check_role_hierarchy_callback,
	  and node_from_record fixes from Serge Hallyn.

1.12.12 2006-05-22
	* Added sepol_policydb_compat_net() interface for testing whether
	  a policy requires the compatibility support for network checks
	  to be enabled in the kernel.

1.12.11 2006-05-17
	* Merged patch to initialize sym_val_to_name arrays from Kevin Carr.
	  Reworked to use calloc in the first place, and converted some other
	  malloc/memset pairs to calloc calls.

1.12.10 2006-05-08
	* Merged patch to revert role/user decl upgrade from Karl MacMillan.

1.12.9 2006-05-08
	* Dropped tests from all Makefile target.

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

1.12.7 2006-05-05
	* Merged libsepol test framework patch from Karl MacMillan.

1.12.6 2006-04-28
	* Fixed cond_normalize to traverse the entire cond list at link time.

1.12.5 2006-04-03
	* Merged fix for leak of optional package sections from Ivan Gyurdiev.

1.12.4 2006-03-29
	* Generalize test for bitmap overflow in ebitmap_set_bit.

1.12.3 2006-03-27
	* Fixed attr_convert_callback and expand_convert_type_set
	  typemap bug.

1.12.2 2006-03-24
	* Fixed avrule_block_write num_decls endian bug.

1.12.1 2006-03-20
	* Fixed sepol_module_package_write buffer overflow bug.

1.12 2006-03-14
	* Updated version for release.

1.11.20 2006-03-08
	* Merged cond_evaluate_expr fix from Serge Hallyn (IBM).
	* Fixed bug in copy_avrule_list reported by Ivan Gyurdiev.

1.11.19 2006-02-21
	* Merged sepol_policydb_mls_enabled interface and error handling
	  changes from Ivan Gyurdiev.
	
1.11.18 2006-02-16
	* Merged node_expand_addr bugfix and node_compare* change from
	  Ivan Gyurdiev.

1.11.17 2006-02-15
	* Merged nodes, ports: always prepend patch from Ivan Gyurdiev.
	* Merged bug fix patch from Ivan Gyurdiev.

1.11.16 2006-02-14
	* Added a defined flag to level_datum_t for use by checkpolicy.

1.11.15 2006-02-14
	* Merged nodecon support patch from Ivan Gyurdiev.
	* Merged cleanups patch from Ivan Gyurdiev.	

1.11.14 2006-02-13
	* Merged optionals in base patch from Joshua Brindle.
	
1.11.13 2006-02-07
	* Merged seuser/user_extra support patch from Joshua Brindle.
	* Merged fix patch from Ivan Gyurdiev.

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

1.11.11 2006-02-01
	* Merged assertion copying bugfix from Joshua Brindle.
	* Merged sepol_av_to_string patch from Joshua Brindle.

1.11.10 2006-01-30
	* Merged cond_expr mapping and package section count bug fixes
	  from Joshua Brindle.
	* Merged improve port/fcontext API patch from Ivan Gyurdiev.	
	* Merged fixes for overflow bugs on 64-bit from Ivan Gyurdiev.

1.11.9 2006-01-12
	* Merged size_t -> unsigned int patch from Ivan Gyurdiev.

1.11.8 2006-01-09
	* Merged 2nd const in APIs patch from Ivan Gyurdiev.

1.11.7 2006-01-06
	* Merged const in APIs patch from Ivan Gyurdiev.
	* Merged compare2 function patch from Ivan Gyurdiev.

1.11.6 2006-01-06
	* Fixed hierarchy checker to only check allow rules.

1.11.5 2006-01-05
	* Merged further fixes from Russell Coker, specifically:
	  - av_to_string overflow checking
	  - sepol_context_to_string error handling
	  - hierarchy checking memory leak fixes and optimizations
	  - avrule_block_read variable initialization
	* Marked deprecated code in genbools and genusers.

1.11.4 2006-01-05
	* Merged bugfix for sepol_port_modify from Russell Coker.

1.11.3 2006-01-05
	* Fixed bug in sepol_iface_modify error path noted by Ivan Gyurdiev.
	* Merged port ordering patch from Ivan Gyurdiev.

1.11.2 2006-01-04
	* Merged patch series from Ivan Gyurdiev.
	  This includes patches to:
	  - support ordering of records in compare function
	  - enable port interfaces
	  - add interfaces for context validity and range checks
	  - add include guards

1.11.1 2005-12-16
	* Fixed mls_range_cpy bug.

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

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

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

1.9.40 2005-11-15
	* Merged module function and map file cleanup from Ivan Gyurdiev.
	* Merged MLS and genusers cleanups from Ivan Gyurdiev.

1.9.39 2005-11-09
	Prepare for removal of booleans* and *.users files.
	* Cleaned up sepol_genbools to not regenerate the image if
	  there were no changes in the boolean values, including the
	  degenerate case where there are no booleans or booleans.local
	  files.
	* Cleaned up sepol_genusers to not warn on missing local.users.
	
1.9.38 2005-11-08
	* Removed sepol_port_* from libsepol.map, as the port interfaces
	  are not yet stable.

1.9.37 2005-11-04
	* Merged context destroy cleanup patch from Ivan Gyurdiev.

1.9.36 2005-11-03
	* Merged context_to_string interface change patch from Ivan Gyurdiev.

1.9.35 2005-11-01
	* Added src/dso.h and src/*_internal.h.
	  Added hidden_def for exported symbols used within libsepol.
	  Added hidden for symbols that should not be exported by
	  the wildcards in libsepol.map.

1.9.34 2005-10-31
	* Merged record interface, record bugfix, and set_roles patches 
	  from Ivan Gyurdiev.

1.9.33 2005-10-27
	* Merged count specification change from Ivan Gyurdiev.	

1.9.32 2005-10-26
	* Added further checking and error reporting to 
	  sepol_module_package_read and _info.

1.9.31 2005-10-26
	* Merged sepol handle passing, DEBUG conversion, and memory leak
	  fix patches from Ivan Gyurdiev.

1.9.30 2005-10-25
	* Removed processing of system.users from sepol_genusers and
	  dropped delusers logic.

1.9.29 2005-10-25
	* Removed policydb_destroy from error path of policydb_read,
	  since create/init/destroy/free of policydb is handled by the
	  caller now.
	* Fixed sepol_module_package_read to handle a failed policydb_read
	  properly.

1.9.28 2005-10-25
	* Merged query/exists and count patches from Ivan Gyurdiev.

1.9.27 2005-10-25
	* Merged fix for pruned types in expand code from Joshua Brindle.
	* Merged new module package format code from Joshua Brindle.

1.9.26 2005-10-24
	* Merged context interface cleanup, record conversion code, 
	  key passing, and bug fix patches from Ivan Gyurdiev.               

1.9.25 2005-10-21
	* Merged users cleanup patch from Ivan Gyurdiev.

1.9.24 2005-10-21
	* Merged user record memory leak fix from Ivan Gyurdiev.
	* Merged reorganize users patch from Ivan Gyurdiev.

1.9.23 2005-10-19
	* Added check flag to expand_module() to control assertion
	  and hierarchy checking on expansion.

1.9.22 2005-10-19
	* Reworked check_assertions() and hierarchy_check_constraints()
	  to take handles and use callback-based error reporting.
	* Changed expand_module() to call check_assertions() and 
	  hierarchy_check_constraints() prior to returning the expanded
	  policy.

1.9.21 2005-10-18
	* Changed sepol_module_package_set_file_contexts to copy the
	  file contexts data since it is internally managed.

1.9.20 2005-10-18
	* Added sepol_policy_file_set_handle interface to associate
	  a handle with a policy file.
	* Added handle argument to policydb_from_image/to_image.
	* Added sepol_module_package_set_file_contexts interface.
	* Dropped sepol_module_package_create_file interface.
	* Reworked policydb_read/write, policydb_from_image/to_image, 
	  and sepol_module_package_read/write to use callback-based error
	  reporting system rather than DEBUG.  

1.9.19 2005-10-17
	* Reworked link_packages, link_modules, and expand_module to use
	callback-based error reporting system rather than error buffering.

1.9.18 2005-10-14
	* Merged conditional expression mapping fix in the module linking
	code from Joshua Brindle.

1.9.17 2005-10-13
	* Hid sepol_module_package type definition, and added get interfaces.

1.9.16 2005-10-13
	* Merged new callback-based error reporting system from Ivan
	Gyurdiev.

1.9.15 2005-10-13
	* Merged support for require blocks inside conditionals from
	Joshua Brindle (Tresys).

1.9.14 2005-10-07
	* Fixed use of policydb_from_image/to_image to ensure proper
	init of policydb.

1.9.13 2005-10-07
	* Isolated policydb internal headers under <sepol/policydb/*.h>.
	These headers should only be used by users of the static libsepol.
	Created new <sepol/policydb.h> with new public types and interfaces
	for shared libsepol.
	Created new <sepol/module.h> with public types and interfaces moved
	or wrapped from old module.h, link.h, and expand.h, adjusted for
	new public types for policydb and policy_file.
	Added public interfaces to libsepol.map.
	Some implementation changes visible to users of the static libsepol:
	1) policydb_read no longer calls policydb_init.
	Caller must do so first.
	2) policydb_init no longer takes policy_type argument.
	Caller must set policy_type separately.
	3) expand_module automatically enables the global branch.  
	Caller no longer needs to do so.
	4) policydb_write uses the policy_type and policyvers from the 
	policydb itself, and sepol_set_policyvers() has been removed.
	
1.9.12 2005-10-06
	* Merged function renaming and static cleanup from Ivan Gyurdiev.

1.9.11 2005-10-05
	* Merged bug fix for check_assertions handling of no assertions
	from Joshua Brindle (Tresys).
	
1.9.10 2005-10-04
	* Merged iterate patch from Ivan Gyurdiev.

1.9.9 2005-10-03
	* Merged MLS in modules patch from Joshua Brindle (Tresys).

1.9.8 2005-09-30
	* Merged pointer typedef elimination patch from Ivan Gyurdiev.
	* Merged user list function, new mls functions, and bugfix patch
	  from Ivan Gyurdiev.

1.9.7 2005-09-28
	* Merged sepol_get_num_roles fix from Karl MacMillan (Tresys).

1.9.6 2005-09-23
	* Merged bug fix patches from Joshua Brindle (Tresys).

1.9.5 2005-09-21
	* Merged boolean record and memory leak fix patches from Ivan
	Gyurdiev.

1.9.4 2005-09-19
	* Merged interface record patch from Ivan Gyurdiev.

1.9.3 2005-09-14
	* Merged fix for sepol_enable/disable_debug from Ivan
	Gyurdiev.

1.9.2 2005-09-14
	* Merged stddef.h patch and debug conversion patch from 
	Ivan Gyurdiev.

1.9.1 2005-09-09
	* Fixed expand_avtab and expand_cond_av_list to keep separate
	entries with identical keys but different enabled flags.

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

1.7.24 2005-08-31
	* Fixed symtab_insert return value for duplicate declarations.

1.7.23 2005-08-31
	* Merged fix for memory error in policy_module_destroy from
	Jason Tang (Tresys).

1.7.22 2005-08-26
	* Merged fix for memory leak in sepol_context_to_sid from
	Jason Tang (Tresys).

1.7.21 2005-08-25
	* Merged fixes for resource leaks on error paths and
	  change to scope_destroy from Joshua Brindle (Tresys).

1.7.20 2005-08-23
	* Merged more fixes for resource leaks on error paths 
	  from Serge Hallyn (IBM).  Bugs found by Coverity. 

1.7.19 2005-08-19
	* Changed to treat all type conflicts as fatal errors.

1.7.18 2005-08-18
	* Merged several error handling fixes from 
	  Serge Hallyn (IBM).  Bugs found by Coverity.	

1.7.17 2005-08-15
	* Fixed further memory leaks found by valgrind.

1.7.16 2005-08-15
	* Fixed several memory leaks found by valgrind.

1.7.15 2005-08-12
	* Fixed empty list test in cond_write_av_list.  Bug found by
	  Coverity, reported by Serge Hallyn (IBM).
	* Merged patch to policydb_write to check errors 
	  when writing the type->attribute reverse map from
	  Serge Hallyn (IBM).  Bug found by Coverity.
	* Fixed policydb_destroy to properly handle NULL type_attr_map
	  or attr_type_map.

1.7.14 2005-08-12
	* Fixed use of uninitialized data by expand_avtab_node by
	  clearing type_val_to_struct in policydb_index_others.

1.7.13 2005-08-11
	* Improved memory use by SELinux by both reducing the avtab 
	  node size and reducing the number of avtab nodes (by not
	  expanding attributes in TE rules when possible).  Added
	  expand_avtab and expand_cond_av_list functions for use by
	  assertion checker, hierarchy checker, compatibility code,
	  and dispol.  Added new inline ebitmap operators and converted
	  existing users of ebitmaps to the new operators for greater 
	  efficiency.
	  Note:  The binary policy format version has been incremented to 
	  version 20 as a result of these changes.

1.7.12 2005-08-10
	* Fixed bug in constraint_node_clone handling of name sets.

1.7.11 2005-08-08
	* Fix range_trans_clone to map the type values properly.

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

1.7.9 2005-08-02
	* Enabled further compiler warning flags and fixed them.

1.7.8 2005-08-02
	* Merged user, context, port records patch from Ivan Gyurdiev.
	* Merged key extract function patch from Ivan Gyurdiev.

1.7.7 2005-07-27
	* Merged mls_context_to_sid bugfix from Ivan Gyurdiev.

1.7.6 2005-07-26
	* Merged context reorganization, memory leak fixes, 
	  port and interface loading, replacements for genusers and
	  genbools, debug traceback, and bugfix patches from Ivan Gyurdiev.
	* Merged uninitialized variable bugfix from Dan Walsh.

1.7.5 2005-07-18
	* Merged debug support, policydb conversion functions from Ivan Gyurdiev (Red Hat).
	* Removed genpolbools and genpolusers utilities.

1.7.4 2005-07-18
	* Merged hierarchy check fix from Joshua Brindle (Tresys).

1.7.3 2005-07-13
	* Merged header file cleanup and memory leak fix from Ivan Gyurdiev (Red Hat).

1.7.2 2005-07-11
	* Merged genbools debugging message cleanup from Red Hat.

1.7.1 2005-07-06
	* Merged loadable module support from Tresys Technology.

1.6 2005-06-20
	* Updated version for release.

1.5.10 2005-05-19
	* License changed to LGPL v2.1, see COPYING.

1.5.9 2005-05-16
	* Added sepol_genbools_policydb and sepol_genusers_policydb for
	  audit2why.

1.5.8 2005-05-13
	* Added sepol_ prefix to Flask types to avoid 
	  namespace collision with libselinux.

1.5.7 2005-05-13
	* Added sepol_compute_av_reason() for audit2why.

1.5.6 2005-04-25
	* Fixed bug in role hierarchy checker.

1.5.5 2005-04-13
	* Merged hierarchical type/role patch from Tresys Technology.
	* Merged MLS fixes from Darrel Goeddel of TCS.

1.5.4 2005-04-13
	* Changed sepol_genusers to not delete users by default,
	and added a sepol_set_delusers function to enable deletion.
	Also, removed special case handling of system_u and user_u.
	
1.5.3 2005-03-29
	* Merged booleans.local patch from Dan Walsh.

1.5.2 2005-03-16
	* Added man page for sepol_check_context.

1.5.1 2005-03-15
	* Added man page for sepol_genusers function.
	* Merged man pages for genpolusers and chkcon from Manoj Srivastava.

1.4 2005-03-09
	* Updated version for release.

1.3.8 2005-03-08
	* Cleaned up error handling in sepol_genusers and sepol_genbools.

1.3.7 2005-02-28
	* Merged sepol_debug and fclose patch from Dan Walsh.

1.3.6 2005-02-22
	* Changed sepol_genusers to also use getline and correctly handle
	  EOL.

1.3.5 2005-02-17
	* Merged range_transition support from Darrel Goeddel (TCS).

1.3.4 2005-02-16
	* Added sepol_genusers function.

1.3.3 2005-02-14
	* Merged endianness and compute_av patches from Darrel Goeddel (TCS).

1.3.2 2005-02-09
	* Changed relabel Makefile target to use restorecon.

1.3.1 2005-01-26
	* Merged enhanced MLS support from Darrel Goeddel (TCS).

1.2.1 2005-01-19
	* Merged build fix patch from Manoj Srivastava.

1.2 2004-10-07
	* MLS build fixes.
	* Added sepol_set_policydb_from_file and sepol_check_context for setfiles.

1.0 2004-08-19
	* Initial public release.

0.4 2004-08-13
	* Merged patch from Dan Walsh to ignore case on booleans.
	* Changed sepol_genbools* to preserve the original policy version.
	* Replaced exported global variables with set functions. 
	* Moved genpolbools utility from checkpolicy to libsepol.
	* Added man pages for sepol_genbools* and genpolbools.

0.3 2004-08-10
	* Added ChangeLog, COPYING, spec file.
	* Added sepol_genbools_array() for load_policy.
	* Created libsepol.map to limit exported symbols in shared library. 

0.2 2004-08-09
	* Exported other functions for checkpolicy and friends.
	* Renamed service and sidtab functions to avoid libselinux conflict.
	* Removed original code from checkpolicy, which now uses libsepol.
	* Code cleanup:  kill legacy references to kernel types/functions.

0.1 2004-08-06
	* Moved checkpolicy core logic into a library.
	* Exported sepol_genbools() for load_policy.
