Blame NEWS

Packit 2d622a
libhugetlbfs 2.21 "The Bloor Annex"
Packit 2d622a
======================================================================
Packit 2d622a
New Features
Packit 2d622a
* Suport for 512M huge pages on aarch64
Packit 2d622a
Packit 2d622a
Bug Fixes
Packit 2d622a
* The noexec stack markers are set directly
Packit 2d622a
* We no longer lie to glibc about shrinking the heap by less than HPAGE_SIZE
Packit 2d622a
Packit 2d622a
Test Suite
Packit 2d622a
* No existent tests are no longer marked Killed By Signal
Packit 2d622a
* Disable malloc per-thread cache for heap shrinking tests
Packit 2d622a
Packit 2d622a
libhugetlbfs 2.20 "View Across the Charles"
Packit 2d622a
======================================================================
Packit 2d622a
Bug Fixes
Packit 2d622a
* Fix keyword collisions and warnings from GCC 5
Packit 2d622a
* hugeadm output is parsed for default size in huge_page_setup_helper
Packit 2d622a
Packit 2d622a
Test Suite
Packit 2d622a
* fallocate tests
Packit 2d622a
Packit 2d622a
libhugetlbfs 2.19 "Missing Longfellow Lanes"
Packit 2d622a
======================================================================
Packit 2d622a
Bug Fixes
Packit 2d622a
* Fixed hugeadm behavior when mtab is a symlink
Packit 2d622a
* fix plt_extrasz() on ppc64le
Packit 2d622a
* ARM: fix page size and text offset setup
Packit 2d622a
* Fix hugeadm handling of negative pool resize amounts
Packit 2d622a
Packit 2d622a
Test Suite
Packit 2d622a
* remove duplicate mremap-* tests
Packit 2d622a
Packit 2d622a
libhugetlbfs 2.18 "Infinite Corridor"
Packit 2d622a
======================================================================
Packit 2d622a
New Features
Packit 2d622a
* Add support for ppc64le
Packit 2d622a
* ARM 64 big endian support
Packit 2d622a
Packit 2d622a
Bug Fixes
Packit 2d622a
* Reverted 3bdd9924 which broke building on PPC64
Packit 2d622a
* Fix parsing of kernel version string
Packit 2d622a
* ARM: mark direct_syscall as a FUNC
Packit 2d622a
Packit 2d622a
Test Suite
Packit 2d622a
* mmap of huge page files with misaligned offset success treated as PASS
Packit 2d622a
Packit 2d622a
libhugetlbfs 2.17 "Fowl and Fetus"
Packit 2d622a
======================================================================
Packit 2d622a
New Features
Packit 2d622a
* PPC segement alignment restrictions can be disabled
Packit 2d622a
* Added Aarch64 support
Packit 2d622a
Packit 2d622a
Bug Fixes
Packit 2d622a
* Allow compiler overrides for 64 and 32 bit builds
Packit 2d622a
* hugeadm now handles /etc/mtab being a simlink properly
Packit 2d622a
Packit 2d622a
Test Suite
Packit 2d622a
* Add corrupt-by-cow-opt test
Packit 2d622a
* Add noresv-preserve-resv-page test
Packit 2d622a
* Add noresv-regarded-as-resv test
Packit 2d622a
Packit 2d622a
libhugetlbfs 2.16 "Joe E. Parker"
Packit 2d622a
======================================================================
Packit 2d622a
New Features
Packit 2d622a
* ARM Support
Packit 2d622a
* s390x Dynamic TASK_SIZE support
Packit 2d622a
Packit 2d622a
Bug Fixes
Packit 2d622a
* find_mounts() now properly NULL terminates mount point names
Packit 2d622a
Packit 2d622a
Test Suite
Packit 2d622a
* ARM Support
Packit 2d622a
* mremap-fixed-huge-near-normal no longer calls munmap with 0 length
Packit 2d622a
Packit 2d622a
libhugetlbfs 2.15 "Minature Panda"
Packit 2d622a
======================================================================
Packit 2d622a
New Features
Packit 2d622a
* Add variable in Makefile to disable using deprecated linker scripts
Packit 2d622a
* s390 support
Packit 2d622a
Packit 2d622a
Bug Fixes
Packit 2d622a
* Disable Unable to verify address range warning when offset < page_size
Packit 2d622a
* Remove sscanf in library setup to avoid heap allocation before _morecore
Packit 2d622a
  override
Packit 2d622a
* Revert heap exhaustion patch
Packit 2d622a
* hugectl no longer clips LD_LIBRARY_PATH variable
Packit 2d622a
Packit 2d622a
Packit 2d622a
Test Suite
Packit 2d622a
* Fix mremap-expand-slice-collision expanding anon shm
Packit 2d622a
* mremap-expand-slice-collision now asks kernel for availble slices
Packit 2d622a
* Make 4GB boundary tests only fail when allocation fails on free slice
Packit 2d622a
* Link 4GB test cases with --static so libraries are not placed in the way
Packit 2d622a
Packit 2d622a
libhugetlbfs 2.14 "The White Album"
Packit 2d622a
======================================================================
Packit 2d622a
New Features
Packit 2d622a
* Updated man pages
Packit 2d622a
* Added basic events for core_i7 to oprofile_map_events
Packit 2d622a
Packit 2d622a
Bug Fixes
Packit 2d622a
* Fix clean on failure code to avoid closing stdout
Packit 2d622a
Packit 2d622a
Test Suite
Packit 2d622a
* Fixed readahead, malloc, and hugepagesizes tests
Packit 2d622a
* Avoid core dumps on stack_grow_into_huge test
Packit 2d622a
Packit 2d622a
libhugetlbfs 2.13 "Insert Clever Title Here"
Packit 2d622a
======================================================================
Packit 2d622a
New Features
Packit 2d622a
* hugeadm can now be used to control Transparent Huge Page tunables
Packit 2d622a
* New morecore mode to better support THP
Packit 2d622a
Packit 2d622a
Bug Fixes
Packit 2d622a
* Check permissions on hugetlbfs mount point before marking it as available
Packit 2d622a
Packit 2d622a
Test Suite
Packit 2d622a
* Fix shm tests to use random address instead of fixed, old address failed
Packit 2d622a
  on ARM
Packit 2d622a
Packit 2d622a
libhugetlbfs 2.12 "Serrano"
Packit 2d622a
======================================================================
Packit 2d622a
New Features
Packit 2d622a
* libhugetlbfs usage can now be restricted to certain binary names
Packit 2d622a
* lihugetlbfs now supports static linking
Packit 2d622a
* hugeadm uses more human readable directory names for mount points
Packit 2d622a
Packit 2d622a
Bug Fixes
Packit 2d622a
* hugeadm would segfault if specified user was not in passwd, failure in
Packit 2d622a
  getpwuid() is now checked
Packit 2d622a
Packit 2d622a
Test Suite
Packit 2d622a
* Added missing tests to driver script
Packit 2d622a
* Added tests for static linking
Packit 2d622a
Packit 2d622a
libhugetlbfs 2.11 "Ghost Pepper"
Packit 2d622a
======================================================================
Packit 2d622a
New Features
Packit 2d622a
* cpupcstat reports time servicing tlb misses when requested
Packit 2d622a
* When supported by the kernel and glibc, MAP_HUGETLB is used
Packit 2d622a
  for the heap and to back memory returned by get_huge_pages.
Packit 2d622a
  These features can now be used without mounting hugetlbfs
Packit 2d622a
Packit 2d622a
Bug Fixes
Packit 2d622a
* tlbmiss_cost.sh supresses oprofile errors
Packit 2d622a
* numerous fixes to setup_helper.py
Packit 2d622a
* Corrected usage of hugetlbfs_test_feature return value
Packit 2d622a
* find_mounts now correctly ignores non-hugetlbfs mount points
Packit 2d622a
* When prefaulting pages for get_huge_pages readv was using the fd
Packit 2d622a
  for the mapping, this caused the prefault to fail on older libc.
Packit 2d622a
  Now /dev/zero is used for all prefaulting
Packit 2d622a
Packit 2d622a
libhugetlbfs 2.10 "Another Hottie"
Packit 2d622a
======================================================================
Packit 2d622a
Bug Fixes
Packit 2d622a
* hugeadm now handles pool size deltas properly
Packit 2d622a
* Makefile uses ?= to assign PREFIX and EXEDIR to allow for easier build
Packit 2d622a
  modification
Packit 2d622a
Packit 2d622a
libhugetlbfs 2.9 "Something Spicy"
Packit 2d622a
======================================================================
Packit 2d622a
New Features
Packit 2d622a
* Add --no-reseve to hugectl to request mmap'd pages are not reserved
Packit 2d622a
  for kernels newer than 2.6.34
Packit 2d622a
* POWER6 now supported by TLB miss cost estimator
Packit 2d622a
* Add --obey-numa-mempol to hugeadm to request static pool pages are
Packit 2d622a
  allocated following the process NUMA memory policy
Packit 2d622a
Packit 2d622a
Test Suite
Packit 2d622a
* Fix gethugepagesizes test case
Packit 2d622a
Packit 2d622a
libhugetlbfs 2.8 "Scotch Bonnet"
Packit 2d622a
======================================================================
Packit 2d622a
New Features
Packit 2d622a
* Add switch to let administrator limit new mount points by size or inodes
Packit 2d622a
* cpupcstat now caches the value returned by tlmiss_cost.sh to avoid
Packit 2d622a
  rerunning the script
Packit 2d622a
Packit 2d622a
Bug Fixes
Packit 2d622a
* errno values are saved in get_huge_pages
Packit 2d622a
* tlbmiss_cost.sh patches calibrator to fix round naming collision
Packit 2d622a
* Fixed ALIGN_UP macro for aligning huge page segments
Packit 2d622a
* Fix --create-mounts switch in hugeadm
Packit 2d622a
* Library and helpers are all linked with -z noexecstack
Packit 2d622a
Packit 2d622a
Test Suite
Packit 2d622a
* run_tests.py detects valid word sizes
Packit 2d622a
Packit 2d622a
libhugetlbfs 2.7 "Adobo"
Packit 2d622a
======================================================================
Packit 2d622a
New Features
Packit 2d622a
* When specifying huge page pool sizes with hugeadm, memory sizes can
Packit 2d622a
  be used as well as the number of huge pages
Packit 2d622a
* DEFAULT is now a valid huge page pool for resizing, it will adjust
Packit 2d622a
  the pool for the default huge page size
Packit 2d622a
* tlbmiss_cost.sh in the contrib/ sub directory will estimate the cost
Packit 2d622a
  in CPU cycles of a TLB miss on the arch where it is run
Packit 2d622a
* Add python script which automates huge page pool setup with minimal
Packit 2d622a
  input required from user
Packit 2d622a
Packit 2d622a
Bug Fixes
Packit 2d622a
* The --dry-run switch in hugeadm is now obeyed
Packit 2d622a
* hugeadm now uses unsigned long long for page resizes to avoid
Packit 2d622a
  overflow errors
Packit 2d622a
* --set-recommended-shmmax no longer overflows if the number of
Packit 2d622a
  available huge pages is bigger than the address space
Packit 2d622a
Packit 2d622a
Test Suite
Packit 2d622a
* Updated linkhuge_nofd to override proper functions when testing
Packit 2d622a
* run_tests.py can now monitor the pool sizes between tests to help
Packit 2d622a
  identify accounting errors
Packit 2d622a
* Add test for mremap bug on architectures with holes in address space
Packit 2d622a
Packit 2d622a
libhugetlbfs 2.6 "Adovada"
Packit 2d622a
======================================================================
Packit 2d622a
New Features
Packit 2d622a
* cpupcstat now supports data collection using the perf tool as well as
Packit 2d622a
  oprofile
Packit 2d622a
* --explain reports if min_free_kbytes is too small
Packit 2d622a
* add --set-min_free_kbytes to hugeadm
Packit 2d622a
Packit 2d622a
Bug Fixes
Packit 2d622a
* Admin utils (hugeadm, hugectl, etc) are now built as 64 bit binaries
Packit 2d622a
  if possible to support adminstration of larger huge page sizes
Packit 2d622a
Packit 2d622a
Test Suite
Packit 2d622a
* Suppress ld.hugetlbfs warnings during test suite build
Packit 2d622a
* Make SPECIAL keyword test cross-compile safe
Packit 2d622a
* Test script sets proper rlimits for mlock and stack_grow_into_huge
Packit 2d622a
  tests
Packit 2d622a
* Ensure that all elflink tests are run with both HUGETLB_SHARE=0 and
Packit 2d622a
  HUGETLB_SHARE=1
Packit 2d622a
Packit 2d622a
libhugetlbfs 2.5 "Self Titled"
Packit 2d622a
======================================================================
Packit 2d622a
New Features
Packit 2d622a
* added --add-ramdisk-swap option to hugeadm to use ramdisks as
Packit 2d622a
  temporary swap space for diskless systems
Packit 2d622a
* added --persist option to hugeadm to be used with either --add-*-swap
Packit 2d622a
  option.  Makes swap added stay until removed or the machine is rebooted
Packit 2d622a
* added cpupcstat script which uses oprofile to monitor tlb miss rate
Packit 2d622a
  of a target program
Packit 2d622a
Packit 2d622a
Bug Fixes
Packit 2d622a
* --add-temp-swap option now takes an optional integer argument that is
Packit 2d622a
  the size in number of hugepages to make the swap space
Packit 2d622a
Packit 2d622a
libhugetlbfs 2.4 "Birdseye"
Packit 2d622a
======================================================================
Packit 2d622a
New Features
Packit 2d622a
* added --add-temp-swap option to hugeadm to add a swap file for a pool
Packit 2d622a
  resize
Packit 2d622a
* added --[enable|disable]-zone-moveable options to hugeadm to control
Packit 2d622a
  /proc/sys/vm/hugepages_treat_as_movable
Packit 2d622a
Packit 2d622a
Bug Fixes
Packit 2d622a
* Fix pool-pages-max processing by using the proper array for its
Packit 2d622a
  requests
Packit 2d622a
* Move private reservation check out of morecore setup
Packit 2d622a
Packit 2d622a
Test Suite
Packit 2d622a
* Added regression tests for leaking reserve count due to madvise and
Packit 2d622a
  fadvise and readahead
Packit 2d622a
* Add test for mixed permissions on shm segments
Packit 2d622a
* Wrap tests that can hang the machine to fail is kernel is too old
Packit 2d622a
* Add -f option to run_tests.py to force running of tests that can hang
Packit 2d622a
  the machine
Packit 2d622a
Packit 2d622a
libhugetlbfs 2.3 "NuMex Sunglo"
Packit 2d622a
======================================================================
Packit 2d622a
New Features
Packit 2d622a
* added --force-preload option to hugectl for backing segments with
Packit 2d622a
  64kb pages on ppc64 when app was not linked with libhugetlbfs
Packit 2d622a
* added --explain swtich to hugadm to give a quick overview of the
Packit 2d622a
  system wrt huge pages
Packit 2d622a
* hugeadm warns if min pool size is being adjusted without sufficient
Packit 2d622a
  swap space configured
Packit 2d622a
* added --hard switch to ask hugeadm to try multiple times to resize
Packit 2d622a
  a huge page pool
Packit 2d622a
* added --create-*-mounts switches to create mount points for hugetlbfs
Packit 2d622a
  usable by specific users, groups, or globally
Packit 2d622a
Packit 2d622a
Bug Fixes
Packit 2d622a
* hugeadm will no longer mount a directory multiple times
Packit 2d622a
* hugeadm adds all new mount points to /etc/mtab
Packit 2d622a
Packit 2d622a
libhugetlbfs 2.2 "Barkers Extra Hot"
Packit 2d622a
======================================================================
Packit 2d622a
New Features
Packit 2d622a
* Refactored environment variable parsing to read once and store values
Packit 2d622a
* Add --list-mounts and --list-all-mounts options to hugeadm
Packit 2d622a
* Rework test suite to run for all avaialbe page sizes
Packit 2d622a
* Add --create-mounts for root only, --create-user-mounts,
Packit 2d622a
  --create-group-mounts, and --create-global-mounts options to hugeadm
Packit 2d622a
* Add --share-text option to hugectl
Packit 2d622a
Packit 2d622a
Test Suite Fixes
Packit 2d622a
* Added wrapper to shm-fork and shm-getraw tests that makes runs on
Packit 2d622a
  hpage sizes different from default expected failures
Packit 2d622a
* Reworked shmoverride tests to handle new env parsing
Packit 2d622a
Packit 2d622a
libhugetlbfs 2.1 "NM 64"
Packit 2d622a
======================================================================
Packit 2d622a
New Features
Packit 2d622a
* Multiple page size support
Packit 2d622a
* Add a more user friendly allocator that handles cache coloring
Packit 2d622a
* Add pagesize utility to display supported page sizes
Packit 2d622a
* Add hugeadm utility for managing hugepage pools
Packit 2d622a
* Add hugectl utility for running programs using hugepages
Packit 2d622a
* Add hugeedit utility for marking segments in aligned binaries for
Packit 2d622a
  huge page backing by default
Packit 2d622a
* Deprecated linker linker scripts
Packit 2d622a
* gethugepagesize() and getpagesizes() API added to programatically
Packit 2d622a
  discover supported hugepages
Packit 2d622a
* Manual pages for all API functions and utilities
Packit 2d622a
* Allow automatic backing of shared memory segments with hugepages
Packit 2d622a
* huge page regions will no longer prefault for kernels >= 2.6.27
Packit 2d622a
  improving mmap() performance and NUMA layout
Packit 2d622a
Packit 2d622a
Bug Fixes
Packit 2d622a
* Add missing segment to interp section in linker scripts
Packit 2d622a
* Fix free_hugepage_region to handle segments that fell back to small
Packit 2d622a
  pages
Packit 2d622a
* Fix install when lib32 and lib64 resolve to the same place
Packit 2d622a
* Install header files so APIs can be used
Packit 2d622a
* Fix installation paths to make life easier for package maintainers
Packit 2d622a
* Do not export internal symbols unnecessarily
Packit 2d622a
* Prefault regions allocated by direct allocation API on kernels older
Packit 2d622a
  than 2.6.27
Packit 2d622a
* Gracefully fallback to using base pages for text/data when the
Packit 2d622a
  hugepage pool is too small
Packit 2d622a
* Fix handling of HUGETLB_SHARE_PATH environment variable
Packit 2d622a
* Relax remapping requirements
Packit 2d622a
Packit 2d622a
Test suite Fixes
Packit 2d622a
* Added expected failure support
Packit 2d622a
* gethugepagesizes override for getting meminfo
Packit 2d622a
* Increase debug output for tests that fail
Packit 2d622a
* Summarise pass and failure counts
Packit 2d622a
Packit 2d622a
libhugetlbfs 2.0 "Sandia Red"
Packit 2d622a
======================================================================
Packit 2d622a
Packit 2d622a
New Features
Packit 2d622a
* New scriptless relinking for binutils >= 2.17
Packit 2d622a
* Added direct allocator API for huge pages
Packit 2d622a
Packit 2d622a
Bug Fixes
Packit 2d622a
* /proc/mounts is parsed line at a time to handle file larger than 4kb
Packit 2d622a
* Read-only mappings use MAP_NORESERVE
Packit 2d622a
Packit 2d622a
Test suite fixes
Packit 2d622a
* Add test for /proc/mounts file larger than 4kb
Packit 2d622a
* Fix quota test with private reservations
Packit 2d622a
* Output strerror on failure
Packit 2d622a
* linkhuge tests are skipped when known to be broken
Packit 2d622a
Packit 2d622a
libhugetlbfs 1.3 "Big Jim"
Packit 2d622a
======================================================================
Packit 2d622a
Packit 2d622a
New features
Packit 2d622a
* Add HUGETLB_NO_PREFAULT to control prefaulting of huge pages via mlock
Packit 2d622a
* Add "[hostname:pid]" to output messages
Packit 2d622a
* Setup for handling larger huge page sizes e.g. 16G huge pages
Packit 2d622a
* Update for new upstream sysctl
Packit 2d622a
* Add support for hugetlbfs_morecore to shrink the heap
Packit 2d622a
Packit 2d622a
Bug fixes
Packit 2d622a
* Disable heap shrinking by default to avoid bug in glibc malloc
Packit 2d622a
* Skip elflink calls in setup_libhugetlbfs for IA64 and sparc64
Packit 2d622a
* Replace gethugepagesize with check_hugepagesize for error checking
Packit 2d622a
* Make morecore argument a long to handle larger page sizes
Packit 2d622a
Packit 2d622a
Test suite fixes
Packit 2d622a
* Check uid/gid in tests where it matters
Packit 2d622a
* tests: verify there are enough huge pages
Packit 2d622a
* Change tests to read /proc/meminfo
Packit 2d622a
* tests: verify that huge page size isn't too big for the test
Packit 2d622a
Packit 2d622a
libhugetlbfs 1.2 "Mango Habanero"
Packit 2d622a
======================================================================
Packit 2d622a
Packit 2d622a
New features
Packit 2d622a
Packit 2d622a
* Partial segment remapping. This allows non-relinked binaries to try
Packit 2d622a
  to take advantage of libhugetlbfs' segment remapping code. Large
Packit 2d622a
  segments are required, especially on Power. This feature is useful
Packit 2d622a
  for estimating huge page performance, however full relinking will
Packit 2d622a
  still perform better.
Packit 2d622a
* Add extra debugging for binaries that may run out of address space.
Packit 2d622a
* Log library version when HUGETLB_VERBOSE is enabled.
Packit 2d622a
* Beginning support for ia64 and sparc64.
Packit 2d622a
* New test to check handling of misaligned mmap() parameters.
Packit 2d622a
Packit 2d622a
Bug fixes
Packit 2d622a
Packit 2d622a
* Fix EH_FRAME segment. Fixes some C++ applications.
Packit 2d622a
* Rework PLT detection to work better on Power.
Packit 2d622a
* Add per-target-arch syscall stubs to the library. These provide
Packit 2d622a
  reliable error messages from elflink.c if they occur while the
Packit 2d622a
  program segments are unmapped.
Packit 2d622a
* Add proper SONAME to shared libs.
Packit 2d622a
* Makefile respects CFLAGS/LDFLAGS/CPPFLAGS environment variables.
Packit 2d622a
* Make mlock() failure non-fatal.
Packit 2d622a
Packit 2d622a
Test suite fixes
Packit 2d622a
Packit 2d622a
* Fix zero_filesize_segment test.
Packit 2d622a
* Fix the icache-hygeine testcase for i386 and x86_64.
Packit 2d622a
* Fix SEGVs in task-size-overrun test.
Packit 2d622a
* Enable stack_grow_into_huge test, previously skipped.
Packit 2d622a
* Fix test_addr_huge() for anon pages.
Packit 2d622a
Packit 2d622a
libhugetlbfs 1.1 "Carribbean Jerk"
Packit 2d622a
======================================================================
Packit 2d622a
Packit 2d622a
This large release brings several performance improvements
Packit 2d622a
Packit 2d622a
Security
Packit 2d622a
Packit 2d622a
* Remove the sharing daemon completely and rework the segment sharing
Packit 2d622a
  code. Permissions on the hugetlbfs mountpoint are used to enforce
Packit 2d622a
  segment sharing.
Packit 2d622a
Packit 2d622a
Bug fixes
Packit 2d622a
Packit 2d622a
* Sharing of writable segments is no longer possible, due to address
Packit 2d622a
  space randomization on x86_64 (although similar issues could happen on
Packit 2d622a
  any architecture).
Packit 2d622a
* minimal_copy detection should work better in this release.
Packit 2d622a
Packit 2d622a
Trivial but notable changes
Packit 2d622a
Packit 2d622a
* Testcase updates
Packit 2d622a
Packit 2d622a
libhugetlbfs 1.0.1 "Spicy Garlic"
Packit 2d622a
======================================================================
Packit 2d622a
Packit 2d622a
This small maintenance release brings a security fix, a few minor bug
Packit 2d622a
fixes, plus some documentation and error message updates.
Packit 2d622a
Packit 2d622a
Security
Packit 2d622a
Packit 2d622a
* A section on security has been added to the README file
Packit 2d622a
* The hugetlbd daemon socket has been moved from /tmp to /var/run.
Packit 2d622a
  This will require the daemon to be run as root, which was previously
Packit 2d622a
  just a recommendation.
Packit 2d622a
Packit 2d622a
Bug fixes
Packit 2d622a
Packit 2d622a
* Reduce reserved huge pages needed for application start-up
Packit 2d622a
* PPC linker script fixes
Packit 2d622a
Packit 2d622a
Trivial but notable changes
Packit 2d622a
Packit 2d622a
* Always install linker scripts for all targets
Packit 2d622a
* Error message updates
Packit 2d622a
* Add documentation on HUGETLB_DEBUG
Packit 2d622a
* Testcase updates
Packit 2d622a
Packit 2d622a
libhugetlbfs 1.0
Packit 2d622a
======================================================================
Packit 2d622a
Packit 2d622a
* First stable release