- v2.1.0 Tue Nov 3 2026
* The interface is unchanged; the changes below are noticeable, so
Single/v2.pm is now v2.1.0. Single.pm did not change (v2.0.0).
* Module versions follow one rule: an API change raises the major version
of every module; an internal change or bug fix raises the sub-version
(v2.pm is v2.1.0); a change to tests, documentation or comments raises
the last number (Doc.pm is v2.0.1). The version in Makefile.PL and
CHANGES is raised by the largest kind of change in the release, so it
can differ from a file's own version, and it restarts with each major
release.
* The distribution version is hardwired in Makefile.PL (VERSION) and
is raised whenever anything in the distribution changes; the modules
keep their own versions.
- Sat Oct 31 2026
* New detach( $count = 1 ): remove the nodes after a cursor by relinking
and return them as a Fragment (NodeMgr::detach_nodes).
* append_to now relinks (NodeMgr::attach_nodes) instead of moving the
contents of the successor nodes: held cursors keep their data, and an
empty fragment is a no-op.
- Fri Oct 30 2026
* Iterator sort is now a merge sort that relinks the nodes (default
comparison: perl's sort on the nodes), O(n log n), where the insertion
sort took time proportional to the square of the length (8,000 nodes
took 42 seconds, 100,000 now take 0.2 to 0.4 seconds, or 1.8 with a
comparator generator). Same comparator-generator interface; equal
nodes stay in order; a dying comparator leaves the list as it was.
- Fri Sep 18 15:11:14 EDT 2026
Been a while, eh?
* Convert my own hack format to MD.
* Refactor v2 using Object::Pad with separate list, iterator, fragment
classes with LinkedList::Single defaulting to v1, a single 'v2' argument
uses the new module. Please see the POD in lib/LinkedList/Single/v2.pm
for a description of the new module.
* From here forward the v1 module will not be modified.
- Fri Jan 26 09:29:50 CST 2018
*Up Perl to supported version (v5.24).
*Add Single.old for versions prior to supported (5.12).
*Remove iterative deletion of nodes as Perl error fixed.
*Fix bug in clone that allows non-object list handler.
*Added "map" to process list contents into an array of
processed contents, one arrayref per node.
*Minor test improvements.
- Tue Dec 13 00:34:32 CST 2011
*Add Test::Deep to Makefile.PL
- Sun Nov 13 16:18:20 CST 2011
*Add new_head, new_root to allow installing a
user-defined head or root node.
*Main use of new_root is installing an object,
which allows attaching arbitrary attributes to
the root node.
*Main use of new_head is adding 'bookmarks' into
an existing list as new lists. For example,
Lists that start at specific letters of an
alphabatized list.
- Fri Oct 21 18:18:26 CDT 2011
*use perl v5.12; drop use strict.
*v5.12 avoids memory leak issues in DESTROY
so the cleanup now uses "$node = $node->[0]"
to sweep up the list rather than the slower
@$node = @{ $node->[0] }.
*Add "new_head"; inserts a new head node
into an existing list and cleans up whatever
was there. Main use is adding skip-chains
or other entry points to the middle of an
existing list:
$listh->new->new_head( $existing_node );
including POD and tests.
0.99.11 Tue Oct 18 20:07:41 CDT 2011
*splice needed help: it needs to return a linked list
and take a replacement.
0.99.10 Wed Jun 30 16:28:49 EDT 2010
*Replaced 'data' with 'node_data'.
*Minor cleanups to splice, tests.
0.99.9 Thu Apr 1 10:59:40 EDT 2010
*Accessing the root node now uses the same format
as head node: $listh->root or $listh->root_node.
*Minor clenaups to splice method (not user visible).
*Update POD.
Keyboard Shortcuts
Global
s
Focus search bar
?
Bring up this help dialog
GitHub
gp
Go to pull requests
gi
Go to GitHub issues (only if GitHub is preferred repository)