⌈⌋ branch:  freshcode

Artifact [034771564b]

Artifact 034771564b4a8dbc49923d9fc0c7c4027cade0cb:

  • File NEWS — part of check-in [570f97a5af] at 2015-04-29 20:53:07 on branch trunk — Summarized changes directly from /changelog (user: mario size: 23515)

0.8.0 (2015-04-05)
 * Remove "already". Reads like a bug, when it should just be informational.
 * Width limit for sidebar.
 * Firefox misinterprets `whitespace:no-wrap` again.
 * Fixed "TUV" link. And raise preview size to 120x90 now.
 * Cut down the title length to 64 chars beforehand.
   (New layout expands too much else.)
 * Full sized preview image 160x120
 * Fix spacing to header block.
   Correct nowrap issue for title/version/datetime in .project headers (Firefox).
 * Spread out project name letters further (ABC, DEF, GHIJ, KL, MN, OPQ, RS,
   TUV, WXYZ, 0-9) to match up with current distribution.
 * Mini template includes for new table #mainsplit and .container-width
 * Updated stylesheet to use table-layout for #main/#sidebar split.
   Padding still needs work.
 * Autoupdate support for LaunchPad project URLs. (Uses `release_notes` field
   from Launchpad devel API.)
 * Fix launchpadlibrarian user image lookup, and github avatar url regex.
 * Don't keep destroyed2 state.
 * Allow only 1-letter proj_name suffixes.
 * Omit `deleted` entrys from spotlight.
 * Filter addition for spammy GitHub releases.
 * Remove doubled `em` tag.
 * Launchpad-releases for frontpage sidebar.
 * Introduce `launchpad-releases` page.
   Updated polling with less delay.
   (So far only 30% of projects information received, less than 12% of release infos.)
 * Make freecode/freshmeat.club just aliases of main freshcode.club domain.
 * Updated user agent string with concrete version number.
 * Workaround for session cookie / CF issues.
 * DrChangelog: removed template rules,
   added regex rule info for `changelog` module,
   mention current github querying breakage.
 * Experimental launchpad project+release polling.
   (Not using OAuth, so decidedly slow-running; gonna take two weeks before it gets any results.)
 * Friendlier placeholder page in case of SQLite locks / running update scripts.
 * Add extra Unicode backtick to allowed input::_text filter.
 * Make tag/ pages and search results NOINDEX for spiders.
 * COLLATE NOCASE for version_exists() check
 * Addition of redir/ script for obfuscated URLs (not sure if needed though).
 * Addition of gtkapps, kdeapps, qtapps, cliapps to feed list.
 * Detect other Twitter URL variations.
 * Forum: threads with new submissions order on top now.
 * Prevent recollapsing of forum entries when editing within the reply/form fields.
 * Make actual timeout for session also 7 days.
 * One-time SQL fixing scripts for submitter_image.
 * Fix again (like the fifth time) the user image updating logic.
   Partial $newdata submissions had $this[submitter] still empty, therefore
   stripped previous user icon url/hash.
 * Add opendesktop.org/gtkapps/kdeapps/etc. to frontpage sidebar
 * Text: clear up that CC-BY-SA only covers the project description/text, not
   the project itself
 * Compare search term also against plain project `name`.
 * UI-tag as 0.7.7
 * Document new gravatar/identicon options @github / @sourceforge / @launchpad.
 * Add ->nl newline conversion, ->f_version filter,
   and url_user_icon() utilization (@github / @sourceforge / @launchpad),
   keep local part from email-style (gravatar/etc.) submitter if plain nick is absent,
   fix comparison to previous submitter name (else emptying `submitter_image`).
 * Introduce `f_version()` filter to compact spaces, and strip leading "v".
   Complexer `url_user_icon()` to convert @github, @sourceforge and @launchpad
   user names to gravatar/user images.
 * Set db()/SQlite timeout to 15sec.
 * Update header_stats 3x per day
 * Retain via: field from spooled entries,
   spupport cmdline flag --now for instant insertions.
 * Block `wagic` (auto-regenerated master release stamps).
 * Added transactions as suggested by Lothar.
 * No more .trimmed for github-releases sidebar block.
 * Introduce `X-Content-License:` HTTP header.
 * Security fix: unescaped original input in diff/page_rc.
 * Remove redundant border=/align= from frontpage project index.
   v0.7.6, readd header "beta" marker+color, Twitter icon in footer.
 * Change explanation for `image` field  ("leave empty" for autogenerated
   homepage screenshot).
 * Better description for versioned_url() regex pattern.
 * Lessen delay for incoming/ imports to around 6 entries per day.
 * Reveal incoming/ spool files in moderator stats.
 * Updated description.
 * Added contact mail address alternatively.
 * p_key_value() with configurable \S+ placeholder,
   used by lib/autoupdate to match exclude=1,2,3 versions.
   Prepared import_spool for deferred / autoupdate-injected updates.
 * Switch uneeded include() for readfile(), all feed templates are static.
 * Raise delay to around 4 hours. (3 was too frequent.)
 * Five tags maximum copied per tweet (still shuffled), JSON API debug msg.
 * Add allowed `,` separator to cron specifiers.
 * Add #flags/#incoming count to stats (for moderators).
 * Add linuxgamenews.biz as news source.
 * Introduce `IS_ADMIN` shortcut, header stats for moderator infos,
   fix flagged entry clearing.
 * Decode sourceforge URLs to skip %20 for version extraction, also try to
   capture -beta and -rc suffixes.
 * Omit tags with just one reference from tag"cloud"; scale text down a bit.
 * Rename QPL to QtPL
 * Automated cronjob re-registration from `x-cron:` plugin meta fields.
 * Switch to raw `twurl` requests for Twitter updates, as that allows to
   embed screenshots easily.

0.7.5 (2014-11-19)
 * Beta stage, declare version 0.7.5.
 * versioned_urls: Permit version-tuple access ("$version0-$version1-$version2")
   as well.
 * Add 0.7 DB scheme extensions: via, editor_note, autoupdate_delay
 * Switch to manual dependency loading
 * Xfer cron.job for freshcode.clb JSON feed importing.
 * empty default files
 * Exchange feed selection, add template stubs
 * Allow direct invocations, remove [END] and API mapping.
 * Remove uneeded pages, cron-jobs, doc/*, templates for FC-mirrors.
 * Empty default SQlite store (for mirroring)
 * Create new branch named "mirror"
 * Current (0.7.5) sqlite database scheme (added: via, editor_note, autoupdate_delay)
 * New links to Linux Games DB, Gtk-Apps, openDesktop, Portable Linux Games,
   TuxArena, LinuxSoftNews.WP, and FOSSHUB.
 * Forgotten fix to manually split up projectname.ext
   which the recent change to allow language-suffixes necessitates.
   ($ext will no longer consume .json or .rss and .atom by itself).
 * Revert back to slightly more spacing between project title, description,
   release notes, and tag list.
 * Reduce extracted ::scope_tags() per unique()
 * Twitter feed of recent releases.
 * CSS for audio tag, .editor_note (submit form), more narrow frontpage listings,
   styles for "GitHub releases" entries.
 * Introduction of releases `via` (= "form", "api" or "autoupdate" and "spool")
   and `editor_note` fields (raw HTML, displayed per-project in /submit form).
 * Added plugin meta for current cron hook timing.
 * Added plugin meta for current cron hook timing.
   More elaborate import-delay calculation. Field `description` condensed.
 * Added plugin meta for current cron hook timing.
   Output html attributes now double-quoted (plain htmlspecialchars usage),
   more constrained github.releases SELECT.
 * Allow singular language .suffix in proj_name() identifiers.
   New gimmick: "theme-song" in URLs will transform into HTML5 <audio> (specifically for OpenBSD entry).
 * Add github-releases to RewriteRule dispatcher,
   config: set default user-agent string for cURL *and* PHP streams.
 * Add CloudFlare and DB statistics to frontpage (replacing no-ads whitebox).
 * For absent results, allow singular ->property_row access to silently return NULL.
 * Avoid lengthy loops with SQL SELECT queries in cron jobs, to eschew SQLite
   database locking up meanwhile.
 * GitHub/Archive/API polling job.
 * Add GitHub/Archive list and cache database polling.
 * Split news feeds and fossies.org scraping.
 * int typecast for revision date display
 * Hide (only log) absent session/admin flag
 * raise to 150 character description for project name list
 * Fix project-name normalization for raw incoming/pool imports.
 * Introduce structured metadata (HTML5 itemscope/itemtype) for Google display.
 * Add beOpen to news and page_links
 * Print full license name as title= attribute for tags.
 * Fix version-cleanup for release::exists() check, again.
 * allow up to 22 entries from fossies.org
 * Fix spool for partial updating (instead of overwriting new entries).
 * Switch to current working directory in config.php, to avoid relative path
   handling in cron scripts.
 * Add implicit SourceForge= url for SF-imports.
 * Highlight every major N.0.0 project release.
 * Prepared submissions from incoming/ text files.
 * Add title=description to list of project /names.
 * Renamed feed names to just /projects.rss|atom|json (instead of internal
 * Add input::nl() newline filter (normalize CRLF to just LF)
 * Added MPL-1
 * Normalize version number for release::exists() check (to avoid mismatch
   for autoupdate, which probes existing versions before inserting new release)
 * Merge `description` and `changes` for RSS feeds.
 * RSS skipHours, fixed ?ext= handling for Atom (gonna get dropped however),
   and some HTTP cache-control
 * initialize empty $_SESSION array either way
 * Missing `event` argument for .preventDefault() in forum callback
 * Capture non-existant favicon.ico (log is growing excessively else)

0.7.0 (2014-08-29)
 * More colorization for index links, default css color classes,
   a few more links/
 * Filter out deleted and hidden release from feeds.
 * Capture OpenID failures (still not working with self-signed certs).
 * Convert relative links into /root based resources.
   Try base href=/index.
   (Googlebot tripped over something).
 * Add formatted timestamp to log.
   Unpack project_tags array.
   Use `deleted` flag instead of `hidden` per default, unset both on submitting new revision.
   Map homepage on GET /urls, and accept "website" as alias when populating afresh.
   Remove `submitter_image` unless authorized,
   and rename with_permission() to requires_permission().
 * Reintroduced API logging.
   Names in Other URLs field are no longer lowercased.
 * Reordered index sidebar blocks (new fossies.org links)
 * Added specific extractor for fossies.org,
   copies dates along (like for DistroWatch),
   and retains summary as link title=
 * Display matching project (per tag or exact search phrase) as full release entry
   instead of search excerpt.
 * Fix version regex for sourceforge feed.
 * Use 10 release.tags for populating `tags` table.
   Plain arrays, reduce SQL result set.
 * Limit /RC to 100 entries per page.
 * Allow .json as explicit feed/ suffix.
 * Fix default $value to $map[] assignment
 * remove obsolete include(lib/openid.php)
 * Add tags, submitter and urls for extraction;
   default to `name-releases.json` for export file.
 * Project extraction cmdline tool for freecode.com produces a `releases.json`
   for easy importing of previous releases per Autoupdate.
 * Relax editing timeframe for empty versions,
   also don't apply anyway if it's just an edit for version-less projects.
 * Reduce flagging impact (minimum of 2 before flagging opacity on frontpage
   sets in, to allow for project-owner flags)
 * Split up letter ranges (O-Q and R-T)
 * Frontpage project entry opacity based on `flag`
   (so flagging gives visual fallback for first votes, until entry is gone.)
 * Added a few more project hosters/forges.
 * Missing $data parameter for release{} update post-checks.
 * $image instead of $miniature for forum post editing, as to not show prior
   encoded URL, but only default gravatar email if any.
 * Mention /?format=rss shortcuts for feeds (inherited from freecode)
 * Smoother forum post unfolding,
   double escaping for edits removed.
 * Colorize meta/forum link.
 * Add db() placeholder documentation ASCII table.
 * ::http filter was too strict (leading numbers in URLs)
 * Add curl()->assert() to be run after ->exec()
 * Invalid autoupdate() invocation
 * Stop lowercasing project URLs.

0.6.5 (2014-08-11)
 * Use non-autoupdating autoloader.
 * Add basic /meta forum, separate handler and database structure.
 * Split Browser Projects by Tag into /names and /tags links.
 * Introduce project /names browsing.
 * Filtering also sourceforge project links (recurring changesto same project dump).
 * Introduced config.local.php, so primary config can match check-in.

0.6.0 (2014-08-08)
 * Debugging output $project->update() wrapper for DrChangelog
   (also fixed lib/autoupdate.php _rxu rule extraction order.)
 * Reduced number of url-label= examples for empty submit form.
 * Make `$version` replacement work on complete text input (RegExp/g)
 * Using diff now for /admin pages and /rc
 * Reordered gallery, added Fossies.org
 * Add /rc page (RecentChanges diff)
 * Externalized update_rules() - which currently just hides previously
   submitted empty-version project entries.
 * Added img alt= Unicode glyphs for homepage/download
 * Allow search to look for multiple licenses.
 * Removed manual curl() loading.
 * Added popup samples for Dr.Changelog
 * Added small #search_q box in #tools header
 * Split out gravatar email into separate database field `submitter_image`.
   (In templates still called `submitter_img` however.)
 * Updated autoupdate testing descriptions.
 * Introduced "Dr.ChangeLog" for testing autoupdate rulesets
   (regex,xpath,jquery release notes scraping).
 * Three new gallery links: IceWalkers, OpenHatch, OpenSourceArcade
 * Make ->list not forgo absent keys, but substitute values with NULL.
 * Added "Project Spotlight" to page footer, and a cron-job for rotating 3
   random projects in there.
 * Moved defaults into static ::$defaults to also override UserAgent
 * DW in sidebar, a bit more API feed filtering
 * Introduced non-placeholder example key=url list for `Other URLs` in
   submit form; also better filtering prior display.
 * added DistroWatch feed and general version number highlighting
 * New additions: Linux AppFinder, Find Best OpenSource, FOSS Wiki, Libre Projects,
   and Zwodnik, a few more links in the sidebar.
 * Patched fc-submit for Python3 and using `requests` instead of `urllib2`;
   which is kind of necessary due to required SNI for SSL/TLS,           
   usage of verify=cacert.pem should be possibly patched in as well
 * Made `?auth_code` optional for dispatching onto freecode API handler
   (else it would show up regular page instead of filtered JSON).
 * Query only last revision for tags.
 * Remove debugging output.

0.5.5 (2014-07-30)
 * New revisions with version number will now hide previous entries without.
 * URL updating verified for function, also updates separate homepage and download
   fields now
 * freecode-submit with minor adaptions for freshcode.club
 * freecode-submit 2.9
 * API handler now supports some of the FC-3 interface, including update_core,
   publish, and withdraw, and URL reading.
   Made release{} partial updates look into the right data source for name+version.
 * Remove extraneous GROUP BY name, which broken [release_versions] order
 * Add ::scope_tags() and ::state_tag() extraction helper
 * initial API handler (just GET/query project info as of now)
 * Add colorization to trove list
 * Switch __get to parent::offsetGet
 * Add data-tag=$key on trove list optgroup
 * Revert autoupdate_module dropdown for autoselection.
 * Fix prepared $trove[] passing by typecasting COUNT() comparison with 1*?
 * Fixed feed aliases (due to RewriteRule recursion)
 * Introduce Trove tag selection on page_tags,
   tags: removed some natural languages, added new programming languages.
   Add JS .action links in submit page.
   HTML5shim for IE in header.
 * Utilize new :* expression placeholder for search query
   (binding though does not work for count()=? for some reason)
 * Introduced Trove-tags select box.
 * Added sourceforge project import,
   and allow PKG_INFO to understand LSM, Debian control files, and RPM spec
 * urlencode() tags links
 * Too many args for into() wrapper
   (should better use reflection after all..)
 * Allowed optgroups for select_form_options generator.
 * initial Trove map
 * Updated ::map_license and ::trove_to_tags
 * Template for frontpage listings

0.5 (2014-07-23)
 * New logo, initial tags:: handling, canonic autoloader (shared.phar).
 * Introduce language-specific links (Accept-Language),
   and Javascript confirm() for StackExchange sites.
 * Move /submit form into template/submit_*
   and introduce project imports (DOAP, JSON, PKG-INFO, freecode)
 * Move tags handling into separate tags:: module.
 * updated autoloader map
 * removed manual include(lib/feeder)
 * Expanding posts in forum/
 * Reallowed numbers for start of project id
 * Fixed `key` quoting for expand_assoc_*
 * repackaged HtmlPurifier
 * Openfontlibrary added links gallery
 * linuxgames and sourceforge-files added
 * Frontpage feeds now feature linuxgames, sourceforge-files
 * moved img/logo.png
 * prepare for forum/
 * package external lib/ into zip-phars
 * (no comment)
 * Restructured db_wrap{} and :* expression substitution.
 * More optional parameters for ->into() wrapping
 * Default user agent.
 * Trivial error message page.
 * Spaces in wrap_tags() links.
   Optional $$version substitution prefix.
   CSRF token filter fixed to ->name (instead of ->id).
 * Restructured per-project db() query to be only issued once,
   fallback message for non-existent pages.
 * Unescaped delimiter in strip_markup
 * Honor "hidden" flag on frontpage.
 * Allow `$version` URL placeholder to substitute dots with e.g. `$_$version`
 * Allow $title injection, make links protocol-relative.
 * Add project name to $title.
 * Fix "hidden" flag generation, take $prefill_flags into accounts.
 * Fixed RSS/Atom pubDate injection.
 * Use subquery for tags search, opacity & font-size for search entry `smallify`
 * Proper tags normalization (f_tags input filter)
 * Adapt links from /tag/xy to /search?tag=
   and ?user= link now to /search.
 * Introduce search/ function.
 * Move JS functionality out of template/header, to prepare for tags-editing
 * Moved projects_ and index_ output into template/
   Made pagination() reusable into aux.php
 * Remove [x] And it's not spam checkbox (not descriptive, and faux form
   catcher sufficient). Use <code> and <var> for some field docs.
 * p_key_value_rx() now only in Autoupdate{}
 * Add ->into() now when retrieving ArrayObject results.
 * Move preg_replace_callbacks into methods
 * Split out some templates/ from projects/ description.
 * Workaround [END] for Apache 2.2
 * Reuse API I-O to fetch social bookmarking counts.

0.4.5 (2014-07-10)
 * Minor presentational fixes.
 * Add pagination, use 40 per page for now (Freecode had around 25);
   later introduce auto-scrolling jquery..
 * Fix version ->exists() check (always returned 0 due to UNION workaround)
 * Introduce doc/ directory, also for sources etc.
 * Introduced constrained,
   nicer SQL table definition export.
 * Workaround for linux.com broken encoding.
 * Added social share counter output.
   Fixed "csrf" typo; yes, again.
 * Moved to lib/
 * Allow @ in ->text() filter
 * Added atom/rss feed aliases
 * new links http://www.opensourcescripts.com/ and http://www.linuxgames.com/
 * Fixed dangling db_identifier() reference
 * Gravatar image added.
 * Explain link scheme in detail.
 * Added gravatar support for submitter name.
 * Prepare partial update() from Autoupdate
 * Commercial script directories removed.

0.4 (2014-07-08)
 * Copy current sidebar setup of //freshcode.club
 * Introduce ./template/
 * Cut off at 7 tags.
 * ./lib/ movement
 * Fixed license moniker typo "LPGL", and typo in csrf() array,
   versioned_urls regex to check for \b and underscore,
   lowercase p_key_value arrays, allow hyphens in keys,
 * Switched to standard db()-foreach instead of pdo::fetchAll()
 * Dependencies in /lib
 * Opacity for absent download link targets,
   Shadow border for /links images,
   and #sidebar .absolute-foat alternative
 * Removed white background pixels.
 * Favicon, version meta, and $header_add for injected RSS/Atom links.
 * Fixed project ID maiming, and release sorting.
   Added RSS/Atom injection.
 * Now utilizing release{} for update logic.
 * Added ?ext=format support,
   prevent direct *.php invocation using [END] rule (requires Apache 2.4),
   so only virtual resource names /project/etc can be invoked and mod_rewrite
   hence pre-filters allowable project IDs.
 * Added Atom/RSS output support
 * Removed commercial links, prepared for some generic community link groups in
   the sidebar.
 * Utility code moved into lib/
 * Slight restructuring of db() hybrid method to shadow db_wrap{} class
 * Use arctan for proportions
 * Consolidate release/project database interaction.
 * lowercase tags, scope, state fields,
   add csrf(),
   fix openid copying as submitter_openid
 * Fixed /login link
 * prepared minimal CSRF token use
 * Fixed `wrapping` for db_identifiers.
 * Use custom `proj_name` input filter (keep dashes in project-name, but
   lowercase implicitly)
 * adapt db() queries to reuse `release_versions` or alike subset.
 * Add ?num= param for /feed/xfer
 * Introduce a coarse `strip_markup` filter, only for common presentational HTML
   (no `strip_tags` substitute, leaves lone angle brackets alone)
 * Make shadow a bit stronger again for /links page.
 * Make login required for /flag in either case.
 * Precautiously add a little spambot diversion.
 * (no comment)

0.3 (2014-06-30)
 * curl() wrapper
 * Populate `tags` table.
 * Moved utility code to (misnomer) layout_aux.
 * Utilize HTML5 pattern= regex and maxlength= validation, nicer help texts added,
   select_form_fields now preserves default non-standard values,
   $licenses had been moved to config.php,
   and input form data and field formats are now constrained individually.
 * Reimplemented `key` wrapping, rename ->broken to ->in_clause (also not
   needed with current SQlite anymore), and display PCRE /e with _callback.
 * `tags` table
 * Added jQuery and .trimmed sections hooks.
 * Added logout facility, JS links to populate form with a few common OpenID
   providers, and unsets some $_SESSION fields here instead.
 * social media buttons
 * Add empty `name` and `openid` defaults for uninitialized session.
 * Capture /login page as well.
 * Removed/fixed default * selector overrideing font sizes,
   styling for /links gallery, social media buttons, .trimmed project summaries.
 * Utilize release_versions view, add social media share links.
 * Smaller icons for changes and tags.
 * callStatic filtering now without prefix
 * Add optional /login page.
 * Switch to AGPL for now,
   utilize new `release_versions` view.
 * Tag cloud and searching projects via split-up `tags` table;
   proportional need a better quantification formula.
 * Link list is now a board of buttons.
 * Initial exchange format /feed/xfer and per-project /feed/linux JSON release lists.
 * New indexes and views.
 * config.php placeholder
 * Add [license] drop down menu with abbreviated names
 * Remove debugging output in session, prettify login box,
   input::has() and ::no() correctly accept list of key names,
   add jquery

0.1 (2014-06-25)
 * Initial website implementation: project submit, index listing, projects/
   page, and moderation flags.
 * initial empty check-in