Skip to content

Tags

Tags give the ability to mark specific points in history as being important
  • 4.0.0
    695d1ebf · Merge branch 'devel' ·
    Crossbow 4.0.0
    
    I am happy to announce the release of Crossbow 4.0.0 after another year of
    development!
    
    The primary focus of this release was the replacement of libmrss, a task I have
    been considering for quite some time. Crossbow now depends on libeccio
    (https://dacav.org/projects/libeccio/) for reading feeds.
    In turn, libeccio relies on Mini-XML (https://www.msweet.org/mxml/)
    for XML parsing.
    
    With the authorship of libeccio, I have greater control over how data is
    extracted from input feeds. libeccio effectively handles various feeds
    encountered in the wild, properly extracting data from nested XML structures
    and common feed format extensions.
    
    The new library aims to provide a meaningful, rather than exhaustive, view of
    feed formats. I have chosen to exclude some fields, which means that the
    corresponding placeholders are no longer supported by Crossbow. This change is
    the main reason for the major version bump.
    
    To prevent unexpected behaviors post-upgrade, a check on the configuration file
    versioning has been implemented. As by tradition, all changes are thoroughly
    documented in the man pages.
    
    Additionally, Crossbow is now licensed under the ISC license.
    
    I wish you like it! Happy hacking!
    
  • 3.0.0
    dc3e8a2c · Merge branch 'devel_3.x' ·
    Crossbow 3.0.0 "Alida"
    ======================
    
    After almost two years since version 2.0.0, I'm proud to announce
    a new release of Crossbow! Version 3.0.0, codename "Alida".
    
    This release comes with a few relevant changes that justify a bump
    of the MAJOR version digit.
    
    1. The build system is migrated from Autotools to CMake
    -------------------------------------------------------
    
    I recently grew fond of CMake, and it is nowadays easier for me to
    maintain a CMake configuration, than the Autoconf/Automake
    equivalent.
    
    CMake allows to leverage fast build tools such as Ninja, while
    keeping compatibility with classic tools such as Make, both on GNU
    and BSD systems.
    
    On the downside, it is hard or impossible to have a "dist" package
    that doesn't list CMake in the build time dependencies.
    I think the compromise is acceptable, since most packaging systems
    I know have a clean distinction between build time and run time
    dependencies.
    
    The README.md file distributed with Crossbow has been updated with
    brief instructions on how to compile and install your beloved feed
    reader, but please refer to the excellent CMake documentation for
    details.
    
    2. Dropped crossbow-upgrade(1)
    ------------------------------
    
    The crossbow-upgrade(1) tool served the purpose of migrating an
    existing configuration for the 1.x series of Crossbow to the new
    configuration format supported by the 2.x series.
    
    Since no change in the configuration language was introduced with
    Crossbow 3.0.0, the tool has been removed.
    
    If upgrading from Crossbow 1.x to Crossbow 3.0.0, please install
    Crossbow 2.0.0 first, run crossbow-upgrade(1) to migrate any old
    configurations to the new format, and then proceed with a new
    upgrade.
    
    3. Feed entries are now identified by a digest
    ----------------------------------------------
    
    Crossbow has relied so far on the "guid" field of feed entries as
    unique identifiers, and using the "link" field as a fallback
    when the "guid" is not identified.
    
    Unfortunately, however uncommon, nothing prevents a feed to
    publish multiple entries having the same "guid" or "link".
    A feed with such characteristics was found in the wild, and it
    could not be handled properly by Crossbow.
    
    To address this problem, Crossbow 3.0.0 uniquely identifies
    each entry by the SHA-1 digest of the concatenation of a few entry fields.
    The current selection of fields is: "title", "guid", "link" and
    "pubDate".
    
    To obtain the digest we rely on libcrypto, which is now a direct
    dependency of Crossbow.
    
    Since Crossbow keeps track of entries that have been seen by
    persisting their identifiers, all entries will be re-processed
    on the first execution after the upgrade.
    
    To avoid this, it is recommended to follow these steps:
    
      1. Update all the feeds by running `crossbow`, forcing every
         unseen entry to be processed by Crossbow 2.0.0;
    
      2. Install the 3.0.0 release;
    
      3. Remove the persistence files corresponding to every involved
         configuration (by default, this means the  "~/.crossbow"
         directory).  This step is optional.
    
      4. Update all the feeds again by running `crossbow -c`
         (catch-up mode).
    
    Any update published by followed feed in the time window between
    step 1 and step 4 is going to be lost.
    
  • v2.0.0
    e5f575b4 · Merge branch 'devel' ·
    Release: v2.0.0
    Crossbow reaches version 2.0.0.
    
    This new release comes with a substantial modifications, and it is not
    backwards compatible.
    
    The most relevant modification is the introduction of a configuration
    file, that defines the set of feeds to be monitored and their settings.
    In previous releases the configuration used to be baked into the feed
    persistence file.
    
    Decoupling persistence and configuration removes the need for commands
    such as crossbow-set(1), crossbow-del(1) and crossbow-query(1), which were
    intended as accessors for the persisted configuration.  We are left with a
    single command, crossbow(1), that takes the place of crossbow-fetch(1).
    
    In order to facilitate the transaction from the 1.x series to the 2.x
    series, a new command named crossbow-upgrade(1) has been added to the
    distribution.  The command migrates the configuration to the new format,
    while maintaining the tracking information for all monitored feeds.
    
    Apart from being represented in a different way, the feed configuration
    supports the same functionalities as before.  The only noticeable
    difference is that the "print" and "pretty" handlers have been merged.
    As always, everything is explained in detail in the provided manpages.
    
    I hope you enjoy it :)
    
  • v1.2.2
    ab2d08ad · Merge branch 'devel' ·
    Release: v1.2.2
    release
    
  • v1.2.1
    0ad34349 · Merge branch 'devel' ·
    Release: v1.2.1
    release
    
  • v1.2.0
    3a380cc3 · Merge branch 'devel' ·
    Release: v1.2.0
    release
    
  • v1.1.3 Release: v1.1.3
    release
    
  • v1.1.2
    81470157 · Merge branch 'devel' ·
    Release: v1.1.2
    release
    
  • v1.1.1
    c7b890ec · Merge branch 'devel' ·
    Release: v1.1.1
    release
    
  • v1.0.1
    e7120e71 · Merge branch 'devel' ·
    Release: v1.0.1
    release
    
  • v1.0.0
    release
    
  • v0.9.0
    21b323dd · Merge branch 'devel' ·
    Release: v0.9.0
    Release 0.9.0
    
    Almost a 1.0.0, since it does what it is supposed to, but
    has not been tested for a long time (there might be still a
    couple of rough edges).