From 368746752ee27029ebe059fd6dd550b8ad4ce23c Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Tue, 30 Oct 2012 12:44:45 -0400 Subject: - move to in-doc changelog --- CHANGES | 71 ------------------------ docs/build/changelog.rst | 128 ++++++++++++++++++++++++++++++++++++++++++++ docs/build/conf.py | 8 ++- docs/build/index.rst | 3 +- docs/build/requirements.txt | 1 + 5 files changed, 138 insertions(+), 73 deletions(-) delete mode 100644 CHANGES create mode 100644 docs/build/changelog.rst create mode 100644 docs/build/requirements.txt diff --git a/CHANGES b/CHANGES deleted file mode 100644 index aa43435..0000000 --- a/CHANGES +++ /dev/null @@ -1,71 +0,0 @@ -0.4.0 -===== -- reworked Dogpile's API into a new object called Lock. - Lock presents just one set of arguments for locking within - one constructor call, and provides the "comprehensive" caching - pattern that is what's desired in the vast majority of cases. - The Dogpile class is now legacy, and - builds its various usage patterns on top of Lock. - -- Fixed the dependency on storing "creationtime" locally in memory; - this caused dogpile pileups for a missing cache value when used in multiple-process - environments. The new Lock object now checks the value_and_created_fn() - an extra time within the "lock acquired" phase so that multiple writers - who entered the block don't rely upon a memory-only version of creation - time. #1 - - -0.3.3 -===== -- repair setup.py so that tests don't install, - courtesy Ben Hayden. - -0.3.2 -===== -- upgrade to beta. - -0.3.1 -===== -- py3k compatibility is in-place now, no - 2to3 needed. - -0.3.0 -===== - -- Renamed the project again - to dogpile.core. - Package has been reorganized so that "dogpile" - is a pure namespace package. The base dogpile - features are now in "dogpile.core". - -0.2.2 -===== - -- expire time of None means "never expire". - -0.2.1 -===== - -- Add new "nameregistry" helper. Another fixture - derived from Beaker, this allows the ad-hoc creation of - a new Dogpile lock based on a name, where all other - threads calling that name at the same time will get - the same Dogpile lock. Allows any number of - logical "dogpile" actions to carry on concurrently - without any memory taken up outside of those operations. - -- To support the use case supported by nameregistry, added - value_and_created_fn to dogpile.acquire(). The idea - is that the value_and_created_fn can return - (value, createdtime), so that the creation time of the - value can come from the cache, thus eliminating the - need for the dogpile lock to hang around persistently. - -0.2.0 -===== - -- change name to lowercase "dogpile". - -0.1.0 -===== - -- initial revision. \ No newline at end of file diff --git a/docs/build/changelog.rst b/docs/build/changelog.rst new file mode 100644 index 0000000..e8b0196 --- /dev/null +++ b/docs/build/changelog.rst @@ -0,0 +1,128 @@ +========== +Changelog +========== + +.. changelog:: + :version: 0.4.0 + :released: Tue Oct 30 2012 + + .. change:: + + reworked Dogpile's API into a new object called Lock. + Lock presents just one set of arguments for locking within + one constructor call, and provides the "comprehensive" caching + pattern that is what's desired in the vast majority of cases. + The Dogpile class is now legacy, and + builds its various usage patterns on top of Lock. + + .. change:: + :tags: + :tickets: 1 + + Fixed the dependency on storing "creationtime" locally in memory; + this caused dogpile pileups for a missing cache value when used in multiple-process + environments. The new Lock object now checks the value_and_created_fn() + an extra time within the "lock acquired" phase so that multiple writers + who entered the block don't rely upon a memory-only version of creation + time. + + +.. changelog:: + :version: 0.3.3 + :released: Tue Sep 25 2012 + + .. change:: + :tags: + :tickets: + + repair setup.py so that tests don't install, + courtesy Ben Hayden. + +.. changelog:: + :version: 0.3.2 + :released: Wed Jun 13 2012 + + .. change:: + :tags: + :tickets: + + upgrade to beta. + +.. changelog:: + :version: 0.3.1 + :released: Sun Apr 15 2012 + + .. change:: + :tags: + :tickets: + + py3k compatibility is in-place now, no + 2to3 needed. + +.. changelog:: + :version: 0.3.0 + :released: Sat Apr 14 2012 + + .. change:: + :tags: + :tickets: + + Renamed the project again - to dogpile.core. + Package has been reorganized so that "dogpile" + is a pure namespace package. The base dogpile + features are now in "dogpile.core". + + +.. changelog:: + :version: 0.2.2 + :released: Fri Mar 30 2012 + + .. change:: + :tags: + :tickets: + + expire time of None means "never expire". + +.. changelog:: + :version: 0.2.1 + :released: Fri Dec 23 2011 + + .. change:: + :tags: + :tickets: + + Add new "nameregistry" helper. Another fixture + derived from Beaker, this allows the ad-hoc creation of + a new Dogpile lock based on a name, where all other + threads calling that name at the same time will get + the same Dogpile lock. Allows any number of + logical "dogpile" actions to carry on concurrently + without any memory taken up outside of those operations. + + .. change:: + :tags: + :tickets: + + To support the use case supported by nameregistry, added + value_and_created_fn to dogpile.acquire(). The idea + is that the value_and_created_fn can return + (value, createdtime), so that the creation time of the + value can come from the cache, thus eliminating the + need for the dogpile lock to hang around persistently. + +.. changelog:: + :version: 0.2.0 + :released: Sun Oct 23 2011 + + .. change:: + :tags: + :tickets: + + change name to lowercase "dogpile". + +.. changelog:: + :version: 0.1.0 + + .. change:: + + initial revision. \ No newline at end of file diff --git a/docs/build/conf.py b/docs/build/conf.py index 0de0a19..e3f7de7 100644 --- a/docs/build/conf.py +++ b/docs/build/conf.py @@ -29,7 +29,13 @@ import dogpile.core # Add any Sphinx extension module names here, as strings. They can be extensions # coming with Sphinx (named 'sphinx.ext.*') or your custom ones. -extensions = ['sphinx.ext.autodoc', 'sphinx.ext.intersphinx'] +extensions = ['sphinx.ext.autodoc', 'sphinx.ext.intersphinx', 'changelog'] + +changelog_sections = ["feature", "bug"] + +changelog_render_ticket = "https://bitbucket.org/zzzeek/dogpile.core/issue/%s" +changelog_render_pullreq = "https://bitbucket.org/zzzeek/dogpile.core/pullrequest/%s" +changelog_render_changeset = "https://bitbucket.org/zzzeek/dogpile.core/changeset/%s" # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] diff --git a/docs/build/index.rst b/docs/build/index.rst index a0d28e1..2d7ce55 100644 --- a/docs/build/index.rst +++ b/docs/build/index.rst @@ -2,7 +2,7 @@ Welcome to dogpile.core's documentation! ======================================== -`dogpile.core `_ provides the *dogpile* lock, +`dogpile.core `_ provides the *dogpile* lock, one which allows a single thread or process to generate an expensive resource while other threads/processes use the "old" value, until the "new" value is ready. @@ -17,6 +17,7 @@ which provides for a basic cache API and sample backends based on the dogpile co front usage api + changelog Indices and tables ================== diff --git a/docs/build/requirements.txt b/docs/build/requirements.txt new file mode 100644 index 0000000..6a28af6 --- /dev/null +++ b/docs/build/requirements.txt @@ -0,0 +1 @@ +changelog \ No newline at end of file -- cgit v1.2.1