summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2012-10-30 12:44:45 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2012-10-30 12:44:45 -0400
commit368746752ee27029ebe059fd6dd550b8ad4ce23c (patch)
tree6a45a3d64943ac2651dc1e4cba5ce769f08dd3d9
parenteb9a9ba6023eaa63a94ecd9eed91ed7bd692ee78 (diff)
downloaddogpile-core-368746752ee27029ebe059fd6dd550b8ad4ce23c.tar.gz
- move to in-doc changelog
-rw-r--r--CHANGES71
-rw-r--r--docs/build/changelog.rst128
-rw-r--r--docs/build/conf.py8
-rw-r--r--docs/build/index.rst3
-rw-r--r--docs/build/requirements.txt1
5 files changed, 138 insertions, 73 deletions
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 <http://bitbucket.org/zzzeek/dogpile>`_ provides the *dogpile* lock,
+`dogpile.core <http://bitbucket.org/zzzeek/dogpile>`_ 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