freshmeat 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.0
1
+ 1.1.0
data/freshmeat.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{freshmeat}
8
- s.version = "1.0.0"
8
+ s.version = "1.1.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Matthew Stump"]
12
- s.date = %q{2011-03-18}
12
+ s.date = %q{2011-05-04}
13
13
  s.description = %q{A simple wrapper around the Freshmeat.net API}
14
14
  s.email = %q{mstump@matthewstump.com}
15
15
  s.extra_rdoc_files = [
@@ -29,6 +29,7 @@ Gem::Specification.new do |s|
29
29
  "spec/fixtures/comments.json",
30
30
  "spec/fixtures/dependencies.json",
31
31
  "spec/fixtures/localhost.json",
32
+ "spec/fixtures/recently_released.json",
32
33
  "spec/fixtures/releases.json",
33
34
  "spec/fixtures/samba.json",
34
35
  "spec/fixtures/screenshots.json",
@@ -45,18 +45,19 @@ class Freshmeat
45
45
 
46
46
  end
47
47
 
48
- class Project < Data
48
+ class PartialProject < Data
49
49
 
50
50
  def initialize(data)
51
51
  @data = data
52
52
  @data["user"] = User.new(@data["user"])
53
- @data["approved_screenshots"] = @data["approved_screenshots"].map { |t| Screenshot.new(t) }
54
- @data["approved_urls"] = @data["approved_urls"].map { |t| URL.new(t) }
55
- @data["recent_releases"] = @data["recent_releases"].map { |t| Release.new(t) }
53
+ @data["approved_screenshots"] = @data["approved_screenshots"] ? @data["approved_screenshots"].map { |t| Screenshot.new(t) } : Array.[]
54
+ @data["approved_urls"] = @data["approved_urls"] ? @data["approved_urls"].map { |t| URL.new(t) } : Array.[]
55
+ @data["recent_releases"] = @data["recent_releases"] ? @data["recent_releases"].map { |t| Release.new(t) } : Array.[]
56
56
  end
57
57
 
58
58
  end
59
59
 
60
+ class Project < PartialProject; end
60
61
  class Comment < Data; end
61
62
  class Release < Data; end
62
63
  class Screenshot < Data; end
data/lib/freshmeat.rb CHANGED
@@ -22,45 +22,79 @@ require 'httparty'
22
22
  require 'time'
23
23
  require File.dirname(__FILE__) + '/freshmeat/data'
24
24
 
25
+ # Simple wrapper around the Freshmeat.net data and frontpage API. For
26
+ # detailed information about the attributes of each datatype please
27
+ # see the Freshmeat.net API documentation.
25
28
  class Freshmeat
26
29
  include HTTParty
27
30
  base_uri "freshmeat.net"
28
31
 
29
32
  attr_reader :auth_code
30
33
 
34
+ # Auth code is the API authorization code provided by freshmeat
31
35
  def initialize(auth_code)
32
36
  @auth_code = auth_code
33
37
  end
34
38
 
39
+ # Get project by the permalink
35
40
  def project(project)
36
- @project ||= Project.new(get("/projects/#{project}.json")["project"])
41
+ @project = Project.new(get("/projects/#{project}.json")["project"])
37
42
  end
38
43
 
44
+ # Get the most recently released projects, this list corresponds
45
+ # with the Freshmeat front page and RSS feed. The data returned by
46
+ # the frontpage API is inconsistant with that returned by the data
47
+ # API. To draw attention to this fact we use the class
48
+ # PartialProject to signify that you only have access to a subset of
49
+ # the normal attributes. This subset consists of:
50
+ # * permalink
51
+ # * fid (Freshmeat object id)
52
+ # * name
53
+ # * oneliner
54
+ # * description
55
+ # * license_list
56
+ # * recent_releases which is limited to the most recent release
57
+ def recently_released_projects()
58
+ get("/index.json").map { |x|
59
+ p = x["release"]["project"]
60
+ x.delete("project")
61
+ p["recent_releases"] = [x["release"]]
62
+ PartialProject.new(p)
63
+ }
64
+ end
65
+
66
+ # Fetch the list of comments for the project specified by the project permalink
39
67
  def comments(project)
40
68
  @comments ||= get("/projects/#{project}/comments.json").map {|x| Comment.new(x["comment"])}
41
69
  end
42
70
 
71
+ # Fetch the list of releases for the project specified by the project permalink
43
72
  def releases(project)
44
73
  @releases ||= get("/projects/#{project}/releases.json").map {|x| Release.new(x["release"])}
45
74
  end
46
75
 
76
+ # Fetch the list of screenshots for the project specified by the project permalink
47
77
  def screenshots(project)
48
78
  @screenshots ||= get("/projects/#{project}/screenshots.json").map {|x| Screenshot.new(x["screenshot"])}
49
79
  end
50
80
 
81
+ # Fetch the list of URLs for the project specified by the project permalink
51
82
  def urls(project)
52
83
  @urls ||= get("/projects/#{project}/urls.json").map {|x| URL.new(x["url"])}
53
84
  end
54
85
 
86
+ # Fetch the list of projects matching tag
55
87
  def tag(tag)
56
88
  r = get("/tags/#{tag}.json")
57
89
  @tags ||= Tag.new(r["tag"], r["projects"].map {|x| Project.new(x)})
58
90
  end
59
91
 
92
+ # Fetch the entire list of tags
60
93
  def tags()
61
94
  @tags ||= get("/tags/all.json").map {|x| Tag.new(x["tag"])}
62
95
  end
63
96
 
97
+ # Search for project by string with optional pagination
64
98
  def search(query, page=1, args={})
65
99
  @results ||= get("/search.json", args.merge({:q => query, :page => page}))["projects"].map {|x| Project.new(x["project"])}
66
100
  end
@@ -0,0 +1 @@
1
+ [{"release":{"project":{"permalink":"sous-marin","name":"sous-marin","oneliner":"Scripts and tools for building a jumpstart Slackware installation.","license_list":["GPL"],"id":80587,"tag_list":["Slackware","Linux","distribution","net install"],"description":"The goal of sous-marin linux is to be able to install a small, pure Slackware distribution using only scripts and a minimum of resources. This small distribution will allow you to connect to the Internet and grab the rest of the packages you want. The sous-marin tools will let you determine what you need to make it work."},"changelog":"Phase Three releases a sous-marin lfslack.txt \nthat provides a fully-functional console-based\ninstall and an awk script to build your own lfslack.txt from the files in /var/log/packages.","created_at":"2011-05-03T21:34:54Z","hidden_from_frontpage":false,"id":331600,"version":"03may11","tag_list":[],"approved_at":"2011-05-03T21:37:32Z"}},{"release":{"project":{"permalink":"airtime","name":"Airtime","oneliner":"Open radio software for scheduling and remote station management.","license_list":["GPLv3"],"id":53334,"tag_list":["multimedia","sound","Radio","Journalism","studio","stream","campcaster"],"description":"Airtime (formerly known as Campcaster) is open radio software for scheduling and remote station management. Remote access to the station\u2019s media management, multi-file upload, and automatic metadata verification are combined with a collaborative online scheduling calendar and playlist management. The scheduling calendar is managed through an easy-to-use Web interface and triggers audio playout with sub-second precision for fading."},"changelog":"This release contains mainly bugfixes, the update addresses reports from the community on the new feature set introduced in Airtime 1.8. Key improvements: fixes for an issue where a track's progress bar would keep updating even if the track was no longer playing, and a problem relating to editing a show. The airtime-clean-storage command line utility now works properly. This release fixes an issue related the \"airtime-import\" command line utility.","created_at":"2011-05-03T16:53:27Z","hidden_from_frontpage":false,"id":331593,"version":"1.8.1","tag_list":["Stable","Minor","Bugfixes"],"approved_at":"2011-05-03T21:36:45Z"}},{"release":{"project":{"permalink":"stantor-domodulor","name":"Stantor-Domodulor","oneliner":"A home automation software system.","license_list":["GPLv2"],"id":76035,"tag_list":["Home Automation","webcam","X10","scada","Arduino"],"description":"Stantor-Domodulor is a home automation software system. It lets you manage electric and electronic facilities through Web pages and WAP 2 and 1 for smartphones. Stantor can drive Velleman k8000/k8055/k8061 boards, Ethernet and USB Arduino Mega, Uno and Duemilanove boards, X10 materials, USB webcams, and sound boards. Stantor correspondents can sent alerts via email and instant messaging. The Linux distributions supported are Ubuntu, Fedora, and Mandriva."},"changelog":"This release changes the method of sending SMS messages. It adds the ability to use \"mail2sms\" or \"Web2sms\". There are stand-alone modules for Arduino Uno and Mega boards.","created_at":"2011-05-03T17:46:03Z","hidden_from_frontpage":false,"id":331594,"version":"708b","tag_list":["SMS Software","Arduino","Uno","Mega"],"approved_at":"2011-05-03T21:31:21Z"}},{"release":{"project":{"permalink":"rss-torrent","name":"Swarmtv","oneliner":"A daemon to automatically download torrents and NZBs from multiple RSS feeds.","license_list":["GPL"],"id":75525,"tag_list":["RSS","Torrent","daemon","nzb"],"description":"SwarmTv is a command line broad-catching program that downloads selected torrents/NZB's from an RSS or Twitter feed and puts them in a directory for your torrent program to download. The torrents to download are selected using filters that look at the name, size, and episode/season of the torrent. A mechanism is in place to prevent double downloads. Swarmtv can even send an email when a new episode is found."},"changelog":"This release fixes building using Ubuntu 11.04. It builds on mingw (Windows). pkg-config support has been added. There are some minor fixes.","created_at":"2011-05-03T18:06:58Z","hidden_from_frontpage":false,"id":331595,"version":"0.9.1","tag_list":["Minor"],"approved_at":"2011-05-03T21:29:40Z"}},{"release":{"project":{"permalink":"cornelios","name":"CorneliOS","oneliner":"A virtual Web OS.","license_list":["GPL"],"id":62586,"tag_list":["Internet","Information Management"],"description":"CorneliOS is an easy-to-use and cross-browser \"Web Desktop Environment\", \"Web Operating System\", or \"Web Office\" that comes with a set of cool applications. It includes a Content Management System (CMS) so that you can easily set up and manage your own website as well as a Database Management System that allows you to rapidly build any kind of database application."},"changelog":"This release offers a CorneliOS calendar API bugfix, updated CorneliOS language kits, updated CorneliOS malicious IP tables, updated CorneliOS periodic table data, improved CIOS::IO path filtering, a greatly enhanced CIOS Edu API work manager, various CIOS Edu API enhancements and bugfixes, various CIOS App API enhancements, an improved CIOS legal stuff toolbox, a CIOS app API render engine now supporting redirects, and a CIOS Render API with title, description, and keyword generators.","created_at":"2011-05-03T19:43:40Z","hidden_from_frontpage":false,"id":331596,"version":"1.5r3","tag_list":[],"approved_at":"2011-05-03T21:28:46Z"}},{"release":{"project":{"permalink":"gpodder","name":"gPodder","oneliner":"A podcast receiver/catcher for Gnome/GTK+.","license_list":[],"id":53933,"tag_list":["Communications","File Sharing","Desktop Environment","GNOME","tools","multimedia","Sound/Audio","Speech","Internet","Web","Dynamic Content"],"description":"gPodder is a Podcast receiver/catcher written in Python and pyGTK. It manages podcast feeds for you, and automatically downloads all podcasts from as many feeds as you like. If you are interested in Podcast feeds, simply put the feed URLs into gPodder and it will download all episodes for you automatically. If there is a new episode, it will get it for you. It supports download resume, if the server supports it."},"changelog":"This is a bugfix release, fixing problems when saving episodes to folders. It also removes GStreamer-based track length detection, as it produced crashes for some users. Description parsing and Windows support have also been improved. For upgrades from older installations, the database schema is repaired to allow multiple GUIDs in different podcasts. Updated translations: French, Galician, Norwegian Bokm\u00e5l, and Spanish.","created_at":"2011-05-03T19:48:32Z","hidden_from_frontpage":false,"id":331597,"version":"2.15","tag_list":["Stable","Minor"],"approved_at":"2011-05-03T21:27:28Z"}},{"release":{"project":{"permalink":"sogo-inverse","name":"SOGo","oneliner":"A scalable free software groupware project.","license_list":["GPL"],"id":64054,"tag_list":["Internet","Web","Dynamic Content","Information Management","Communications","Email","Email Clients (MUA)","Address Book","Office/Business","Scheduling","groupware"],"description":"SOGo is a very fast and scalable modern collaboration suite (or groupware). It offers calendaring, address book management, and a full-featured Webmail client along with resource sharing and permission handling. It also makes use of documented standards (IMAP, CalDAV, CardDAV, etc.) and thereby provides native connectivity (without plugins) to many clients such as Microsoft Outlook, Apple iCal, the iPhone, Mozilla Lightning, and a plethora of mobile devices via SyncML. It can reuse any existing email and database infrastructure, avoiding long hours of site restructuring."},"changelog":"The full name of the mailbox owner is extracted under \"Other Users\". There is a new \"authenticationFilter\" parameter for SQL-based sources; a new \"IMAPLoginFieldName\" parameter in authentication sources; support for resources (projectors, conference rooms) with double-booking verification and automatic invitations acceptation. The recipients selection works more like Thunderbird when composing email. The documentation regarding LDAP groups is improved. There are new packages for RHEL6. Improved support for Chrome, and a fix for a crash with events that have no no end date.","created_at":"2011-05-03T20:47:24Z","hidden_from_frontpage":false,"id":331598,"version":"1.3.7","tag_list":[],"approved_at":"2011-05-03T21:25:40Z"}},{"release":{"project":{"permalink":"recoll","name":"Recoll","oneliner":"A personal full text desktop search package.","license_list":["GPL"],"id":57167,"tag_list":["Information Management","Text Processing","Indexing"],"description":"Recoll is a personal full text desktop search tool based on Xapian. It provides an easy to use, feature-rich, easy administration interface with a Qt-based GUI. Text, HTML, PDF, PostScript, MS Word, OpenOffice, Wordperfect, KWord, Abiword, maildir, and mailbox mail folder formats are supported, along with their compressed versions and quite a few others. Powerful query facilities are provided. Multiple character sets are supported, and internal processing and storage uses Unicode UTF-8. Stemming is performed at query time and the stemming language can be switched after indexing."},"changelog":"This release fixes a few bugs: indexer crashes following errors on zip archive members, rare GUI crashes when using the preview while the indexing thread is running, and other miscellaneous weirdnesses. New features: negative filtering on directory, field searches in the structured search panel, and filters for some Web archive format (.war and .mhtm).","created_at":"2011-05-03T16:43:52Z","hidden_from_frontpage":false,"id":331592,"version":"1.15.8","tag_list":[],"approved_at":"2011-05-03T21:21:27Z"}},{"release":{"project":{"permalink":"sawfish-pager","name":"sawfish.wm.ext.pager","oneliner":"A pager for the Sawfish window manager.","license_list":["GPL"],"id":54909,"tag_list":["Desktop Environment","Window Manager","Sawfish"],"description":"sawfish.wm.ext.pager is a C/Lisp extension that\r\nprovides a functional desktop pager for the\r\nsawfish window manager. A pager is a map of your\r\ndesktop. It shows not only the visible part of\r\nyour desktop (the current viewport), but also the\r\nparts that extend beyond the sides of your screen.\r\nAlso, if you have more than one workspace, the\r\npager will follow you to where you are, or\r\noptionally show all workspaces at once. Of course\r\nyou can select viewports and windows, and also\r\nmove or raise/lower the latter.\r\n"},"changelog":"Updated for new install paths in Sawfish 1.8.1, allowing rpm-build to modify CFLAGS while building.","created_at":"2011-05-03T16:38:26Z","hidden_from_frontpage":false,"id":331591,"version":"0.90.2","tag_list":["Sawfish","GTK+","X11","Lisp","C"],"approved_at":"2011-05-03T21:20:42Z"}},{"release":{"project":{"permalink":"sawfish","name":"sawfish","oneliner":"An extensible window manager.","license_list":["GPL"],"id":9268,"tag_list":["Desktop Environment","Window Manager","Sawfish"],"description":"Sawfish (the window manager formerly known as Sawmill) is an extensible window manager using a Lisp-based extension language. All window decorations are configurable and all user-interface policy is controlled through the language. Its aim is to manage windows in the most flexible and attractive manner possible. As such it does not implement desktop backgrounds, application docks, or other things that may be achieved through separate applications. Sawfish is mostly GNOME-compliant; almost all configuration may be made through a graphical interface."},"changelog":"This release improves the Edge-Actions configuration infrastructure, makes it fully deactivatible, and updates its documentation. It removes unneeded classes from command definitons, improves .desktop files, fixes uninstalling Sawfish, and improves Debian packaging scripts (broken at the moment). The following translations were updated: German, Spanish, Czech, Slovenian, and Malay.","created_at":"2011-05-03T16:37:02Z","hidden_from_frontpage":false,"id":331590,"version":"1.8.1","tag_list":["Sawfish","GTK+","Lisp","C","X11"],"approved_at":"2011-05-03T21:18:46Z"}},{"release":{"project":{"permalink":"rep-gtk","name":"rep-gtk","oneliner":"A binding of the GTK+ and GDK to librep.","license_list":["GPL"],"id":8955,"tag_list":["Software Development","User Interfaces"],"description":"rep-gtk is a language-binding between GTK+/GDK and librep. Basic GLib and ATK bindings are included, too. The bindings for outdated, deprecated libraries (libgnome, libgnomeui, libgnomecanvas, and libglade) have been dropped. In favor of libglade, GTKBuilder is supported."},"changelog":"Updated installation paths for changes in librep 0.92.0. Improved Makefile and Debian packaging scripts. Unified gtk and gtk-types modules.","created_at":"2011-05-03T16:34:37Z","hidden_from_frontpage":false,"id":331589,"version":"0.90.6","tag_list":[],"approved_at":"2011-05-03T21:16:41Z"}},{"release":{"project":{"permalink":"librep","name":"librep","oneliner":"A lightweight, embeddable Lisp system.","license_list":["GPL"],"id":5710,"tag_list":["Software Development","Libraries"],"description":"Librep is a shared library implementing a Lisp dialect that is lightweight, reasonably fast, and highly extensible. It contains an interpreter, byte-code compiler, and virtual machine. Applications may use the interpreter as an extension language, or it may be used for standalone scripts. Rep was originally inspired by Emacs Lisp. However one of the main deficiencies of elisp--the reliance on dynamic scope--has been removed. Also, rep only has a single namespace for symbols."},"changelog":"For extra modules, now shared objects are loaded rather than libtoo archives. The architecture and version have been removed from installation paths, and the soname bumped to 16.0.0, thus all packages linking against librep need to be rebuilt. Improved Debian packaging scripts.","created_at":"2011-05-03T16:33:20Z","hidden_from_frontpage":false,"id":331588,"version":"0.92.0","tag_list":["Lisp","Stable"],"approved_at":"2011-05-03T21:15:29Z"}},{"release":{"project":{"permalink":"packetfence","name":"PacketFence","oneliner":"A network access control (NAC) system.","license_list":["GPL"],"id":58826,"tag_list":["Networking","Security","802.1x"],"description":"PacketFence is a fully supported, trusted network access control (NAC) system. It includes a captive portal for registration and remediation, centralized wired and wireless management, 802.1X support, layer-2 isolation of problematic devices, and integration with the Snort IDS and the Nessus vulnerability scanner. It can be used to effectively secure networks, from small to very large heterogeneous networks."},"changelog":"New hardware support (Motorola Wireless, 3Com 4200G, E4800G, and E5500G, and Dlink DGS3100). Easier wireless and 802.1X installation. New reports about the user population (SSID, means of network connection). Much improved and easier device blocking. Easier remediation pages management. A lot of minor polish including easier upgrades, more startup checks, user interface improvements, and more. Finally, important bugfixes: VoIP issues with 802.1X / MAC Auth, Nortel switch regressions, a Meru crasher, and many more minor bugfixes.","created_at":"2011-05-03T16:02:18Z","hidden_from_frontpage":false,"id":331587,"version":"2.2.0","tag_list":["Major","Stable"],"approved_at":"2011-05-03T21:14:34Z"}},{"release":{"project":{"permalink":"rednotebook","name":"RedNotebook","oneliner":"A graphical daily journal with calendar, templates, and keyword searching.","license_list":["GPL","GPLv2"],"id":71169,"tag_list":["Text Editors","Text Processing","Office/Business","Journal","Diary","To-Do List"],"description":"RedNotebook is a graphical diary and journal to keep track of notes and thoughts throughout the day. It includes a calendar navigation, customizable templates for each day, export functionality, and a keyword search and cloud."},"changelog":"This version fixes the insertion of the correct time. Additionally, exports do not contain the \"RedNotebook\" title anymore, allowing for easier custom usage of the exported files. Many translations have been updated.","created_at":"2011-05-03T15:36:23Z","hidden_from_frontpage":false,"id":331586,"version":"1.1.5","tag_list":["Minor feature enhancements"],"approved_at":"2011-05-03T21:13:31Z"}},{"release":{"project":{"permalink":"aura","name":"aura","oneliner":"A desktop background setter with an emphasis on image processing quality.","license_list":["Public Domain"],"id":80428,"tag_list":["Wallpaper","background"],"description":"\"aura\" is a desktop (X root window) background setter. It picks images randomly from specified paths, skipping those that are too small or have inappropriate aspect ratios, and rescales them by cropping solid margins, resizing with cubic interpolation and then the liquid rescale algorithm to fit the desktop with as little quality loss as possible. Images are labelled in the corner using embedded tags. It can changes images on a timed basis or when triggered by SIGHUP or the CLI, and tracks previous and blacklisted images."},"changelog":"Compatibility with python-2.6 and pyexiv2-1.3 (still used on older distributions, like Ubuntu Lucid) was added.\nGnome-friendly background setting via gconf was added.","created_at":"2011-05-03T15:07:54Z","hidden_from_frontpage":false,"id":331585,"version":"1.5","tag_list":["Compatibility","GNOME","GConf"],"approved_at":"2011-05-03T21:12:31Z"}},{"release":{"project":{"permalink":"giada","name":"Giada","oneliner":"A minimal, hardcore loop player for Linux.","license_list":["Freeware"],"id":79343,"tag_list":["loop player","loop machine","loop handler","Audio Player","drum machine","sound","Audio","multimedia"],"description":"Giada is a minimal, hardcore audio tool for DJs and live performers. It can load up to 32 samples, and can play them in single mode (drum machine) or loop mode (sequencer). You can then control a show with your computer keyboard. Giada aims to be a compact and portable virtual device for production use and live sets. "},"changelog":"This version introduces a new open-source patch system, a large number of audio/interface improvements, and several bugfixes.","created_at":"2011-05-03T21:08:50Z","hidden_from_frontpage":false,"id":331599,"version":"0.2.2","tag_list":[],"approved_at":"2011-05-03T21:11:58Z"}},{"release":{"project":{"permalink":"fusioninventory-for-glpi","name":"FusionInventory for GLPI","oneliner":"A GLPI plugin that communicates with a FusionInventory agent.","license_list":["GPLv2"],"id":78808,"tag_list":[],"description":"FusionInventory for GLPI is an extension (plug-in) of GLPI allowing a direct connection with FusionInventory's agents. It provides discovery of the equipment connected to the network, equipment interrogation (inventory) through SNMP, hardware and software inventory of the computer on which an agent is installed, and computer wake-on-LAN. The inventory and wake on LAN module are integrated into the agent. It features an HTTP(S) dialog between the plug-in and agent, can wake the agent from a distance, and allows management of waiting actions (inventory, network discovery, wake on LAN, etc.). It supports SNMP version 1, 2c, and 3, and mapping between SNMP's OID field and GLPI. It can get information from switches and their ports (internal MAC, port speed, number of errors, connection status), printer information, and the state of printer cartridges."},"changelog":"This version is a corrective release that fixes very many bugs regarding inventory and netdiscovery actions. The fields lock system was improved. Data checking of computers was integrated. This version is for GLPI 0.78.x.","created_at":"2011-05-03T06:21:27Z","hidden_from_frontpage":false,"id":331564,"version":"2.3.2","tag_list":[],"approved_at":"2011-05-03T14:32:12Z"}},{"release":{"project":{"permalink":"kronolith","name":"Kronolith","oneliner":"The Horde calendar application.","license_list":["GPL"],"id":28787,"tag_list":["Office/Business","Scheduling","groupware","Web Application"],"description":"Kronolith is the Horde calendar application. It provides a stable and featureful individual calendar system with integrated collaboration and scheduling features. It makes extensive use of the Horde Framework to provide integration with other applications. It implements a solid, stand-alone calendar system, allowing repeating events, all-day events, custom fields, keywords, shared calendars, iCalendar support, generation of free/busy information, and managing multiple users through Horde Authentication. "},"changelog":"Many bugfixes and improvements were made for the task list integration. Further small bugfixes and improvements were made.","created_at":"2011-05-03T14:24:22Z","hidden_from_frontpage":false,"id":331583,"version":"H4 (3.0.2)","tag_list":["Minor bugfixes"],"approved_at":"2011-05-03T14:27:11Z"}},{"release":{"project":{"permalink":"sparselm","name":"sparseLM","oneliner":"Sparse Levenberg-Marquardt nonlinear least squares in C/C++.","license_list":["GPL"],"id":79701,"tag_list":["Scientific/Engineering","Mathematics"],"description":"sparseLM is a software package for efficiently solving arbitrarily sparse non-linear least squares problems. It offers a generic implementation of the Levenberg - Marquardt optimization algorithm on top of a variety of sparse direct solvers, thus being applicable to problems with arbitrary sparseness. sparseLM accepts sparse Jacobians encoded in either compressed row storage (CRS) or compressed column storage (CCS, aka Harwell-Boeing) format. It is also possible to supply it just with the Jacobian's sparsity pattern and have its values be numerically approximated using finite differences, or even instruct it to attempt the automatic detection of the sparsity pattern corresponding to the Jacobian of the function to be minimized. For dense non-linear least squares problems, project levmar is more appropriate."},"changelog":"Various parts of the code were rewritten and cleaned up. Support was added to the matlab MEX interface for expicitly specifying the sparsity structure of an analytic Jacobian.","created_at":"2011-05-03T14:10:43Z","hidden_from_frontpage":false,"id":331582,"version":"1.2","tag_list":[],"approved_at":"2011-05-03T14:26:30Z"}},{"release":{"project":{"permalink":"alpine-linux","name":"Alpine Linux","oneliner":"A security-oriented Linux distribution.","license_list":["GPLv2"],"id":78031,"tag_list":["Linux Distributions","Operating System"],"description":"Alpine Linux is a community developed operating system designed for x86 routers, firewalls, VPNs, VoIP boxes, and servers. It has proactive security features like PaX and SSP, which prevent security holes in the software from being exploited. It is based on uClibc and Busybox."},"changelog":"This release is based on the 2.6.38 kernel branch and has a new x86_64 port and support for SHA512 passwords. The setup scripts have support for LVM. MySQL was upgraded to 5.5. XFCE was upgraded to 4.8. Mozilla Firefox was added. There is also preliminary support for GNOME and Xen dom0.","created_at":"2011-05-03T13:59:33Z","hidden_from_frontpage":false,"id":331581,"version":"2.2.0","tag_list":["stable major"],"approved_at":"2011-05-03T14:25:25Z"}},{"release":{"project":{"permalink":"nag","name":"Nag","oneliner":"The Horde task list manager.","license_list":["GPL"],"id":15312,"tag_list":["Information Management","Office/Business","groupware","todo list","tasks"],"description":"Nag is a Web-based application built upon the Horde Application Framework that provides a simple, clean interface for managing online task lists (i.e. TODO lists). It includes strong integration with the other Horde applications and offers shared task lists."},"changelog":"Small bugfixes and improvements were made.","created_at":"2011-05-03T13:19:40Z","hidden_from_frontpage":false,"id":331580,"version":"H4 (3.0.1)","tag_list":["Minor bugfixes"],"approved_at":"2011-05-03T13:35:09Z"}},{"release":{"project":{"permalink":"turba","name":"Turba","oneliner":"The Horde contact manager.","license_list":["Apache"],"id":19534,"tag_list":["Internet","Web","Dynamic Content","Communications","Email","Address Book","Office/Business","groupware","Database","Front-Ends"],"description":"Turba is the Horde contact management application. It is a production level address book, and makes heavy use of the Horde framework to provide integration with IMP and other Horde applications. It supports SQL, LDAP, Kolab, and IMSP address books."},"changelog":"Small bugs were fixed.","created_at":"2011-05-03T13:14:53Z","hidden_from_frontpage":false,"id":331579,"version":"H4 (3.0.2)","tag_list":["Minor bugfixes"],"approved_at":"2011-05-03T13:19:02Z"}},{"release":{"project":{"permalink":"imp","name":"IMP","oneliner":"A Webmail system based on IMAP.","license_list":["GPL"],"id":4389,"tag_list":["Communications","Email","Email Clients (MUA)"],"description":"IMP, the Internet Messaging Program, allows Web-based access to IMAP and\r\nPOP3 mail servers and provides a range of features normally found only\r\nin desktop email clients.\r\n"},"changelog":"Quick flag filtering was added to traditional view. Small bugfixes and improvements were made.","created_at":"2011-05-03T13:00:39Z","hidden_from_frontpage":false,"id":331578,"version":"H4 (5.0.2)","tag_list":["Minor bugfixes","Minor feature enhancements"],"approved_at":"2011-05-03T13:18:10Z"}},{"release":{"project":{"permalink":"horde","name":"Horde Application Framework","oneliner":"A PHP application framework.","license_list":["LGPL"],"id":4130,"tag_list":["Office/Business","Software Development","Libraries","groupware","php classes"],"description":"The Horde Application Framework is a modular, general-purpose Web application framework. It provides an extensive array of classes that are targeted at the common problems and tasks involved in developing modern Web applications."},"changelog":"Permission checks of guest users on system shares was fixed. Incomplete XSS filtering was fixed. Many small bugfixes and improvements were made.","created_at":"2011-05-03T12:39:34Z","hidden_from_frontpage":false,"id":331576,"version":"4.0.2","tag_list":["Minor bugfixes","Minor security fixes"],"approved_at":"2011-05-03T13:17:03Z"}},{"release":{"project":{"permalink":"thumbnailator","name":"Thumbnailator","oneliner":"A thumbnail generation library for Java with a fluent interface.","license_list":["MIT/X"],"id":79107,"tag_list":["Software Development","Libraries","Image Processing","thumbnails"],"description":"Thumbnailator is a thumbnail generation library with a fluent interface for Java. It simplifies the process of producing thumbnails from existing image files and image objects by providing an API which allows for fine tuning of thumbnail generation, while keeping the amount of code that needs to be written to a minimum."},"changelog":"A new feature has been added to create thumbnails from a select portion of the source image rather than the entire image.","created_at":"2011-05-03T12:55:38Z","hidden_from_frontpage":false,"id":331577,"version":"0.3.4","tag_list":["Minor"],"approved_at":"2011-05-03T13:12:12Z"}},{"release":{"project":{"permalink":"noc","name":"NOC","oneliner":"A Network Operation Center's Operation Support System.","license_list":["BSD Revised"],"id":71370,"tag_list":["Systems Administration","Internet","Networking","Monitoring","Database","Python","Quality Assurance","IPAM"],"description":"NOC Project is an Operation Support System (OSS) for telecom companies, service providers, and enterprise Network Operation Centers (NOC). Areas covered by NOC include fault management, performance management, service activation/provisioning, knowledge base, multi-VRF address space management (IPAM), multi-vendor configuration management, DNS provisioning, peering management, RPSL and BGP filter generation, and reporting."},"changelog":"This release introduces more improvements in the Service Activation area. Among them are SA sharding for additional horizontal scalability, WRR load balancing in activator pools, per-object concurrent script limits, command snippets, and script output templating. This release also introduces initial support for ZTE ZXR10 platform.","created_at":"2011-05-03T12:23:53Z","hidden_from_frontpage":false,"id":331575,"version":"0.6.4","tag_list":[],"approved_at":"2011-05-03T13:11:44Z"}},{"release":{"project":{"permalink":"stunnel","name":"stunnel","oneliner":"An SSL encryption wrapper.","license_list":["GPLv2","Commercial"],"id":10059,"tag_list":["Security","Cryptography","Internet","Proxy Servers","Networking"],"description":"The stunnel program is designed to work as an SSL encryption wrapper between remote client and local (inetd-startable) or remote server. It can be used to add SSL functionality to commonly used inetd daemons like POP2, POP3, and IMAP servers without any changes in the programs' code. It will negotiate an SSL connection using the OpenSSL or SSLeay libraries. It calls the underlying crypto libraries, so stunnel supports whatever cryptographic algorithms you compiled into your crypto package."},"changelog":"Win32 OpenSSL DLLs were updated to version 1.0.0d. Dynamic memory was introduced for management of string manipulation in order to prevent a static STRLEN limit and to lower stack footprint. Strict public key comparison was added for \"verify = 3\" certificate checking mode. Backlog parameter of listen(2) was changed from 5 to SOMAXCONN to improve behavior on heavy load. A number of bugs were fixed, including a memory leak and some Mac OS X compatibility fixes.","created_at":"2011-05-03T11:53:53Z","hidden_from_frontpage":false,"id":331574,"version":"4.36","tag_list":["Major bugfixes"],"approved_at":"2011-05-03T13:10:47Z"}},{"release":{"project":{"permalink":"darkhttpd","name":"darkhttpd","oneliner":"A lightweight static Web server.","license_list":["BSD Revised"],"id":51588,"tag_list":["Internet","Web","HTTP Servers"],"description":"darkhttpd is a secure, lightweight, fast,\r\nsingle-threaded HTTP/1.1 server for static\r\ncontent.\r\n"},"changelog":"Large file support on 32-bit Linux and some minor bugs were fixed.","created_at":"2011-05-03T11:52:57Z","hidden_from_frontpage":false,"id":331573,"version":"1.8","tag_list":[],"approved_at":"2011-05-03T13:06:25Z"}},{"release":{"project":{"permalink":"ac-archive","name":"GNU Autoconf Macro Archive","oneliner":"Documented and tested macros for GNU Autoconf.","license_list":["GPLv3+"],"id":17536,"tag_list":["Software Development","Build Tools"],"description":"The GNU Autoconf Archive is a collection of more than 450 macros for GNU Autoconf. They can be re-used without imposing any restrictions on the licensing of the generated configure script. In particular, it is possible to use them in configure scripts that are meant for non-free software."},"changelog":"Various bugs were fixed and new additions were made.","created_at":"2011-05-03T11:12:52Z","hidden_from_frontpage":false,"id":331571,"version":"2011.04.12","tag_list":["Stable"],"approved_at":"2011-05-03T13:04:05Z"}},{"release":{"project":{"permalink":"pulse","name":"pulse","oneliner":"A continuous integration server.","license_list":["Proprietary"],"id":59792,"tag_list":["Software Development","Build Tools","Quality Assurance","Testing"],"description":"Pulse is a continuous integration server (or build server) designed to be easy to use while offering powerful features. It regularly checks your source code out from your SCM, builds your projects, and notifies you of the results. Key features include simple setup and administration using an AJAX-powered Web UI, adaptability to existing environments, distributed building, personal builds (test using Pulse before committing), and individual developer dashboards and notification preferences."},"changelog":"This is a stable build in the 2.3 series. Changes include filtering of duplicate agent synchronization messages and support for disabled tests in the Google Test post-processor.","created_at":"2011-05-03T11:49:56Z","hidden_from_frontpage":false,"id":331572,"version":"2.3.9","tag_list":["Stable"],"approved_at":"2011-05-03T12:59:56Z"}},{"release":{"project":{"permalink":"fehashmac","name":"FEHASHMAC","oneliner":"A hash and HMAC command line tool.","license_list":["GPLv3"],"id":80870,"tag_list":["Command Line Tools","hash","hmac"],"description":"FEHASHMAC is a collection of publicly known hash algorithms integrated into a command-line utility. Currently 42 hash algorithms belonging to 12 algorithm families are supported, including the five SHA-3 finalist contributions, plus HMAC for each algorithm. FEHASHMAC contains a set of over 540 known test vectors and results for each algorithm such that the correct implementation for each hardware platform and compiler version can be directly verified. FEHASHMAC supports bitwise hash calculation for algorithms with available bitwise test vectors. Currently this applies to the SHA algorithms: sha1, sha224, sha256, sha384, sha512, and to the five SHA-3 finalists. The so-called Gillogly bitwise input has only been tested for sha1, but is also implemented in the SHA-2 hashes. Bitwise hash calculation is also supported in sha512-224, sha512-256, and whirl, but there are no bitwise test vectors available. FEHASHMAC can also calculate hashed message authentication codes (HMAC)."},"changelog":"Support was added for all SHA-3 finalists: BLAKE, GROESTL, JH, KECCAK, SKEIN for 224, 256, 384, and 512 bit hash lengths, and SKEIN also for 1024 bits. They all support bitwise operation, and bitwise test vectors are included (taken from the SHA-3 submissions). HMAC support was upgraded to FIPS PUB 198-1 (2008). HMAC test vectors were added for SHA{224, 256, 384, 512}, MD5, SHA1, RMD128, and RMD160. The list of algorithms is now sorted alphabetically.","created_at":"2011-05-03T09:48:41Z","hidden_from_frontpage":false,"id":331570,"version":"1.1.6","tag_list":["Stable"],"approved_at":"2011-05-03T12:58:13Z"}},{"release":{"project":{"permalink":"glpi","name":"GLPI","oneliner":"An inventory and tracking system for technical resources maintenance management.","license_list":["GPLv2"],"id":52445,"tag_list":["Systems Administration","Information Management","Issue Tracking"],"description":"GLPI (Gestion Libre de Parc Informatique) is an\r\ninformation resource manager with an\r\nadministration interface. You can use it to build\r\na database with an inventory for your company\r\n(computers, software, printers, etc.). It has\r\nfunctions to make the daily life of the\r\nadministrators easier, including a job/request\r\ntracking system with mail notification and methods\r\nto build a database with basic information about\r\nyour network topology. It provides a precise\r\ninventory of all the technical resources (all\r\ntheir characteristics are stored in a database)\r\nand management and history of the maintenance\r\nactions and the bound procedures. It is dynamic\r\nand is directly connected to the users, who can\r\npost requests to the technicians. \r\n"},"changelog":"Several minor bugfixes.","created_at":"2011-05-03T08:46:27Z","hidden_from_frontpage":false,"id":331567,"version":"0.80 Release Candidate 3","tag_list":[],"approved_at":"2011-05-03T09:54:05Z"}},{"release":{"project":{"permalink":"clive","name":"clive","oneliner":"A tool for extracting videos from YouTube and Google Video.","license_list":["GPLv3"],"id":63237,"tag_list":["multimedia","Video"],"description":"clive is a command line utility for extracting videos from Youtube and other video sharing Web sites. It was originally written to bypass the Adobe Flash requirement needed to view the hosted videos."},"changelog":"Support for reading input from files was added.","created_at":"2011-05-03T08:04:40Z","hidden_from_frontpage":false,"id":331566,"version":"2.3.0.3","tag_list":["Stable","2.3"],"approved_at":"2011-05-03T09:53:53Z"}},{"release":{"project":{"permalink":"webadm-2","name":"RCDevs WebADM","oneliner":"An LDAP management interface.","license_list":["Freeware"],"id":76935,"tag_list":["LDAP","Web based IDE","Security"],"description":"RCDevs WebADM is Web-based LDAP administration software designed for professionals to manage LDAP organization resources such as domain users and groups. WebADM is also a core framework component and management console for RCDevs SOAP-based Web Services (e.g. OpenOTP, OpenID, and OpenPKI) and for the related end-user WebApps (e.g. User Self Service Desk). It provides a hierarchical view of LDAP organizations, SQL audit trails, and powerful LDAP management features. It includes delegated administration and fine-grained access control to LDAP resources; administrators can be created at different levels of the tree structure, with different privileges and views. WebADM is compatible with Novell eDirectory, OpenLDAP, and Microsoft Active Directory (Windows Server 2008)."},"changelog":"This release fixed an issue with LDAP DNs containing special characters and a display bug in the user application settings editor. An Alert SQL log was added (please update your conf/database.conf file). WebApp user sessions are now fully encrypted in the session manager. Sensitive configurations are now encrypted in the local shared memory cache. Status of LDAP configurations was added to the home page. A log file viewer was added for HTTPd and SOAPd logs (in the Database menu). WebADM Client objects support was added for Trust Domains. The display of WebApps and Web Services was ordered.","created_at":"2011-05-03T08:46:55Z","hidden_from_frontpage":false,"id":331568,"version":"1.1.1","tag_list":[],"approved_at":"2011-05-03T09:53:17Z"}},{"release":{"project":{"permalink":"webgui","name":"WebGUI","oneliner":"A fully featured mod_perl content management system.","license_list":["GPL"],"id":16764,"tag_list":["Internet","Web","Dynamic Content","Site Management","Office/Business","Software Development","Libraries","Application Frameworks","Widget Sets"],"description":"WebGUI is a content management framework built to\r\nallow average business users to build and maintain\r\ncomplex Web sites. It is modular, pluggable, and\r\nplatform independent. It was designed to allow the\r\npeople who create the content to manage it online,\r\nrather than content management taking up the time\r\nof busy IT staff. WebGUI comes with a full host of\r\nfeatures including shopping cart, subscriptions,\r\nforums, photo galleries, FAQs, link lists, blogs,\r\nSQL reports, a Web services interface, and a very\r\nconfigurable user privilege and profiling system.\r\n"},"changelog":"This beta release contains fixes for the Thingy, User profile fields, Calendar iCal feeds, Gallery, and the Map. New features in this release include geocoding for points in the Map, making Things in the Thingy searchable, and a new macro that allows you to display Thing data outside of the Thingy. Geo::Coder::Googlev3 is now a dependency for the Map asset.","created_at":"2011-05-03T03:27:09Z","hidden_from_frontpage":false,"id":331563,"version":"7.10.15","tag_list":["Beta"],"approved_at":"2011-05-03T05:04:02Z"}},{"release":{"project":{"permalink":"meta1","name":"MeTA1","oneliner":"A message transfer agent.","license_list":[],"id":62046,"tag_list":[],"description":"MeTA1 is a modularized message transfer agent (MTA)\r\nconsisting of five (or more) persistent processes,\r\nfour of which are multi-threaded. A queue manager\r\ncontrols SMTP servers and SMTP clients to receive\r\nand send email messages, an address resolver\r\nprovides lookups in various maps (including DNS)\r\nfor mail routing, and a main control program\r\nstarts the other processes and watches over their\r\nexecution. The queue manager organizes the flow of\r\nmessages through the system and provides measures\r\nto avoid overloading the local or remote systems\r\nby implementing a central control instance. It is\r\nsimple to configure using a C-like syntax and is\r\nsecure and efficient."},"changelog":"This version adds the user_realm option to the auth subsection for smtps and includes some minor enhancements.","created_at":"2011-05-03T03:10:42Z","hidden_from_frontpage":false,"id":331562,"version":"1.0.Alpha1.0","tag_list":[],"approved_at":"2011-05-03T05:03:11Z"}},{"release":{"project":{"permalink":"groupserver","name":"GroupServer","oneliner":"A Web-based mailing list manager and collaboration server.","license_list":["GPL"],"id":54244,"tag_list":["Communications","Email","Mailing List Servers","File Sharing","Internet","Web","Site Management","Office/Business","groupware","Text Processing","Markup","XML","XSL/XSLT","Collaboration"],"description":"GroupServer is a Web-based mailing list manager designed for large sites. It provides email interaction like a traditional mailing list manager but also supports reading, searching, and posting of messages and files via the Web. Users have forum-style profiles, and can manage their email addresses and other settings using the same Web interface. It has supports features such as Atom feeds, a basic CMS, statistics, multiple verified addresses per user, and bounce detection, and is able to be heavily customized."},"changelog":"Support for post hiding and assorted bugfixes.","created_at":"2011-05-03T02:58:19Z","hidden_from_frontpage":false,"id":331561,"version":"11.04","tag_list":["UI","Minor"],"approved_at":"2011-05-03T03:02:35Z"}},{"release":{"project":{"permalink":"python-sudoku-solver","name":"Python Sudoku Solver","oneliner":"A simple Python Sudoku solver.","license_list":["GPLv3"],"id":80917,"tag_list":["Sudoku","Python","curses"],"description":"Python Sudoku Solver takes a Sudoku unsolved puzzle, e.g. read from some text file, and tries to solve it. It uses Python curses to display a very simple UI."},"changelog":"Initial release.","created_at":"2011-05-02T22:13:38Z","hidden_from_frontpage":false,"id":331559,"version":"0.1","tag_list":[],"approved_at":"2011-05-02T22:15:36Z"}},{"release":{"project":{"permalink":"ccfe","name":"Curses Command Front-end","oneliner":"A curses-based command front-end.","license_list":["GPLv2"],"id":80266,"tag_list":["Utilities","System Administration","Unix Shell","User Interfaces","ncurses","curses","menu","form","scripting enhancements","front-end"],"description":"CCFE is a simple tool to quickly supply an interactive screen-oriented interface to command line scripts and commands. It prompts users for the information needed to run the commands, and can be programmed with your preferred shell to provide predefined selections and run-time defaults. It also provides a menu system to hierarchically organize them and a viewer to browse the standard output and standard error of invoked scripts or commands."},"changelog":"A bug was fixed: sometimes cwd was not correct when executing scripts located in the $HOME/.ccfe subdirectory. Some minor changes were made to the ccfe(1) manual page.","created_at":"2011-05-02T22:05:27Z","hidden_from_frontpage":false,"id":331558,"version":"1.50","tag_list":["Minor"],"approved_at":"2011-05-02T22:09:16Z"}},{"release":{"project":{"permalink":"visit","name":"VisIt","oneliner":"Software for scientific visualization and analysis.","license_list":[],"id":49351,"tag_list":["Scientific/Engineering","Visualization","Mathematics","multimedia","Graphics","3D Rendering"],"description":"VisIt is an interactive parallel visualization and\r\ngraphical analysis tool for viewing scientific\r\ndata. Users can quickly generate visualizations\r\nfrom their data, animate them through time,\r\nmanipulate them, and save the resulting images for\r\npresentations. VisIt contains a rich set of\r\nvisualization features so that you can view your\r\ndata in a variety of ways. It can be used to\r\nvisualize scalar and vector fields defined on two-\r\nand three-dimensional (2D and 3D) structured and\r\nunstructured meshes. It was designed to\r\ninteractively handle very large data set sizes in\r\nthe terascale range, and works well down to small\r\ndata sets in the kilobyte range."},"changelog":"This version is primarily a bugfix release and resolves outstanding issues in several VisIt database readers, including ParaDIS, Miranda, and EnSight.","created_at":"2011-05-02T18:33:33Z","hidden_from_frontpage":false,"id":331549,"version":"2.2.2","tag_list":[],"approved_at":"2011-05-02T22:08:05Z"}},{"release":{"project":{"permalink":"aphpkb","name":"Andy's PHP Knowledgebase","oneliner":"A Web-based knowledge base application.","license_list":["GPL"],"id":48242,"tag_list":[],"description":"Andy's PHP Knowledgebase is a database-driven knowledge base management system. It features bookmark friendly URLs, easy search with browsing with article tags, article submission, and a professional and attractive interface. It is intended to be used to store, manage, and update article content for a knowledge base, but is very customizable and enables any number of creative uses."},"changelog":"This release includes improvements and fixes for the question and answer feature, as well as the removal of the legacy PDF plugin.","created_at":"2011-05-02T18:58:45Z","hidden_from_frontpage":false,"id":331550,"version":"0.95.5","tag_list":[],"approved_at":"2011-05-02T21:59:47Z"}},{"release":{"project":{"permalink":"pf-patchset","name":"pf-kernel","oneliner":"A Linux kernel fork with new features.","license_list":["GPLv2"],"id":75297,"tag_list":["Linux","kernel","fork"],"description":"pf-kernel is a fork of the Linux kernel. It provides useful features that are not merged into the mainline, such as the bfs scheduler and tuxonice."},"changelog":"The kernel has been updated to version 2.6.38.5.","created_at":"2011-05-02T19:52:55Z","hidden_from_frontpage":false,"id":331551,"version":"2.6.38-pf7","tag_list":["Minor bugfixes"],"approved_at":"2011-05-02T21:59:26Z"}},{"release":{"project":{"permalink":"pepper","name":"pepper","oneliner":"An SCM statistics report generator.","license_list":["GPLv3"],"id":79824,"tag_list":["SCM","Statistics","git","Subversion","Reports","mercurial","Repository","Version Control"],"description":"pepper is a flexible command-line tool for retrieving statistics and generating reports from source code repositories. It ships with several graphical and textual reports, and is easily extendable using the Lua scripting language. pepper includes support for multiple version control systems, including Git and Subversion."},"changelog":"This release greatly improves the performance of the Git backend and adds two built-in report scripts.","created_at":"2011-05-02T21:02:22Z","hidden_from_frontpage":false,"id":331556,"version":"0.2.2","tag_list":["features"],"approved_at":"2011-05-02T21:59:11Z"}},{"release":{"project":{"permalink":"lilith-viewer","name":"Lilith Logback event viewer","oneliner":"A logging and access event viewer for Logback.","license_list":["GPLv3","LGPL"],"id":71799,"tag_list":["Software Development","Logging","Networking","Monitoring"],"description":"Lilith is a logging and access event viewer for\r\nthe Logback logging framework. It has features\r\ncomparable to Chainsaw, a logging event viewer for\r\nlog4j. This means that it can receive logging\r\nevents from remote applications using Logback as\r\ntheir logging backend. It uses files to buffer the\r\nreceived events locally, so it is possible to keep\r\nvast amounts of logging events at your fingertip\r\nwhile still being able to check only the ones you\r\nare really interested in by using filtering\r\nconditions."},"changelog":"This is an interim release because of a rather critical bug. Webapps using a ClassicMultiplexSocketAppender would not undeploy properly because of a dangling classloader. The original intent was to wait for Logback 0.9.29 due to the issues with 0.9.28 described in \"Known Issues\", but an ETA for the next release was unavailable.","created_at":"2011-05-02T21:29:47Z","hidden_from_frontpage":false,"id":331557,"version":"0.9.41","tag_list":[],"approved_at":"2011-05-02T21:58:50Z"}},{"release":{"project":{"permalink":"fotoxx","name":"Fotoxx","oneliner":"A photo editing and collection management application.","license_list":["GPLv3"],"id":66472,"tag_list":["multimedia","Graphics","Viewers","Editors","Raster-Based"],"description":"Fotoxx lets you navigate an image collection using a thumbnail browser and choose images to view or edit. Edit functions include brightness, contrast, color, white balance, tone mapping, red-eyes, sharpen, blur, noise suppression, smart erase, trim, resize, rotate, annotate, warp, art effects, HDR, HDF, stack, and panorama. Edit functions use movable curves and sliders. Feedback is live, using the whole image, with unlimited undo and redo. RAW files can be imported and edited with 16-bit color depth. Areas or objects can be selected using freehand draw, follow edge, and tone matching. Selections can be edited with adjustable blending. Selections can be cut and paste. You can add tags, dates, comments, captions, and ratings to images, and you can search using these criteria as well as file names. You can also define named collections of images, make slide shows, and view and edit metadata (EXIF etc.). Batch processing is available for rename, resize/export, CD/DVD burn, and add/delete tags."},"changelog":"A new function was added to remove the dark spots on images made from dusty slides. Named image collections are easier to manage: images can be added, removed, and rearranged by clicking images on a thumbnail gallery. The trim (crop) function better handles zoom and scroll, and a desired image size can be input directly in addition to the mouse drag method. Smart Erase was made faster (significant for slow computers). Select Area edge distance calculations for hairy edges was made over 2x faster. Two minor bugs were fixed.","created_at":"2011-05-02T20:55:29Z","hidden_from_frontpage":false,"id":331554,"version":"11.05.1","tag_list":["feature additions","Bugfixes"],"approved_at":"2011-05-02T21:00:38Z"}},{"release":{"project":{"permalink":"eero","name":"Eero","oneliner":"A dialect of Objective-C, implemented using Clang/LLVM.","license_list":["University of Illinois/NCSA Open Source License"],"id":80181,"tag_list":["Software Development","Compilers","programming languages","programming language"],"description":"Eero is a binary-compatible variant of Objective-C 2.0, implemented with a patched version of the Clang/LLVM compiler. It features a streamlined syntax with improved readability and reduced code clutter, as well as new features such as Python-like indentation and a limited form of operator overloading. It is inspired by languages such as Smalltalk and Ruby."},"changelog":"Alpha release. Preliminary testing has been performed for iPhone and iPad simulators.","created_at":"2011-05-02T20:55:44Z","hidden_from_frontpage":false,"id":331555,"version":"2011-05-02","tag_list":["Alpha"],"approved_at":"2011-05-02T20:58:48Z"}},{"release":{"project":{"permalink":"tinycorelinux","name":"Tiny Core Linux","oneliner":"A Linux GUI desktop in 10 MB.","license_list":["GPLv2"],"id":71561,"tag_list":["Linux","Busybox","FLTK"],"description":"Tiny Core Linux is a very small (10 MB) minimal\nLinux desktop. It is based on the Linux 2.6\nkernel, Busybox, Tiny X, Fltk, and Flwm. The core\nruns entirely in RAM and boots very quickly. The\nuser has complete control over which applications\nand/or additional hardware to have supported, be\nit for a desktop, a nettop, an appliance, or\nserver, selectable from the online repository."},"changelog":"A much improved Tiny Core Installer, now offering a GUI for both USB and frugal hard drives. An updated critical system module, squashfs. Many updates to improve error handling, large files, and auditing/updating the extensions. Many user interface improvements and additional supported options in: ab, appbrowser, appsaudit, cpanel, flrun, fluff, mousetool, tc-install, tce-load, and wallpaper.","created_at":"2011-05-02T18:03:41Z","hidden_from_frontpage":false,"id":331546,"version":"3.6","tag_list":[],"approved_at":"2011-05-02T20:57:27Z"}},{"release":{"project":{"permalink":"s3d_","name":"s3d","oneliner":"A 3D network display server which can be used as a 3D desktop environment.","license_list":["GPL","LGPL"],"id":59221,"tag_list":["Desktop Environment","Window Manager","multimedia","Graphics","3D Rendering","Networking","Monitoring"],"description":"s3d is a 3D network display server which can be\r\nused as a 3D desktop environment.\r\n"},"changelog":"Generates documentation from source code. Allows pseudo-global optimizations for each module using -DENABLE_FINAL=ON as a cmake parameter. Supports batman-adv visualization output and IPv6 addresses in meshs3d. Adds better support for libraries in unusual places using pkg-config. Support of systems with unusual named OpenGL headers through SDL. Depends on libgps 2.90 for s3dosm GPS support, as it is the first version with longer binary and API stability. Removes BSD PTY support in favor of Unix98 PTYs for s3dvt. Support to build s3d as a position independent executable.","created_at":"2011-05-02T20:11:18Z","hidden_from_frontpage":false,"id":331552,"version":"0.2.2","tag_list":[],"approved_at":"2011-05-02T20:56:24Z"}},{"release":{"project":{"permalink":"kitcreator","name":"KitCreator","oneliner":"A simple build system for creating a Tclkit.","license_list":["MIT"],"id":79004,"tag_list":["Tcl"],"description":"KitCreator is a simple build system for creating a Tclkit. It was created to ease creation of Tclkits. A Tclkit is, briefly, a single-file executable that contains Tcl (both the interpreter and all the resources it requires to operate) and other Tcl-related packages (such as Tk or Incr Tcl)."},"changelog":"This release moves Tcl (and packages that are included in a release) and Tk \"CVS\" downloads to be pulled from Fossil on \"core.tcl.tk\". It fixes various KitDLL related issues.","created_at":"2011-05-02T17:00:55Z","hidden_from_frontpage":false,"id":331545,"version":"0.5.4","tag_list":["Minor bugfixes"],"approved_at":"2011-05-02T20:54:41Z"}},{"release":{"project":{"permalink":"oddjob","name":"Oddjob","oneliner":"A Java job scheduler and job toolkit.","license_list":["Apache 2.0"],"id":45808,"tag_list":[],"description":"Oddjob is a Java job scheduler and job toolkit. A GUI Designer or XML are used to define a hierarchy of jobs. Sequential, parallel, and conditional execution (or combinations) allow for nearly any business process to be modelled by the hierarchy. It can run on the desktop or on a server and uses JMX to control remote instances via an Explorer-style GUI. Basic Web-based monitoring is also available. It can be embedded in client code and is easily extendable via a simple API.\r\n"},"changelog":"Adoption of the international date standard ISO 8601 for all configurations. An input handler for prompting for user input. An improved Reference Guide including many more examples.","created_at":"2011-05-02T20:33:05Z","hidden_from_frontpage":false,"id":331553,"version":"0.30.0","tag_list":[],"approved_at":"2011-05-02T20:53:47Z"}},{"release":{"project":{"permalink":"tcpdf","name":"TCPDF","oneliner":"A PHP class for generating PDF documents.","license_list":["LGPL"],"id":60574,"tag_list":["Software Development","Libraries","php classes","Text Processing"],"description":"TCPDF is a PHP class for generating PDF documents\nwithout requiring external extensions. TCPDF\nsupports all ISO page formats and custom page\nformats, custom margins and units of measure,\nUTF-8 Unicode, RTL languages, HTML, barcodes,\nTrueTypeUnicode, TrueType, OpenType, Type1, and\nCID-0 fonts, images, graphic functions, clipping,\nbookmarks, JavaScript, forms, page compression, digital signatures, and encryption."},"changelog":"This version fixes an HTML header alignment problem.","created_at":"2011-05-02T16:49:00Z","hidden_from_frontpage":false,"id":331544,"version":"5.9.075","tag_list":[],"approved_at":"2011-05-02T20:52:46Z"}},{"release":{"project":{"permalink":"crosstool-ng","name":"crosstool-NG","oneliner":"A (cross-)toolchain generator.","license_list":["GPLv2"],"id":65174,"tag_list":["Software Development","Embedded Systems","Compilers"],"description":"crosstool-NG is a versatile toolchain generator,\r\naiming at being highly configurable. It supports\r\nmultiple target architectures, different\r\ncomponents (glibc/uClibc...) and versions.\r\ncrosstool-NG also features debugging utilities\r\n(DUMA, strace...) and generation tools\r\n(sstrip...).\r\n"},"changelog":"This release fixes a blocking bug when stripping the toolchain.","created_at":"2011-05-02T16:24:08Z","hidden_from_frontpage":false,"id":331543,"version":"1.11.1","tag_list":["Major bugfixes"],"approved_at":"2011-05-02T20:51:59Z"}},{"release":{"project":{"permalink":"free-sa","name":"Free-SA","oneliner":"A processor (statistic analyzer) for daemons' log files, similar to SARG.","license_list":["GPLv3"],"id":63909,"tag_list":["Internet","Log Analysis"],"description":"Free-SA is tool for statistical analysis of daemons' log files, similar to SARG. Its main advantages over SARG are much better speed (7x-20x), more support for reports, and W3C compliance of generated HTML/CSS reports. It can be used to help control traffic usage, to control Internet access security policies, to investigate security incidents, to evaluate server efficiency, and to detect troubles with configuration."},"changelog":"Multiple new options for many customizable SVG graphics reports were added. New options 'users_excess' and 'users_excess_limit' were added for generating a plain text report file with users exceeding the specified limit. W3C standards conformance has been defined more precisely, and includes the standard's version number.","created_at":"2011-05-02T16:06:15Z","hidden_from_frontpage":false,"id":331542,"version":"2.0.0b4p6","tag_list":["Major feature enhancements"],"approved_at":"2011-05-02T20:51:15Z"}},{"release":{"project":{"permalink":"mailsteward","name":"MailSteward","oneliner":"A way to archive and access your email with the power of a relational database.","license_list":[],"id":53502,"tag_list":["Utilities","Archiving","Office/Business","Information Management","Communications","Email"],"description":"MailSteward will archive all of your email in a\r\ndatabase for easy retrieval, without touching or\r\nmodifying the email in your email client program.\r\nJust click on the Store Email in Database button\r\nand MailSteward will go to work storing copies of\r\nall your email, both text and HTML versions, and\r\nattachments, into a relational database file. You\r\ncan then retrieve email and attachments from the\r\ndatabase by searching on Date, From, To, Subject,\r\nMailbox, or Body text.\r\n"},"changelog":"There are separate check boxes for archiving trash and junk mailboxes in the general settings. There is a new feature to log duplicate messages that were skipped during archiving. Stores an entire mailbox path in the database instead of just the last two folders. A fix for a bug that in rare instances caused the email body to be tacked on to the CC: addresses. A tagging feature has been added to MailSteward Lite.","created_at":"2011-05-02T15:50:55Z","hidden_from_frontpage":false,"id":331541,"version":"9.0.7","tag_list":[],"approved_at":"2011-05-02T20:50:14Z"}},{"release":{"project":{"permalink":"scipy-notebook","name":"SciPy Notebook","oneliner":"A notebook-style editor to hack Python.","license_list":["GPLv2 or later"],"id":80882,"tag_list":["Python","Editor","notebook"],"description":"SciPy Notebook is a notebook-style editor to hack Python with the comfort of an editor and the interactivity of a console."},"changelog":"This release fixes a nasty bug with the scrolling of the notebook, and there are now proper packages for the major Linux distributions available.","created_at":"2011-05-02T14:55:26Z","hidden_from_frontpage":false,"id":331539,"version":"0.2.1","tag_list":[],"approved_at":"2011-05-02T20:48:15Z"}},{"release":{"project":{"permalink":"mirror-c-reflection-library","name":"Mirror C++ reflection library","oneliner":"A compile-time/run-time reflection utility for C++.","license_list":["Boost Software License"],"id":80259,"tag_list":["C++","C++0x","Library","reflection","introspection","meta-data"],"description":"The Mirror C++ reflection library provides both compile-time and run-time meta-data describing common C++ program constructs like namespaces, types, enumerations, classes, their base classes and member variables, constructors, etc. and provides generic interfaces for their introspection. It also provides several high-level utilities based on the reflected meta-data like a factory generator, which generates, at compile-time, implementations of object factories which can create instances of arbitrary 'reflectable' type."},"changelog":"Support for compile-time container reflection was added. The meta_object_kind template for more flexible meta-object categorization was added. Several bugs and pedantic warnings were fixed. The documentation has been updated. Other minor changes were made.","created_at":"2011-05-02T15:49:19Z","hidden_from_frontpage":false,"id":331540,"version":"0.5.9","tag_list":[],"approved_at":"2011-05-02T16:57:09Z"}},{"release":{"project":{"permalink":"tor","name":"Tor","oneliner":"An anonymous Internet communication system.","license_list":["BSD Revised"],"id":52766,"tag_list":["Internet","Proxy Servers","Communications","Security","Networking","Utilities"],"description":"Tor is a network of virtual tunnels that allows people and \r\ngroups to improve their privacy and security on the Internet. \r\nIt also enables software developers to create new \r\ncommunication tools with built-in privacy features. It \r\nprovides the foundation for a range of applications that allow \r\norganizations and individuals to share information over \r\npublic networks without compromising their privacy. \r\nIndividuals can use it to keep remote Websites from tracking \r\nthem and their family members. They can also use it to \r\nconnect to resources such as news sites or instant \r\nmessaging services that are blocked by their local Internet \r\nservice providers (ISPs). "},"changelog":"This release fixes many bugs. Hidden service clients are more robust. Routers no longer over-report their bandwidth. Win7 should crash a little less. NEWNYM now prevents hidden service-related activity from being linkable. The Entry/Exit/ExcludeNodes and StrictNodes configuration options were revamped to make them more reliable, more understandable, and more regularly applied.","created_at":"2011-05-02T13:33:51Z","hidden_from_frontpage":false,"id":331538,"version":"0.2.2.25-alpha","tag_list":["Unstable","Bugfixes"],"approved_at":"2011-05-02T14:00:33Z"}},{"release":{"project":{"permalink":"bird","name":"BIRD","oneliner":"A daemon for dynamic routing of IP and IPv6","license_list":["GPL"],"id":759,"tag_list":["Internet","Networking"],"description":"BIRD is a dynamic routing daemon for UNIX-like systems. It should support all routing protocols used in the contemporary Internet, such as BGP, OSPF, RIP, and their IPv6 variants. It also features a very flexible configuration mechanism, and a route filtering language."},"changelog":"The Linux kernel route attributes krt_prefsrc and krt_realm were added. The BGP option \"med metric\" related to MED handling was added. Constants from /etc/iproute2/rt_* files may now be used. Several bugs were fixed.","created_at":"2011-05-02T12:22:04Z","hidden_from_frontpage":false,"id":331537,"version":"1.3.1","tag_list":[],"approved_at":"2011-05-02T13:58:18Z"}},{"release":{"project":{"permalink":"pyqt","name":"PyQt","oneliner":"Python bindings for the Qt GUI toolkit","license_list":["GPL"],"id":8555,"tag_list":["Software Development","Widget Sets"],"description":"PyQt is a comprehensive set of Python bindings for the Qt GUI toolkit. "},"changelog":"Support was added for Qt v4.7.2. QObject.findChild() and QObject.findChildren() now allow a tuple of type objects as well as a single type argument so that children of a number of types may be found. Support for QCommonStyle was added. Limited support for setEventFilter() and filterEvent() was added to QAbstractEventDispatcher. Support for setAttributeArray() was added to QGLShaderProgram. pyrcc4 will now compress by default to match the behavior of rcc. QTouchEventSequence was removed, as its C++ API makes it impossible to be used from Python.","created_at":"2011-05-02T11:40:33Z","hidden_from_frontpage":false,"id":331535,"version":"4.8.4","tag_list":[],"approved_at":"2011-05-02T13:56:36Z"}},{"release":{"project":{"permalink":"chakra-linux","name":"Chakra Linux","oneliner":"A Linux distribution that combines the simplicity of Arch Linux with KDE.","license_list":["GPL","GPLv2","GPLv3","LGPL","MIT/X"],"id":80914,"tag_list":["Linux Distributions","Operating Systems","KDE","Desktop Environment"],"description":"Chakra Linux is a Linux distribution that combines the simplicity of Arch Linux with KDE. It is fast, user-friendly, and extremely powerful. It can be used as a live CD or installed to hard disk. Chakra is currently under heavy and active development. It features a graphical installer and automatic hardware configuration. Chakra provides a modular and tweaked package set of the KDE Software Compilation with a lot of useful additions. It features the concept of half-rolling releases and freshly cooked packages and bundles. It is designed for people who really want to learn something about Linux or don't want to deal with administrative overhead."},"changelog":"Linux kernel 2.6.38.4 was added, and lots of package updates were made. KDE was updated to version 4.6.2.","created_at":"2011-05-02T12:07:42Z","hidden_from_frontpage":false,"id":331536,"version":"2011.04","tag_list":["Stable","Major feature enhancements"],"approved_at":"2011-05-02T13:55:04Z"}},{"release":{"project":{"permalink":"python-sip","name":"Python-SIP","oneliner":"A tool to generate Python bindings from C++ code.","license_list":["Python"],"id":8585,"tag_list":["Software Development","Code Generators"],"description":"SIP is a tool to generate C++ interface code for Python. It is similar to SWIG, but uses a different interface format. It was used to build PyQt and PyKDE, and has support for the Qt signal/slot mechanism."},"changelog":"/KeepReference/ is now supported as a function annotation. Handwritten code in class templates no longer has the types substituted in lines that appear to contain C preprocessor directives. Support for global inplace numeric operators was added.","created_at":"2011-05-02T11:36:37Z","hidden_from_frontpage":false,"id":331534,"version":"4.12.2","tag_list":[],"approved_at":"2011-05-02T13:46:39Z"}},{"release":{"project":{"permalink":"treefrog-framework","name":"TreeFrog Framework","oneliner":"A high-speed and full-stack C++ framework for Web applications.","license_list":["BSD Revised"],"id":80203,"tag_list":["High Performance","Software Development","Web","Internet","Dynamic Content","Libraries"],"description":"TreeFrog Framework is a high-speed and full-stack C++ framework for developing Web applications. It provides an O/R mapping system and template system on an MVC architecture, and aims to achieve high productivity through the policy of convention over configuration."},"changelog":"An ERB notation for outputting the export-object was added. In tspawn, the \"d\" (diff) option was added when creating scaffold files. In tfserver, a bug in which incoming packets were not received and a bug when \"GET /\" is requested were fixed. Other bugs were fixed.","created_at":"2011-05-02T11:23:11Z","hidden_from_frontpage":false,"id":331533,"version":"0.70","tag_list":["Bugfixes","Enhancements"],"approved_at":"2011-05-02T13:45:30Z"}},{"release":{"project":{"permalink":"strategico","name":"Strategico","oneliner":"A statistical engine for Long Term Time Series Prediction and (in the future) other advanced statistical analysis.","license_list":["GPL v3 or later"],"id":79866,"tag_list":["GPL","R","Statistics","Arima","Exponential smoothing","Long Term Prediction","Time Series","Forecasting","Open Source","Engine","Cluster","HPC","Parallel Computing"],"description":"Strategico is an engine for running statistical analysis over groups of time series. It can manage one or more groups (projects) of time series: by default, you can get data from a database or CSV files, normalize them, and then save them inside the engine. The first statistical analysis implemented inside Strategico is the \"Long Term Prediction\": it automatically finds the best model that fits each time series. Some of the models implemented are mean, trend, linear, exponential smoothing, and Arima. Strategico is scalable: the statistical analysis over each time series (of a project) can be run separately and independently. It is suggested that you set up an HPC Cluster (High Performance Computing) and/or use a resource scheduler like slurm. It is developed with R, one of the most famous statistical languages."},"changelog":"An online Web service was implemented. Output can be stored in a database. A unique .R console file (using getopt) was added. Performance was improved.","created_at":"2011-05-02T11:11:49Z","hidden_from_frontpage":false,"id":331532,"version":"1.0.0","tag_list":[],"approved_at":"2011-05-02T13:21:10Z"}},{"release":{"project":{"permalink":"abcmidi","name":"abcMIDI","oneliner":"ABC MIDI conversion utilities.","license_list":["GPL"],"id":39656,"tag_list":["multimedia","Sound/Audio","Conversion"],"description":"The abcMIDI suite consists of programs for turning ABC music files into MIDI and vice versa, typesetting them as PostScript files, and manipulate them in several ways."},"changelog":"This release fixes several bugs and introduces the new command \"-noplus\".","created_at":"2011-05-02T11:05:24Z","hidden_from_frontpage":false,"id":331531,"version":"2011-04-29","tag_list":[],"approved_at":"2011-05-02T13:19:20Z"}},{"release":{"project":{"permalink":"cyrusimapserver","name":"Cyrus IMAP Server","oneliner":"Full featured IMAP server","license_list":[],"id":1668,"tag_list":["Communications","Email","Post-Office","IMAP","Internet"],"description":"The Cyrus IMAP server is generally intended to be run on sealed systems, where normal users are not permitted to log in. The mailbox database is stored in parts of the filesystem that are private to Cyrus. All user access to mail is through the IMAP, POP3, or KPOP protocols. The private mailbox database design gives the server large advantages in efficiency, scalability, and administratability. Multiple concurrent read/write connections to the same mailbox are permitted. The server supports access control lists on mailboxes and storage quotas on mailbox hierarchies, multiple SASL mechanisms, and the Sieve mail filtering language.\r\n"},"changelog":"Unlimited quotas are now supported by proxy servers. Compatibility with mailbox LIST operations was improved. Security vulnerabilities regarding STARTTLS operations were corrected. Many other bug fixes and performance improvements were made.","created_at":"2011-05-02T10:18:51Z","hidden_from_frontpage":false,"id":331530,"version":"2.4.8","tag_list":[],"approved_at":"2011-05-02T13:17:19Z"}},{"release":{"project":{"permalink":"opengroupware-coils","name":"OpenGroupware Coils","oneliner":"A groupware platform and workflow engine.","license_list":["MIT/X"],"id":77834,"tag_list":["groupware","Workflow","xmlrpc"],"description":"OpenGroupware Coils is a Python port of the venerable OpenGroupware project. It is backward compatible and can be installed in parallel with legacy versions of OpenGroupware. It provides additional features including an AMQP-based service architecture and a BPML-based workflow engine. The workflow engine includes the ability to read and write a variety of file formats, operate on relational database services, and a variety of common actions required to automate various tasks. Groupware resources and workflow route, processes, and formats.can be managed via WebDAV. Groupware functionality can also be accessed via the zOGI XML-RPC API just as with legacy ZideStore servers."},"changelog":"Drivers for Horde authentication and groups are provided in the source. WebDAV compatibility was improved, including support for LOCK operations and LOCK NULL resources. A JSON-RPC bundle was added for supporting Horde applications. Additional workflow actions were added for document management and creating and watermarking PDF documents. Output filters (OSSF) can now be applied to both workflow messages and project documents. An SMTP listener allows the server to directly receive workflow inputs for the site's MTA. Some third-party modules have been embedded to make deployment easier.","created_at":"2011-05-02T10:14:23Z","hidden_from_frontpage":false,"id":331529,"version":"0.1.40rc10","tag_list":["major enhancements"],"approved_at":"2011-05-02T13:16:18Z"}},{"release":{"project":{"permalink":"window-listener","name":"Window Listener","oneliner":"Simple window and task tracking software.","license_list":["Shareware"],"id":80550,"tag_list":["time tracking","task tracking","task list","task-tagging"],"description":"Window listener is a simple application that observes the windows that are active on your computer and records the time spent on each window. This lets you see how much time was spent on any given task, such as writing an email, reviewing a document, or editing a picture. Please note that the application also records key presses with the intention of using this data in the future to categorize tasks. The recorded tasks can be merged in case multiple windows of the same process are used to accomplish something. Tasks can also be deleted. The tasks are remembered when the program is closed."},"changelog":"The task loading at startup was fixed, so it works as expected now. The new features include task tag support, task locking, and an improved task search.","created_at":"2011-05-02T10:07:30Z","hidden_from_frontpage":false,"id":331528,"version":"0.7","tag_list":[],"approved_at":"2011-05-02T12:46:34Z"}},{"release":{"project":{"permalink":"dynastop","name":"DynaStop","oneliner":"A utility for dynamic IP address antispam filtering.","license_list":["GPLv2"],"id":65387,"tag_list":["Communications","Email","Filters","Internet","Clustering/Distributed Networks","Systems Administration","Utilities"],"description":"DynaStop is a utility to examine IPv4 based\r\naddresses for Exim and procmail for the purpose of\r\nfiltering based upon patterns defined by the\r\nadministrator. This can be a pivotal factor in\r\nemail filtering and server load management, since\r\ndynamic IP addresses are typically used for\r\ndial-up, DHCP, and DSL accounts. All of which have\r\na designated mail exchange server through which\r\nall outbound mail flows as defined with many, if\r\nnot most, large Internet service providers.\r\n"},"changelog":"Example configuration files were updated.","created_at":"2011-05-02T09:56:20Z","hidden_from_frontpage":false,"id":331527,"version":"11023.1657.1304330136","tag_list":["Stable","Documentation"],"approved_at":"2011-05-02T12:38:15Z"}},{"release":{"project":{"permalink":"asposebarcode-for-net","name":"Aspose.BarCode for .NET","oneliner":"A .NET component for the generation and recognition of Linear and 2D barcodes.","license_list":["Evaluation License","Developer Enterprise License","Developer OEM License","Site Enterprise License","Site OEM License"],"id":77999,"tag_list":[],"description":"Aspose.BarCode is a .NET component for generation and recognition of Linear and 2D barcodes on all kinds of .NET applications. It supports WPF with 29+ Barcode symbologies like OneCode, QR, Aztec, MSI, EAN128, EAN14, SSCC18, Code128, Code39, Postnet, MarcoPDF417, Datamatrix, UPCA, etc. Other features include barcode insertion in PDF, Word, and Excel documents. It can also take image input in BMP, GIF, JPEG, PNG, and WMF formats. You can also control image styles such as background color and bar color."},"changelog":"Support was added for OPC and Leticode barcode symbologies. You can generate as well as recognize both of these symbologies. The orientation of the recognized barcode can also be detected.","created_at":"2011-05-02T09:35:01Z","hidden_from_frontpage":false,"id":331525,"version":"4.0.0","tag_list":[],"approved_at":"2011-05-02T12:37:34Z"}},{"release":{"project":{"permalink":"awb","name":"AsciiDoc Website Builder","oneliner":"Software to build a Web site from AsciiDoc source.","license_list":["GPL"],"id":68013,"tag_list":["Text Processing","Markup","Internet","Web","Site Management"],"description":"awb combines simple but powerful AsciiDoc markup\r\nwith templates, blog and image gallery\r\ngeneration, and sitemap.xml generation to allow\r\nyou to easily maintain and update a Web site."},"changelog":"The -l option was added to list all sites. Blog post formatting was fixed to use post date, not mtime. A problem in sitemap timestamp was fixed. The usage string was updated. Empty meta descriptions are not inserted. Crashing is avoided while getting the title for an empty file. The manual was moved to a separate location. The <?insert siteroot dots?> command was added. Docstring cleanup was done.","created_at":"2011-05-02T09:49:35Z","hidden_from_frontpage":false,"id":331526,"version":"0.3.1","tag_list":["bugfix","Minor features"],"approved_at":"2011-05-02T12:32:36Z"}},{"release":{"project":{"permalink":"smiservicesmaintenanceinterventions","name":"SMI","oneliner":"A solution to manage services and technical support.","license_list":["GPL"],"id":62756,"tag_list":["Office/Business"],"description":"SMI (Services Maintenance Interventions) is a\r\ncomplete free solution to manage services and\r\ntechnical support to customers with frontoffice\r\nand backoffice modules. It can manage contracts,\r\nasset tracking, repair orders, working time,\r\nrentals, tasks, subcontractors, and has many other\r\nfunctionalities.\r\n"},"changelog":"Currencies can now be managed. Different levels (numbers and colors) can now be entered while creating or managing work orders. Import filters were added for specific software (for example, Lundi Matin Business). User rights can now be managed. Margins and cost prices can now be calculated while renewing contracts.","created_at":"2011-05-02T09:31:46Z","hidden_from_frontpage":false,"id":331524,"version":"0.9.9w","tag_list":[],"approved_at":"2011-05-02T12:17:40Z"}},{"release":{"project":{"permalink":"gcalert","name":"gcalert","oneliner":"An unobtrusive, lightweight Google Calendar alerter.","license_list":["GPLv3"],"id":75807,"tag_list":["Google","Calendar","alert","alarm","popup","notification"],"description":"GCalert will access all your Google calendars and display alarms via libnotify for whenever you have alarms set for each event. These alarm widgets do not receive focus (and thus do not take keyboard input away from other applications), yet are clearly visible even on a cluttered desktop."},"changelog":"Error handling was improved. The \"Where\" field of alarms is now displayed where present. Time display format can be changed with an option. Only alarms set up as \"popup\" type are alarmed now. General code quality, testability, and developer documentation were improved.","created_at":"2011-05-02T08:41:31Z","hidden_from_frontpage":false,"id":331523,"version":"2.0","tag_list":[],"approved_at":"2011-05-02T11:14:36Z"}},{"release":{"project":{"permalink":"mailng","name":"Modoboa","oneliner":"A Web based application to create, administrate, and use virtual domain hosting platforms.","license_list":["BSD"],"id":72824,"tag_list":["admin","Postfix","Dovecot","virtual domains","Amavisd-new","rrdtool","Webmail"],"description":"Modoboa is a Web based application to create, administrate, and use virtual domain hosting platforms. Modoboa stores its data in a SQL backend (like MySQL or PostgreSQL). Using this database, you can integrate Modoboa with other mail components, such as Postfix or Dovecot."},"changelog":"The external JavaScript tools (such as mootools) were updated. A new organization is used for static files (mostly for plugins). This is the first Django 1.3 compatible version. Webmail now supports folder management, and several bugs in webmail were fixed.","created_at":"2011-05-02T08:23:49Z","hidden_from_frontpage":false,"id":331522,"version":"0.8.4","tag_list":["Webmail","folders","Bug fixes"],"approved_at":"2011-05-02T11:13:55Z"}},{"release":{"project":{"permalink":"rmtoo","name":"rmtoo","oneliner":"A requirement management tool.","license_list":["GPLv3"],"id":76745,"tag_list":["requirement management tool","Software Development","agile project management"],"description":"rmtoo is a requirement management tool. It is intended for programmers, as it has no GUI. Requirements are stored in plain text files. The tools allow such things as checking dependencies, creating LaTeX output, and a prioritization list for backlog and requirement elaboration."},"changelog":"This release adds support for SCRUM artifacts: Selected for Sprint, Assigned, Finished, Statistics, and Burndown diagrams.","created_at":"2011-05-02T07:32:06Z","hidden_from_frontpage":false,"id":331520,"version":"19","tag_list":["SCRUM artifacts"],"approved_at":"2011-05-02T11:07:19Z"}},{"release":{"project":{"permalink":"deltasql","name":"deltasql","oneliner":"A database version control system.","license_list":["GPL"],"id":69690,"tag_list":["Database","Database Engines/Servers","Software Development","Version Control"],"description":"deltasql is a tool to synchronize databases with\r\nsource code, which helps to keep database\r\nevolution under control. While developing\r\nmid-sized or big applications, developers make\r\nchanges to the data model that go along with\r\nchanges to the source code. From time to time,\r\nbranches of source code are done to stabilize the\r\ncode that will go to production. A sort of data\r\nmodel branch is also needed. deltasql provides a\r\nsimple way to collect all scripts that change the\r\ndata model and means to handle data model\r\nbranches. The deltasql server runs on Apache and\r\nis backed by MySQL."},"changelog":"A set of seven tutorial videos were created to explain how deltasql works. Those videos need to be downloaded separately, as they are not included in the package. New features include an RSS feed that shows the latest scripts, the ability to give the latest version number to edited scripts, and colored diff for edited scripts (which works in IE but not in Firefox).","created_at":"2011-05-02T08:04:32Z","hidden_from_frontpage":false,"id":331521,"version":"1.3.6","tag_list":["Stable"],"approved_at":"2011-05-02T11:05:44Z"}},{"release":{"project":{"permalink":"phpsqlrealtycom-php-real-estate-listings-directory-script","name":"phpSQLRealty","oneliner":" A real estate listings directory Web site script.","license_list":["Commercial EULA"],"id":80470,"tag_list":["Real estate"],"description":"phpSQLRealty.com is a feature-rich, SEO-friendly, and easy to modify and expand tool for building single agent, office, or FSBO real estate listings directory Web sites. It includes PayPal integration for automatically collecting featured package fees, a fully customizable template system, a multiple language interface, and more."},"changelog":"This is another bugfix release, with the addition of a Turkish language file.","created_at":"2011-05-02T05:47:58Z","hidden_from_frontpage":false,"id":331519,"version":"1.1.2","tag_list":[],"approved_at":"2011-05-02T06:15:40Z"}},{"release":{"project":{"permalink":"pami","name":"PAMI","oneliner":"An Asterisk Manager Interface client.","license_list":["Apache 2.0"],"id":80013,"tag_list":["PHP AMI Asterisk Manager Interface"],"description":"PHP Asterisk Manager Interface ( AMI ) supports synchronous command ( action )/ responses and asynchronous events using the pattern observer-listener. It supports commands with responses with multiple events. It is very suitable for the development of operator consoles and / or asterisk / channels / peers monitoring through SOA, etc."},"changelog":"Support for specifying the connection scheme was added, and TLS compatibility is now available.","created_at":"2011-05-02T00:33:01Z","hidden_from_frontpage":false,"id":331515,"version":"1.14","tag_list":[],"approved_at":"2011-05-02T03:35:13Z"}},{"release":{"project":{"permalink":"advancedbashscriptingguide","name":"Advanced Bash Scripting Guide","oneliner":"A comprehensive tutorial and reference on shell scripting using Bash.","license_list":["FDL"],"id":130,"tag_list":["Software Development","Documentation","education","Systems Administration"],"description":"The Advanced Bash Scripting Guide is both a reference and a tutorial on shell scripting. This comprehensive book (the equivalent of 1000+ print pages) covers almost every aspect of shell scripting. It contains 373 profusely commented illustrative examples, a number of tables, and a cross-linked index/glossary. Not just a shell scripting tutorial, this book also provides an introduction to basic programming techniques, such as sorting and recursion. It is well suited for either individual study or classroom use. It covers Bash, up to and including version 4.2."},"changelog":"Coverage of the new features of the Bash 4.1 and 4.2 releases, a new Network Programming chapter, ten new example scripts, more new material, and bugfixes.","created_at":"2011-05-02T00:47:14Z","hidden_from_frontpage":false,"id":331516,"version":"6.3","tag_list":["Major"],"approved_at":"2011-05-02T03:34:56Z"}},{"release":{"project":{"permalink":"ding-2","name":"Ding","oneliner":"Lightweight DI, AOP, and MVC for PHP 5.","license_list":["Apache 2.0"],"id":80011,"tag_list":["PHP","DI","aop","mvc","tcp","asterisk","PAMI","PAGI","XML","YAML","jsr","annotation","container","bean","dependency","injection"],"description":"Ding is a PHP framework that provides dependency injection (by Setter, Constructor, and Method), Aspect Oriented Programming, XML, YAML, and some JSR 250/330 annotations as bean definition providers, lightweight, can be deployed as a PHAR file, simple, and quick MVC, syslog, TCP client and server with non-blocking sockets, timers, and custom error, signal, and exception handling, PAGI integration (for the Asterisk gateway interface), and PAMI integration (for Asterisk management). It is similar to Java's Seasar and Spring."},"changelog":"This release added native support for Twig and Smarty template engines for MVC. Autoloader will now automatically load your own classes if they honor the namespace -> filesystem convention. Coverage was improved.","created_at":"2011-05-02T01:28:51Z","hidden_from_frontpage":false,"id":331517,"version":"0.93","tag_list":[],"approved_at":"2011-05-02T03:34:30Z"}},{"release":{"project":{"permalink":"form-builder-php-class","name":"Form Builder PHP Class","oneliner":"Promotes rapid development of forms through an object-oriented PHP structure.","license_list":["GPL"],"id":75669,"tag_list":["PHP","Form Generation","Form Builder","jQuery","AJAX"],"description":"PFBC is an object-oriented PHP class for building HTML forms. It includes AJAX support, jQuery, reCAPTCHA, TinyMCE, and CKEditor."},"changelog":"This version represents the first major rewrite in the project's history and attempts to evolve PFBC into a code base that is more efficient, easier to manage, and extensible. There are two downloads available for this new version - one for PHP 5 and another that uses namespaces, requiring PHP 5.3 or later.","created_at":"2011-05-02T02:29:16Z","hidden_from_frontpage":false,"id":331518,"version":"PFBC 2.0","tag_list":[],"approved_at":"2011-05-02T03:34:04Z"}},{"release":{"project":{"permalink":"din","name":"din","oneliner":"A musical instrument and audio synthesizer.","license_list":["GPL v2"],"id":79984,"tag_list":["music","Audio","Multimedia Applications","Sound Synthesis"],"description":"din is a software musical instrument and audio synthesizer. Bezier curves are used to draw and sculpt waveforms, create gating and modulation (FM and AM) patterns, and create delay feedback and volume patterns. You can also create an unlimited number of drones and sculpt their waveforms. It uses JACK to output audio, and supports MIDI, OSC and IRC bot for input. din can be extended and customized with Tcl/Tk scripts."},"changelog":"The gaters command was removed. gaters state is now saved in the din_info file and reloaded when din restarts. Colors of the oscilloscope are saved and reloaded. Documentation for the din commands accessible from the command mode was improved.","created_at":"2011-05-01T23:47:29Z","hidden_from_frontpage":false,"id":331514,"version":"1.5.9","tag_list":["Minor"],"approved_at":"2011-05-02T00:17:11Z"}},{"release":{"project":{"permalink":"oobash","name":"oobash","oneliner":"An oo-style library for bash 4 written in bash.","license_list":["MIT"],"id":78697,"tag_list":["bash","Library","Administration","Development","shell"],"description":"oobash is an oo-style library for bash 4 written in bash."},"changelog":"Some small fixes/modifications and a Level class.","created_at":"2011-05-01T22:46:16Z","hidden_from_frontpage":false,"id":331513,"version":"0.38.2","tag_list":[],"approved_at":"2011-05-02T00:16:40Z"}},{"release":{"project":{"permalink":"qedeq","name":"Hilbert II","oneliner":"A collection of mathematical knowledge in a formal, correct form.","license_list":["GPL"],"id":39263,"tag_list":["Text Processing","Markup","TeX/LaTeX","education","Documentation","Scientific/Engineering","Mathematics","Internet","HTML/XHTML"],"description":"The goal of Hilbert II, which is in the tradition\r\nof Hilbert's program, is the creation of a system\r\nthat enables a working mathematician to put\r\ntheorems and proofs (in the formal language of\r\npredicate calculus) into it. These proofs are\r\nautomatically verified by a proof checker. Because\r\nthis system is not centrally administered and\r\nenables references to any location on the\r\nInternet, a world wide mathematical knowledge base\r\ncould be built. It also contains information in\r\n\"common mathematical language\". \r\n"},"changelog":"Formal proofs can be checked. The first successfully checked QEDEQ module is \"sample/qedeq_sample3.xml\". Another new plugin can find simple propositional calculus proofs. You can test that with \"sample/qedeq_sample4.xml\", which contains propositions without formal proofs. Also added was \"doc/math/qedeq_propositional_v1.xml\", which contains new axioms for propositional calculus. Propositions with formal proofs will be added to develop the complete propositional calculus. Definitions are now direct equivalences or identity relations, thus definition formulas can be referenced in formal proofs directly.","created_at":"2011-05-01T22:46:15Z","hidden_from_frontpage":false,"id":331512,"version":"0.04.02","tag_list":["Unstable","Main","QEDEQ","gaffsie"],"approved_at":"2011-05-02T00:16:31Z"}},{"release":{"project":{"permalink":"mailchariot","name":"MailChariot","oneliner":"A spam filter that integrates with your normal mail flow.","license_list":["MIT/X"],"id":80607,"tag_list":["Email","Filter","spam-filtering"],"description":"MailChariot's only mission is to get your incoming email (for example from /var/spool/mail), filter it through a spam filter, and put it into a spam or ham mailbox. If you don't agree with the spam filter's decision, you can move it to the notspam or notham mailbox and MailChariot will mark the message as ham or spam respectively. This design is mail client agnostic. It is ideal for use on shared hosts where the provided spam filtering is not effective enough."},"changelog":"This release features distribution with Python distutils and an Ebuild for Gentoo GNU/Linux. The persistent queue is now stored in a SQLite3 database. It is necessary to remove the old queue file after upgrading. Exiting after receiving SIGNIT is now more responsive.","created_at":"2011-05-01T22:23:42Z","hidden_from_frontpage":false,"id":331511,"version":"1.1","tag_list":[],"approved_at":"2011-05-02T00:13:51Z"}},{"release":{"project":{"permalink":"kbibtex","name":"KBibTeX","oneliner":"A BibTeX editor for KDE.","license_list":["GPL"],"id":55610,"tag_list":["Text Processing","Bibliography","Scientific/Engineering"],"description":"KBibTeX is a BibTeX editor for KDE to edit bibliographies used with LaTeX. Features include comfortable input masks, starting Web queries (e. g. Google or PubMed), and exporting to PDF, PostScript, RTF, and XML/HTML. As KBibTeX is using KDE's KParts technology, it can be embedded into Kile or Konqueror."},"changelog":"This release added a man page and a URL list that allows you to choose from local files. Behavior of read-only controls was corrected. A more robust/flexible importer for BibTeX code was provided. A \"recently used files\" menu item was added. Issues in online/Web searches were fixed, including handling of \"cancel\" events. There were numerous other bugfixes and improvements.","created_at":"2011-05-01T22:16:26Z","hidden_from_frontpage":false,"id":331510,"version":"0.3 beta 2","tag_list":["Unstable","Beta","KDE4"],"approved_at":"2011-05-02T00:12:46Z"}},{"release":{"project":{"permalink":"ktorrent","name":"KTorrent","oneliner":"A full-featured BitTorrent client.","license_list":["GPL"],"id":80716,"tag_list":["Internet","P2P","Bittorrent","Torrent","KDE","File Sharing"],"description":"KTorrent is a BitTorrent application that allows you to download and share files using the BitTorrent protocol. Key features include queuing of torrents, global and per-torrent speed limits, previewing of certain file types, importing of partially or fully downloaded files, file prioritization for multi-file torrents, selective downloading for multi-file torrents, kick/ban peers with an additional IP Filter dialog for list/edit purposes, UDP tracker support, support for private trackers and torrents, support for \u00b5Torrent's peer exchange, support for protocol encryption (compatible with Azureus), support for creating tracker-less torrents, support for distributed hash tables (DHT), support for UPnP to automatically forward ports on a LAN with dynamic assigned hosts, support for webseeds, scripting support via Kross, and interprocess control via DBus interface."},"changelog":"This release fixes several crashes, a deadlock, and some minor GUI bugs. Bugs in libktorrent were fixed.","created_at":"2011-05-01T21:40:13Z","hidden_from_frontpage":false,"id":331509,"version":"4.1.1","tag_list":["Stable","Bugfixes","4.1"],"approved_at":"2011-05-02T00:11:32Z"}},{"release":{"project":{"permalink":"xcc","name":"XCC","oneliner":"An XML compiler compiler.","license_list":["GPL"],"id":53043,"tag_list":["Software Development","Code Generators","Text Processing","Markup","XML"],"description":"XCC is a tool for building XML format parsers. One way to describe what XCC does is by analogy with a generic parser generator, e.g. yacc or bison. Yacc needs a lexical analyzer to function properly, and that lexical analyzer is usually built with (f)lex. In the XML world, there are a few packages which fill in the role of lex (expat and libxml are the most known), but the high-level grammar parsing is usually done by a hand-written code; writing such a parser is a tedious and error-prone task. XCC was created to help developers in writing reliable easy-to-understood parsers for handling complex XML-based grammars. "},"changelog":"xcc_abort() was added to the API.","created_at":"2011-05-01T21:35:47Z","hidden_from_frontpage":false,"id":331508,"version":"0.6.3","tag_list":[],"approved_at":"2011-05-02T00:11:01Z"}},{"release":{"project":{"permalink":"file","name":"file","oneliner":"File type identification utility","license_list":["BSD Original"],"id":2657,"tag_list":["Utilities"],"description":"File attempts to classify files depending on their contents and prints a description if a match is found."},"changelog":"The Python bindings were updated and fixed. Magic support for OCF (EPUB) files and for lrzip files was added. Zip file magic was adapted for files with unsupported special types. Many more magic updates and fixes were made. Several minor bugs were fixed.","created_at":"2011-05-01T21:18:26Z","hidden_from_frontpage":false,"id":331507,"version":"5.06","tag_list":["Minor feature enhancements","Minor bugfixes"],"approved_at":"2011-05-02T00:10:51Z"}},{"release":{"project":{"permalink":"gnome-commander","name":"GNOME Commander","oneliner":"A GNOME based filemanager.","license_list":["GPL"],"id":21262,"tag_list":["Desktop Environment","GNOME","File Managers","Internet","FTP"],"description":"GNOME Commander is a fast and powerful graphical file manager. It has a \"two-pane\" interface in the tradition of Norton and Midnight Commander. It features drag'n'drop, GNOME MIME types, FTP, SFTP, and WebDAV using the GnomeVFS FTP module, SAMBA access, the ability to extend the context menu with entries to call external applications or scripts on the selected items, quick device access buttons with automatic mounting and unmounting, a fast file viewer for text and images, a history of recently accessed\nfolders, and folder bookmarks."},"changelog":"This release fixes issues with deprecated Python modules, a problem with the Traditional Chinese translation, and a problem with starting GNOME Commander as root. It also adds support for backward/forward mouse buttons.","created_at":"2011-05-01T21:14:49Z","hidden_from_frontpage":false,"id":331506,"version":"1.2.8.11","tag_list":["Minor bugfixes"],"approved_at":"2011-05-02T00:10:32Z"}},{"release":{"project":{"permalink":"ora2pg","name":"ora2pg","oneliner":"A tool to easily convert an Oracle database to a PostgreSQL database.","license_list":["GPLv3"],"id":19584,"tag_list":["Database"],"description":"Ora2Pg is a Perl module to export an Oracle\r\ndatabase schema to a PostgreSQL compatible schema.\r\nIt connects your Oracle database, extracts its\r\nstructure, and generates an SQL script that you\r\ncan load into your PostgreSQL database. It dumps\r\nthe database schema (tables, views, sequences,\r\nindexes, grants) with primary, unique, and foreign\r\nkeys into PostgreSQL syntax without editing the\r\nSQL code generated. It also dump Oracle data into\r\nPostgreSQL DB as online process or into a file.\r\nYou can choose what columns can be exported for\r\neach table."},"changelog":"This release added more parser rewriting, especially for package bodies and user defined types. There is also a new extract type for retrieving Oracle encoding, a new configuration directive, and several bugfixes.","created_at":"2011-05-01T20:59:25Z","hidden_from_frontpage":false,"id":331505,"version":"8.2","tag_list":[],"approved_at":"2011-05-02T00:10:16Z"}},{"release":{"project":{"permalink":"ashd","name":"ashd","oneliner":"A sane HTTP daemon.","license_list":["GPLv3"],"id":78997,"tag_list":["HTTP Servers"],"description":"Ashd is an HTTP server that follows standard Unix philosophy for modularity. Instead of being a monolithic program with loadable modules, as most other HTTP servers seem to be, Ashd is simply a collection of much simpler programs, passing HTTP requests to each other using a simple protocol. The model also allows such handler programs to persist properly, so that, for example, session data can be kept in memory, connections to back-end services can be kept open, and so on."},"changelog":"Various bugfixes, protocol compliance fixes, tunings, documentation improvements, and other minor improvements.","created_at":"2011-05-01T20:16:50Z","hidden_from_frontpage":false,"id":331504,"version":"0.8","tag_list":[],"approved_at":"2011-05-02T00:09:49Z"}},{"release":{"project":{"permalink":"reglookup","name":"RegLookup","oneliner":"A small command line utility for parsing registry files of Windows NT and later.","license_list":["GPLv3"],"id":54521,"tag_list":["Security","Forensics","Recovery Tools","Diagnostics","Systems Administration","Utilities"],"description":"RegLookup is a small command line utility for parsing and searching registry files from Windows NT and later. It also includes the regfi library and Python bindings (pyregfi) for more direct access to registry structures."},"changelog":"This 1.0 release candidate contains major improvements to regfi usability. regfi was made a proper library, and major improvements were made to the API. Python bindings (pyregfi) were added for regfi. The Make-based build system was replaced with a SCons-based one. Numerous improvements were made in regfi for multithreaded use and memory management. API documentation was improved.\n","created_at":"2011-05-01T16:44:39Z","hidden_from_frontpage":false,"id":331503,"version":"0.99.0","tag_list":[],"approved_at":"2011-05-02T00:09:41Z"}},{"release":{"project":{"permalink":"jshot","name":"JShot","oneliner":"A screen capture and uploader utility with drawing functionalities.","license_list":["Freeware"],"id":69820,"tag_list":["multimedia","Graphics","Editors","Capture","Sharing","screenshot"],"description":"JShot is a screen capture and uploader utility which allows you to capture and annotate a part of your screen and share it via the Internet in one step. It lets you upload a screenshot to the Web or send to an instant messaging partner."},"changelog":"This release added improved error handling for capturing. The active profile is saved after selecting.","created_at":"2011-05-01T16:26:08Z","hidden_from_frontpage":false,"id":331502,"version":"2.0.0.0 beta","tag_list":[],"approved_at":"2011-05-02T00:08:31Z"}},{"release":{"project":{"permalink":"exchange","name":"Exchanges","oneliner":"A structured dialectical CGI script.","license_list":["GPL"],"id":80601,"tag_list":["cgi"],"description":"Exchanges is a Bash CGI script that publishes open posts sequentially. It allows new posts to be injected between older posts. Owners of posts may edit or delete them. Anyone may comment on them. By default, one views the first N posts. All pages link to the next, previous, and latest posts. The script generates an index based on usage of HTML hN tags."},"changelog":"Provision has been made for an initial\n\"Guidelines\" post which spells out the\nusage of each exchange.","created_at":"2011-05-01T16:10:39Z","hidden_from_frontpage":false,"id":331501,"version":"01may11","tag_list":[],"approved_at":"2011-05-02T00:08:14Z"}},{"release":{"project":{"permalink":"droopy","name":"Droopy","oneliner":"A mini Web server for easy file receiving.","license_list":["Python"],"id":69328,"tag_list":["Communications","File Sharing","Internet","Web","HTTP Servers"],"description":"Droopy lets your friends upload files to your computer using their Web\r\nbrowsers.\r\n"},"changelog":"This release added an option to let clients download files and a CSS speech bubble.","created_at":"2011-05-01T14:48:14Z","hidden_from_frontpage":false,"id":331500,"version":"20110501","tag_list":[],"approved_at":"2011-05-02T00:08:04Z"}},{"release":{"project":{"permalink":"knproxy","name":"KnProxy","oneliner":"A lightweight, PHP based Web proxy.","license_list":["GPL"],"id":80859,"tag_list":["Proxy","Script","Web Proxy"],"description":"KnProxy is a small PHP based Web proxy that makes use of the cURL module built into PHP. It uses limited server resources while still maintaining performance. KnProxy is aimed to be easy to use and does not inject information into Web pages. It returns the Web page as is, only changing the links to the resources to be proxied. The URL is obfuscated to prevent tracking or URL filtering. COOKIES and POST forms are supported natively. This tool can be useful in places where the Internet is not as free as intended. It is also good for bypassing school or office firewalls. It is especially optimized to get past the GFW of China."},"changelog":"A bug was fixed in the parsing engine, which didn't change the \"action=\" field in HTML forms, resulting in unproxified forms. KnProxy can now work with Facebook logins and all sorts of logins. A bug in the URL parser was fixed. It now ignores JavaScript tags, the data URL scheme, and anchors. A debug mode was added.","created_at":"2011-05-01T13:49:48Z","hidden_from_frontpage":false,"id":331499,"version":"4.01-bugfix","tag_list":["Stable","bugfix","Parser","FIX","Debug"],"approved_at":"2011-05-01T14:44:10Z"}},{"release":{"project":{"permalink":"oath-toolkit","name":"OATH Toolkit","oneliner":"A toolkit for open authentication technology.","license_list":["LGPLv2.1+","GPLv3+"],"id":79878,"tag_list":["OATH","Authentication","Security","OTP","password","PAM","hotp"],"description":"The OATH Toolkit attempts to collect several tools that are useful when deploying technologies related to Open AuTHentication (OATH), such as the event-based HOTP and time-based TOTP one-time passwords. It is a fork of the earlier HOTP Toolkit."},"changelog":"The usersfile max secret length was increased to 32 bytes in liboath. The --window option is supported together with --totp in oathtool. The pam_sm_setcred function was added again and was made to return success. Linking to -lpam is done for PAM symbols. The pam_oath.la file is not installed. The pammoddir automake variable is used instead of overriding libdir. autoreconf was made to work in released tar archives.","created_at":"2011-05-01T12:50:36Z","hidden_from_frontpage":false,"id":331498,"version":"1.6.4","tag_list":[],"approved_at":"2011-05-01T14:39:49Z"}},{"release":{"project":{"permalink":"adtpro","name":"Apple Disk Transfer ProDOS","oneliner":"Talks to your 8-bit Apple computer over serial, ethernet, or audio links.","license_list":[],"id":64979,"tag_list":["Utilities","Emulators","Archiving","Communications"],"description":"ADTPro transfers disks to and from Apple II and Apple /// computers and the modern world using any of these communications methods: serial/USB, UDP via the Uthernet or LANceGS Ethernet cards, or audio via the Apple's cassette ports. ADTPro has comprehensive bootstrapping support for otherwise diskless Apple IIs. The home page includes extensive tutorials for getting started."},"changelog":"This version adds DHCP automatic configuration and other minor bug fixes.","created_at":"2011-05-01T12:40:52Z","hidden_from_frontpage":false,"id":331497,"version":"1.1.9","tag_list":["Minor feature enhancements","Minor bugfixes"],"approved_at":"2011-05-01T14:31:50Z"}},{"release":{"project":{"permalink":"jsonbot","name":"JSONBOT","oneliner":"A remote event-driven framework for building bots that talk JSON to each other over XMPP.","license_list":["MIT"],"id":77278,"tag_list":["Python","GAE","bot","robot","wave","Web","xmpp","IRC","Atom","JSON"],"description":"JSONBOT is a remote event-driven framework for building bots that talk JSON to each other over XMPP. This distribution provides bots built on the JSONBOT framework for console, IRC, XMPP for the shell and WWW, and XMPP for the Google App Engine. A plugin infrastructure can be used to write your own functionality."},"changelog":"Convore support was added. The core was refactored. Configuration files are now reloadable. The Web console was revamped. Resource files that contain commands the bot can execute were added. File changes can be detected for myplugs plugins. Rebooting was fixed. Relaying in jabber conference rooms was fixed. The color.py plugin was added to color certain words. added geo.py, googletranslate.py, and imdb.py. The chatlog plugin now uses the logging module, and the log file rotates every day. Many other bugs were fixed.","created_at":"2011-05-01T11:54:26Z","hidden_from_frontpage":false,"id":331496,"version":"0.7","tag_list":[],"approved_at":"2011-05-01T14:30:49Z"}},{"release":{"project":{"permalink":"amforth","name":"amforth","oneliner":"Forth for the AVR Atmega microcontroller.","license_list":["GPLv2"],"id":62374,"tag_list":["Operating System Kernels","Operating Systems","Hardware","Scientific/Engineering","Software Development","Embedded Systems"],"description":"amforth is an extendible command interpreter for the Atmel AVR ATmega microcontroller family. It has a turnkey feature for embedded use as well. It does not depend on a host application. The command language is an almost compatible ANS94 forth with extensions. It needs less than 8KB code memory for the base system. It is written in assembly language and forth itself."},"changelog":"This release changes the way the command interpreter deals with the words entered. User visible changes include a rename of various memory access words to comply with the upcoming standard. There are huge documentation updates and more example code as well. Some bugs were fixed.","created_at":"2011-05-01T11:26:19Z","hidden_from_frontpage":false,"id":331495,"version":"4.3","tag_list":["Stable","Documentation","Major bug fixes and feature enhancements"],"approved_at":"2011-05-01T14:26:29Z"}}]
@@ -22,26 +22,32 @@ require 'spec_helper'
22
22
 
23
23
  describe Freshmeat do
24
24
 
25
- def test_project(p)
26
- p.fid.is_a?(Integer).should == true
25
+ def test_project_partial(p)
27
26
  p.permalink.is_a?(String).should == true
27
+ p.fid.is_a?(Integer).should == true
28
28
  p.name.is_a?(String).should == true
29
+ p.oneliner.is_a?(String).should == true
30
+ p.description.is_a?(String).should == true
31
+ p.license_list.is_a?(Array).should == true
32
+ p.license_list.map { |t| t.is_a?(String).should == true }
33
+ end
34
+
35
+ def test_project(p)
36
+ test_project_partial(p)
29
37
  p.popularity.is_a?(Numeric).should == true
30
38
  p.vitality.is_a?(Numeric).should == true
31
39
  p.created_at.is_a?(Time).should == true
32
- p.description.is_a?(String).should == true
40
+
33
41
  p.user.is_a?(Freshmeat::User).should == true
34
- p.oneliner.is_a?(String).should == true
42
+
35
43
  p.project_filters_count.is_a?(Integer).should == true
36
44
  p.subscriptions_count.is_a?(Integer).should == true
37
45
  p.vote_score.is_a?(Integer).should == true
38
46
 
39
- p.license_list.is_a?(Array).should == true
40
47
  p.programming_language_list.is_a?(Array).should == true
41
48
  p.operating_system_list.is_a?(Array).should == true
42
49
  p.tag_list.is_a?(Array).should == true
43
50
 
44
- p.license_list.map { |t| t.is_a?(String).should == true }
45
51
  p.programming_language_list.map { |t| t.is_a?(String).should == true }
46
52
  p.operating_system_list.map { |t| t.is_a?(String).should == true }
47
53
  p.tag_list.map { |t| t.is_a?(String).should == true }
@@ -159,4 +165,32 @@ describe Freshmeat do
159
165
  r.map { |t| test_project(t) }
160
166
  end
161
167
  end
168
+
169
+ describe "fetching recently released projects from the undocumented frontpage API: " do
170
+ FakeWeb.register_uri(:get, "http://freshmeat.net/index.json?auth_code=AAA", :body => File.read("spec/fixtures/recently_released.json"))
171
+
172
+ it "return a list of projects" do
173
+ f = Freshmeat.new("AAA")
174
+ r = f.recently_released_projects()
175
+ r.map { |p| p.is_a?(Freshmeat::PartialProject).should == true }
176
+ r.map { |p| test_project_partial(p) }
177
+ end
178
+
179
+ it "return a list of projects who have one release each" do
180
+ f = Freshmeat.new("AAA")
181
+ f.recently_released_projects().map { |p| p.recent_releases.length.should == 1 }
182
+ f.recently_released_projects().each do |p|
183
+ p.recent_releases.each do |z|
184
+ z.map { |t| t.fid.is_a?(Integer).should == true }
185
+ z.map { |t| t.changelog.is_a?(String).should == true }
186
+ z.map { |t| (!! t.hidden_from_frontpage == t.hidden_from_frontpage).should == true }
187
+ z.map { |t| t.version.is_a?(String).should == true }
188
+ z.map { |t| t.tag_list.is_a?(Array).should == true }
189
+ z.map { |t| t.approved_at.is_a?(Time).should == true }
190
+ z.map { |t| t.created_at.is_a?(Time).should == true }
191
+ end
192
+ end
193
+ f.recently_released_projects().map { |p| test_project_partial(p) }
194
+ end
195
+ end
162
196
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: freshmeat
3
3
  version: !ruby/object:Gem::Version
4
- hash: 23
4
+ hash: 19
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
+ - 1
8
9
  - 0
9
- - 0
10
- version: 1.0.0
10
+ version: 1.1.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Matthew Stump
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-03-18 00:00:00 -07:00
18
+ date: 2011-05-04 00:00:00 -07:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -182,6 +182,7 @@ files:
182
182
  - spec/fixtures/comments.json
183
183
  - spec/fixtures/dependencies.json
184
184
  - spec/fixtures/localhost.json
185
+ - spec/fixtures/recently_released.json
185
186
  - spec/fixtures/releases.json
186
187
  - spec/fixtures/samba.json
187
188
  - spec/fixtures/screenshots.json