======================================================================
NeReO 1.3.1 - Ne(ws) Re(ader) O(pen-source)
Text-only Usenet (NNTP) newsreader for Android
By MCSM - 2026/09/08
======================================================================
*** VERSION 1.3.1 ***
What's new in this version:
* In the multi-pane layout, tapping a thread now expands it AND goes
there: with "Tap the first post to expand" enabled, the tap opens
the first UNREAD message of that thread in the reading pane (or
the first post, if you have read them all). Collapsing the thread
puts the selection back on the first post, the only row still
visible.
* Why this was serious rather than merely annoying: before, the tap
only expanded, and the first post of any thread with replies could
not be opened at all. In 1.2.9 we pointed at the long-press menu
as the way out - but on a TV box with a remote that gesture DOES
NOT EXIST, so for anyone reading there the message was
unreachable. Reported by Roxy, who had asked for that option
himself back in 1.2.9.
* Every row in the thread list now carries a "..." (vertical
ellipsis) button that opens its context menu - open, plonk,
supersede, withdraw, retention, multiple selection - with a SINGLE
CLICK. The long press keeps working exactly as before: this adds a
way in, it does not replace one. It comes from the same report: on
a device driven by a pointer (a mini keyboard with a trackpad)
holding a button down is technically possible, but so slow that -
in Roxy's words - "it would put you off using it".
* The reading pane bar in the multi-pane layout is now customizable
too, like the phone one (Appearance -> Customize reading bar),
with one deliberate difference: here "off" does not mean HIDDEN
but MOVED INTO THE three-dots MENU - nothing becomes unreachable.
It ships with ROT13 and Headers already in the menu, because on a
tablet held upright the pane is narrow and five buttons left
almost no room for the subject line. Suggested by Dave Royal, and
asked before by Roxy.
* Multi-pane only, deliberately: on a phone the tap NAVIGATES AWAY,
so "expand and go" would be a contradiction - and there the long
press is a natural gesture, not an obstacle.
---
*** VERSION 1.3 ***
What's new in this version:
* Fixed a gap in 1.2.17: "Send the password only when the server
asks" was NOT applied when publishing a message or downloading the
group list - those two paths still authenticated immediately. The
cause: the same block of code existed in four copies and only two
had been updated. The four places that opened a connection are now
merged into one, so the rule holds everywhere by construction.
* Otherwise 1.3 is 1.2.17 as tested in the field: it is the stable
release gathering the whole 1.2.12-1.2.17 line - the hardening
pass that came out of the security audit, TLS hostname
verification, withdraw and supersede with per-server outcome, and
everything learned from two days of real testing on three
providers.
* 1.3 is the FIRST PUBLIC RELEASE since 1.2.11: anyone updating
from there also gets, in one go, everything from versions
1.2.12-1.2.17, which were never distributed (see the note just
below).
---
======================================================================
PLEASE NOTE - VERSIONS 1.2.12 THROUGH 1.2.17 WERE NEVER RELEASED
======================================================================
The last version published on SourceForge was 1.2.11.
Everything listed below, from 1.2.12 to 1.2.17, was built and tested
INSIDE the project only: against three real servers (Astraweb,
usenet.ovh, eternal-september) and on a single device. None of those
versions ever reached users, and no public APK contains them.
They are listed because their content is ALL inside 1.3: they are
here to explain what changed and why, not to point at an update that
never existed. Anyone coming from 1.2.11 goes straight to 1.3 and
gets everything at once.
---
*** VERSION 1.2.17 ***
What's new in this version:
* New "Send the password only when the server asks" option
(Maintenance -> Security), OFF by default. Normally NeReO
authenticates as soon as it connects, on every connection; with
this on it waits for the server to ask, authenticates then, and
repeats the command. On a server that cannot encrypt the
connection this matters a great deal: INN servers let you read
without credentials and only require them to publish, so the
password crosses the network a few times a month instead of
dozens of times a day. Off by default because it changes how
EVERY server is contacted: if one stops working, turn it back off
and everything is exactly as before.
* The server list now shows "last connection was NOT encrypted"
under any server that is talking in clear. It is based on what
actually happened, not on the settings: a server can be
configured to encrypt, announce it, and still fail to do so. It
is a permanent mark rather than a recurring warning, because that
state does not change by itself and a warning that keeps coming
back is one you learn to ignore.
* The diagnostic log no longer counts expected replies as errors: a
successful withdrawal used to end its session with "1 error",
because the 430 "no such article" - which is precisely the answer
being looked for - was counted as a failure.
---
*** VERSION 1.2.16 ***
What's new in this version:
* Withdrawing a message (cancel) now tells you how it went on EVERY
configured server, not just the one you posted to. A list appears
at the end - withdrawn, still there, could not check - with the
server the request was actually sent to marked as such. It is the
answer you could previously only get by checking by hand, one
server at a time, from another program.
* The confirmation dialog now says up front what you used to find
out afterwards. Four field tests on September 6th and 7th
established that a withdrawal acts, in practice, only on the
server you posted to: other servers keep the message, and many
providers ignore withdrawal requests entirely. Hence the advice
now written into the confirmation: if a correction has to be seen
by everyone, the right tool is "Supersede", not "Withdraw" - a
supersede is an ordinary article and always propagates, while a
cancel is a control message that almost nobody forwards.
* No background work: the servers are queried only at that moment,
one connection each, and an unreachable one becomes "could not
check" without failing the rest.
---
*** VERSION 1.2.15 ***
What's new in this version:
* "Withdraw from server (cancel)" now tells you WHETHER IT WORKED.
Until now the app only said "request sent, the server may ignore
it", so anyone withdrawing a message on a server that ignores
control messages stayed convinced it was gone. Right after
sending, NeReO now asks the server whether that article is still
there and reports the answer: withdrawn, still present, or not
verifiable. Three outcomes rather than two, because we have seen
all three in the field.
* A message that no longer exists on the server (expired, or
withdrawn by its author) is now reported as such instead of as a
generic network error, with a "Remove the local copy" button next
to the explanation to clear the leftover summary row. Both in the
page view and in the reading pane.
* Supersedes handled on read: when a message replaces another, the
replaced one is HIDDEN (not deleted: "Show hidden" brings it
back), and only if both come from the same address. Without that
check anyone could make someone else's message disappear from a
reader's view.
* Invisible technical fixes: a plain "article not found" reply is no
longer mistaken for a dropped connection (a 1.2.13 defect that
cost a needless reconnection); a server given as an IP address no
longer produces an incomprehensible error; and changing the
security switches now immediately closes any connection opened
under the previous settings.
---
*** VERSION 1.2.14 ***
What's new in this version:
* TLS HOSTNAME VERIFICATION. Up to 1.2.13 the traffic to the server
was encrypted, but nobody checked that the certificate presented
really belonged to the address requested: a hostile network could
interpose itself and read everything, credentials included,
without the app noticing. The check is now in place on both paths
(implicit TLS and STARTTLS), the way a browser does it.
* If a server has a misconfigured certificate the connection now
fails with an explicit message saying what happened and where to
act, instead of a generic network error.
* New "Allow unverifiable certificates" switch (Maintenance ->
Security), OFF by default and flagged in red: if you know your
provider's certificate is set up badly, you can still connect. It
is global, not per-server, following the same model already used
since 1.2.6 for cleartext authentication.
* This version ships ON ITS OWN, deliberately: it is the one
security-audit fix that can stop a currently working setup from
working. If a server no longer connects after the update, the
cause is unambiguously this one, and the cure is the switch above.
---
*** VERSION 1.2.13 ***
What's new in this version:
* No more network error shown in place of a message body when
moving quickly from one message to the next. The connection kept
open for reading was being dropped by the server while you read,
and the first command after the pause fell into the void: now, if
an I/O error happens on a REUSED connection, that connection is
discarded and the message is fetched once more over a fresh one,
silently. Diagnosed from the NNTP diagnostic log.
* User-Agent pre-filled on NEW identities (requested by
Merovingio): the field started out empty on a fresh install, so
anyone who didn't fill it in posted anonymously without choosing
to. It now contains %nereo%, which becomes the app name and its
current version when you post (and stays up to date on its own).
Empty it if you prefer to declare nothing: EXISTING identities
are left exactly as they are.
* Hostname verification for encrypted connections moves to 1.2.14
accordingly: it remains the one fix that ships on its own.
---
*** VERSION 1.2.12 ***
What's new in this version:
* General hardening pass, following a security audit of the whole
codebase. NeReO now copes safely with malformed or deliberately
hostile articles and server replies: oversized messages, headers
with line breaks smuggled inside them, abnormal References
chains, unusual Face images, tampered backup files on restore.
Nothing changes in normal use - these are defenses you only
notice when something tries to take advantage.
* "Supersede..." now appears only on YOUR OWN messages, and next to
it there is a new "Withdraw from server (cancel)...": it sends a
control message asking the server to withdraw an article you
posted. Many servers ignore such requests, and propagation to
other servers is never guaranteed: the confirmation dialog says
so plainly rather than letting you find out afterwards.
* NOT included here: hostname verification for encrypted
connections. It is the one fix that can stop a setup that works
today from working (some providers present a certificate whose
name doesn't match), so it ships on its own in the next version -
that way, if something stops connecting, there is no doubt about
what caused it.
---
*** VERSION 1.2.11 ***
What's new in this version:
* Updated the internal database library (Room) from 2.6.1 to 2.8.4:
an attempt to fix the rare CursorWindow crash (see version 1.2.10
below) further upstream. 2.8.4 includes two official fixes for
races between read Flows and concurrent writes, the same category
as that crash - this is not a confirmation of the exact cause, it
remains a partly-verified hypothesis, and the defenses already
added in 1.2.10 stay active regardless, as an extra safety net. No
visible change for the user.
* Extended the same defense (show the last known good list instead
of crashing) to text search as well, which shared the same risk
but wasn't protected yet.
---
*** VERSION 1.2.10 ***
What's new in this version:
* More resilient article list: a rare database read error (a Room
CursorWindow IllegalStateException) that could happen while
leaving a group as a sync was still writing new messages no
longer crashes the app - if it happens, it now shows the last
known good list instead of closing. First real version to ship
this defense: it had been ready since September 5th, waiting for
a delivery round.
* New "Auto-sync on opening a group" switch (Maintenance, reported
by a tester via Marco): entering a group - even just coming back
from an article you'd just read - always synced it, with no way
to turn that off, so getting distracted while reading meant
threads you'd left unread got mixed in with new ones. You can now
turn it off, keeping everything still until you trigger a manual
sync (button/pull-to-refresh, always available either way).
Default on: no change for anyone who doesn't need it.
---
*** VERSION 1.2.9.c ***
What's new in this version:
* More robust syncing: removed a possible race condition between the
automatic new-message check and other syncs in progress (manual or
timer-driven), which could have contributed to an occasional
crash - a report from public testing still under investigation
(see 1.2.9.b below for the diagnostic log). This is not a
CONFIRMED fix for that specific crash (no direct proof yet), but a
real concurrency defect, demonstrated in the code.
---
*** VERSION 1.2.9.b ***
Three fixes from 1.2.9's public testing, plus a new diagnostic tool:
the first real new version to compile and distribute to users (the
earlier fixes had stayed "version unchanged" because 1.2.9 had not
been published yet).
What's new in this version:
* Search: the results list no longer resets when reopening a result
(reported by Marco): coming back from a message opened from
search, the query and results stay as they were instead of
starting empty - before, you had to redo the same search every
time to reach the next result.
* "Show filtered" is now a complete audit (reported by Marco: "if
they're filtered, why would we ever see them?" -> "to me this is
a broken audit"): applying filters to already-downloaded
messages, ones matching an "Ignore" rule (not just "Delete
completely") are now marked and shown grayed out too - before,
only the latter were actually removed, the former stayed
invisible to the audit.
* Blank User-Agent = a truly anonymous post (reported by Marco):
leaving the User-Agent field blank in an identity now means the
posted message carries no User-Agent header at all, exactly as
the help text always promised - before, it was silently replaced
with the app's default value.
* New: last-crash report (Maintenance): if the app ever closes
unexpectedly, the last crash is now saved on the device on its
own - nothing is sent anywhere automatically. If it happens to
you, please copy or export it from the new "Last crash" section
and send it over: without this, a crash report with no other
details can't actually be diagnosed.
---
*** VERSION 1.2.9 ***
Real multi-identity (requested by Marco: "a real multi-user setup,
like MesNews and/or Piao Hong's NR MOD17") plus the rest of the NNTP
roadmap (item E), in the same release - the full plan, chosen
explicitly by Marco instead of a staged one. This closes the gate
towards the definitive 1.3, pending only on-device testing.
What's new in this version:
* Real multi-identity: create as many identities as you like (name,
email, signature, User-Agent, X-No-Archive, custom headers, quote
intro, Face) and assign each one to a specific server - post as
"MCSM" on one server and as "TAF" on another, each with its own
address and Face. New Identities screens (list + editor); a
server's identity is assigned by editing that server. If you
already had a general identity or a per-server override in an
earlier version, it's migrated automatically, nothing to redo.
* STARTTLS (RFC 4642): servers that stay on a plaintext port
(usually 119) can now upgrade to an encrypted connection right
after connecting, as an alternative to implicit TLS.
* CAPABILITIES: read and logged in diagnostics at connection time.
* Faster reading: while reading through a thread, article bodies
now reuse the same connection instead of reconnecting for every
single article.
* Per-server override of plaintext authentication: force it always
allowed or always blocked for a single server, regardless of the
global setting (Maintenance -> Security).
* Backup and restore now carry identities and the new per-server
options too; older backups still open exactly as before.
* Very nested quotes - numeric threshold (Appearance, requested by
Marco): beyond a certain depth (default 8, configurable to
6/8/10/12) the repeated ">" marks turn into the level number
("9", "10", "11"...) instead of growing forever - display only,
with the "chevron"/"both" quote style: the text sent and received
always keeps the standard ">" marks, so quote depth still reads
correctly everywhere, including in other clients. On by default.
* Tap the message to expand the thread (Appearance, optional,
requested by Roxy): as an alternative to the +/- button (enlarged
to a 48dp minimum for anyone aiming from a distance, e.g. a TV
box with a remote), tapping the text of a thread's first message
can expand or collapse it instead of opening it; the message
stays reachable from the menu (long press) -> "Open". Off by
default.
* Drafts moved inside the group (requested by Marco): "Drafts" is
no longer in the main menu - it opens from the menu of the group
you're writing to, already filtered to that group's drafts (every
draft already knows which group it belongs to). A "This group" /
"All groups" toggle inside the screen still lets you see every
draft together when you need to.
* Vertical swipe: now also moves across threads (reported by
Marco): in reading view, with "unread only" off, swiping past the
last/first message used to stop silently at the end/start of the
current thread instead of continuing - different from "unread
only" on, which already jumped to the next thread. The vertical
swipe now behaves the same way in both cases (the single < >
arrows still stay bounded to the current thread, as always - the
double arrows are for that).
---
*** VERSION 1.2.8 ***
An intermediate step between 1.2.7 and the future "complete" 1.3:
gathers everything that had been prepared as 1.3/1.3.1/1.3.2 during
solo testing, renumbered before any wider release - none of those
versions ever shipped officially. The real 1.3 will land only once
the rest of the NNTP roadmap (CAPABILITIES, STARTTLS, connection
pooling, per-server unencrypted-auth override) is done or dropped.
What's new in this version:
* Customizable reading bar: under Appearance -> "Customize reading
bar" choose which icons the bottom reading bar shows and in what
order (show/hide switch + up/down arrows, which also work well
with a TV box remote).
* Selective refresh: the refresh icon now opens a menu - "Refresh
everything" (as before) or "Choose which servers to refresh". A
similar menu on each server's header lets you refresh just that
server or just some of its groups, instead of always downloading
everything. The server-level menu is also available in
tablet/panel mode.
* Full-screen reading in panel mode (tablet): while reading, a new
icon temporarily hides the groups and threads columns so you can
focus on the text; it closes itself again when you leave the
article.
* Search/Share on selected text: selecting text in an article now
also offers Search (web search) and Share, next to Copy and
Select all. "Translate" has been dropped FOR GOOD (it would
depend on a handler not guaranteed on every device).
* Update check, four modes: under Maintenance -> Updates, choose
Never / Once a day / Every 4 hours / On every launch. A "Last
check: ..." line always shows below the picker, so you can see
it's working even when it finds nothing new (no popup in that
case, just that line).
* Fixed a bug: the old "once a day" limit was per calendar day, not
elapsed time - opening the app even once before a new release
went out could leave you "stuck" until the next day, no matter
how many more times you reopened the app.
* Beefed-up NNTP diagnostics (Bingo3331 + HAL): with the NNTP log
switch on (Maintenance -> Diagnostics), the log now also records
a summary of every OVER/XOVER response (rows received, missing
numbers, duplicates), per-command timing, and a header/footer for
every NNTP session - built to track down gaps in a provider's
backfill (e.g. Astraweb).
* New manual diagnostic "LISTGROUP diagnostic...": asks the server
for the real list of articles in a group and compares it with the
last overview summary; for numbers missing from the overview, it
checks with STAT whether they truly exist - telling apart a gap
in the server's overview database from an article that's really
gone.
---
*** VERSION 1.2.7 ***
What's new in this version:
* Insecure connection: if a server refuses your password over an
unencrypted connection, a clear dialog now offers two choices -
"Switch to SSL" (recommended) or "Allow unencrypted" (not
recommended). No more silent failure for newcomers. The dialog does
not appear during the periodic automatic check, only when you
refresh yourself.
* Reply to crossposts: a new option in Maintenance to reply to ALL the
original groups by default instead of just the current one (off by
default; you can still choose case by case).
* Continuous view: a thicker separator now marks where each new
sub-thread begins, so they stand out at a glance.
---
*** VERSION 1.2.6 ***
What's new in this version:
* Security: your password is no longer sent over an unencrypted
connection (it would travel in clear - RFC 4643 forbids it). If you
really have an old server that needs it, you can knowingly allow it
under Maintenance -> Security. Prefer the SSL port (usually 563).
* "Check for updates" is now also in the main menu, next to About and
What's new - no more digging into Maintenance for it.
* Panel view: a three-dot menu on every post, with author plonk. Before
you had to switch to full-screen view to plonk.
* Panel view: you can reorder groups here too (a "reorder" icon at the
top of the groups column), not only in full-screen view.
* Backup now saves the group order: restoring no longer puts everything
back in alphabetical order.
* Cleaner Headers view: the long Face/X-Face base64 code is no longer
shown (the little face still appears next to the author).
* Mute quotes: a new button hides quoted text with one tap, so only the
new message stands out (tap the placeholder to show it again). A
"quote" icon in the reading bar and in the panel headers.
* Panel view: in the reading pane, swipe up/down to jump to the next or
previous unread post in the thread (if there are none, to the next or
previous post) - just like on the phone.
---
*** VERSION 1.2.5 (fixes) ***
What's new and fixed in this version:
* Continuous view: opening a long thread no longer marks the messages
after the selected one as read in bulk. Now only what you actually
see is marked read - the chosen message on opening, then each message
as you bring it to the top by scrolling.
* Continuous view: crosspost groups are now shown (in red) on every
post, not only in the single-article view.
* With the "unread only" filter on, the empty list now says "No unread
messages in this group" instead of "No articles...".
* Update check: NeReO can tell you when a newer version is on
SourceForge (automatic once a day, can be turned off in Maintenance,
plus a manual button). Notification and link only: the app never
downloads or installs anything itself.
---
*** VERSION 1.2.4 (fixes) ***
What's new and fixed in this version:
* Reflow text: now also joins the "orphan" one- or two-word lines
left in the middle of a paragraph. Before, even with reflow on, a
few short lines (like a lone "is" or "and") stayed isolated because
the previous heuristic mistook them for deliberate breaks. Only
labels, greetings and short lines that end with punctuation
(. , : ; ! ? ...) now keep their own line. Off by default; reading
only.
---
*** VERSION 1.2.3 (fixes) ***
What's new and fixed in this version:
* Tree view: messages that open a discussion are no longer shown as
"already read" when they aren't. The colour now follows the post's
real state, matching "jump to next unread".
* Continuous view: replying to a crossposted message now shows the
prompt to choose which groups to reply to, like the single-article
view. Before, the reply silently went only to the first group.
* Continuous view: opening several unread messages no longer shows
"Error: connection reset" instead of the text. Bodies are fetched
one request at a time rather than opening many connections at once.
* Panel view: refresh now uses the icon at the top of the column by
default; the pull-to-refresh swipe no longer steals the first upward
scroll. The swipe can be turned back on in Appearance. The phone is
unaffected.
* Reflow text: now also acts on posts wrapped narrow (around 38-40
columns), which were skipped entirely before and kept their orphan
words. Still off by default; reading only.
* Continuous view: opening a thread on a message in the middle no
longer marks the messages above it - merely skipped past - as read.
Marking now applies from the chosen message downwards, not to what
flashes by on opening.
---
*** VERSION 1.2.2 (fixes) ***
What's new and fixed in this version:
* New "Reflow text" option (Appearance): rejoins paragraphs broken by
the classic 72-column wrap, so posts read tidily on narrow screens
instead of showing one- or two-word orphan lines. Off by default;
reading only.
* Refreshing is much faster: one connection per server instead of one
per group (with many groups the difference is noticeable). The
new-messages count now also appears when you tap the refresh icon,
not only with pull-to-refresh.
* Panel view (tablet): in continuous view the third column now
follows the same thread order as the tree (not date order). Writing
a post opens the editor full-screen, so the keyboard no longer
covers the text area in landscape.
* Panel view (tablet/landscape): picking a message from the tree
again positions it correctly at the top and keeps it there (in 1.2
it could land in a random spot).
* The "refresh" spinner no longer sticks at the top of the tree pane:
scrolling stays immediate.
* SSL/TLS connections: added the missing read timeout, so a stalled
encrypted connection no longer leaves the app waiting forever.
---
*** VERSION 1.2 ***
What's new in this version:
* Server compatibility: some providers (Astraweb among them) reject
the OVER command used to fetch headers, and syncing would stop.
NeReO now falls back to XOVER automatically, so those servers
work again.
* Plonk extended to replies: a rule on "from" can now also hide the
replies to the filtered post and the whole branch below it, whoever
wrote them (reversible: remove the rule and they come back).
* Parity on tablets: the panel (three-column) view now has the full
headers and ROT13 buttons, and the Drafts button is reachable too.
Continuous view opens already positioned on the chosen message.
* Groups: long-press a group to download, in one go, the missing
bodies of the last 300 messages. "Follow the thread" now applies to
the whole thread; your own posts are recognised even with per-server
identities.
* After posting: a "Message sent" confirmation and an automatic group
refresh, so your own message shows up without a manual reload (as
soon as the server makes it available).
* Complete backup (per-server identities, all settings and followed
threads; restoring stays compatible with older backups).
* NNTP diagnostics under Maintenance: records the dialogue with the
server (password always masked) to solve odd cases faster. Off by
default.
* Fixes: bottom icon bar wraps to two rows on narrow screens; a
spurious error while scrolling fast is gone.
Everything else keeps the full feature set of 1.1. The interface is
available in Italian and English.
======================================================================
=============
WHAT NeReO IS
=============
NeReO is a Usenet newsgroup reader for Android, dedicated to text
discussions.
No binary groups, no attachments, no ads, no telemetry: just messages
and conversations, the way Usenet has always been.
It is free software, released under the GNU GPL v3 or later.
===================
INTERFACE LANGUAGE
===================
NeReO follows the phone language automatically:
* phone in Italian -> Italian interface
* any other language -> English interface
If you prefer a language different from the phone's, you can set it for
NeReO only, without touching the rest of the system, in two ways:
* inside the app: Appearance -> Language
* from the system: Settings -> Apps -> NeReO -> Language
(Android 13 and later only)
On Android 13 and later the two paths control the same choice. On
Android 12 and earlier the system option does not exist: in that case
you change the language from the switch inside the app.
Only these two languages are provided.
==============
WHAT IT DOES
==============
READING
* Three ways to view discussions: threaded, sequential, or grouped
by thread.
* Continuous view: all messages of a discussion one below the other,
with a direct jump to the message chosen in the tree.
* Colour-graded quotes by level, which you can shorten.
* Face (Usenet's historic avatar) shown next to the author.
* ROT13, full headers, conversation tree.
* Gesture navigation: scroll to move to the next message or thread.
* Indication of replies to your own posts, with a direct jump to the
first unread one.
WRITING
* Replies with quoting in four modes, including reduced quoting and
line-by-line trimming.
* Crosspost: replies and new threads across several groups.
* Signature with rotating variants and automatic placeholders.
* A different identity per server, if needed.
* Drafts saved locally.
ORGANISING
* Filters with clear actions (Ignore, Delete, Highlight, Watch the
thread) or score-based for those who want fine control. They apply
to already-downloaded messages too.
* One-tap author plonk.
* Search by message or by discussion.
* Automatic retention: by age or by number of discussions, set per
group.
* Backup and restore of the configuration, with optional encryption.
APPEARANCE
* Light, dark or automatic theme; Material You dynamic colours.
* Ten interface tints, six text sizes.
* Panel layout for tablets and wide screens, with adjustable ratios.
CONNECTION
* NNTP with authentication, SSL/TLS on a dedicated port.
* Automatic IPv6/IPv4 fallback.
======================
FIRST-TIME SETUP
======================
1. Open the menu (three dots, top right) and choose "Servers",
then the "+" at the bottom.
You can start from a known server or enter one by hand.
Free example: news.eternal-september.org, port 563, SSL
(requires a free registration on their site).
2. From the menu, open "Identity and signature" and enter the name and
e-mail you want to appear with in the groups.
3. Go back to the list and tap the "+" at the bottom to browse the
groups available on the server and subscribe to the ones you like.
4. Tap a group to download its messages.
======================
INSTALLATION NOTES
======================
* If you are updating from a previous version, install the APK over
the existing one: do NOT uninstall first, or you will lose groups,
read state and settings.
* If the phone blocks the installation, allow unknown sources for the
app you open the file from.
* Requirements: Android 8.0 or later.
==============
REPORTS
==============
For a useful report, three things are enough:
* what you were doing when it happened;
* a screenshot, if the problem is visible;
* the block from About -> Technical data (there is a Copy button).
================
VERSION HISTORY
================
1.2.7 "Insecure connection" dialog with two choices (switch to SSL /
allow unencrypted) when a server refuses cleartext auth.
Option: reply to crossposts on all groups by default.
Continuous view: thicker separators at each sub-thread start.
1.2.6 Security: no password over an unencrypted connection (opt-in
override under Maintenance). "Check for updates" in the main
menu. Panel view: per-post plonk menu and group reordering.
Backup keeps the group order. Face/X-Face code hidden in the
Headers view. Mute quotes with one tap. Panel view: swipe
up/down to the next/previous unread post.
1.2.5 Continuous view: "read" marking follows what you actually see
(only the message at the top, as you scroll), not the whole
screenful of placeholders. Crosspost groups shown on every
post in continuous view. "No unread messages" empty state.
Update check against SourceForge (opt-out, notify + link only).
1.2.4 Reflow text: also joins the "orphan" one- or two-word lines
left in the middle of a paragraph (only labels, greetings and
short lines ending with punctuation keep their own line).
1.2.3 Tree view: discussion-opening messages no longer always shown
as read (colour now follows the real state). Continuous view:
crosspost reply prompt restored; no more "connection reset" on
bodies (one request at a time). Panel view: refresh icon is the
default, pull-to-refresh swipe opt-in (Appearance). Reflow text
now also acts on narrow-wrap authors (~38-40 columns).
Continuous view: "read" marking applies only from the chosen
message downwards (no more thread heads marked read just for
being skipped past on opening).
1.2.2 New "Reflow text" option (rejoins 72-column-wrapped
paragraphs). Faster refresh (one connection per server
instead of per group); new-messages count on the icon too. Message
positioning in the panel view (landscape regression);
"refresh" spinner no longer stuck at the top of the tree;
read timeout on SSL/TLS connections.
1.2 Server compatibility (OVER->XOVER fallback: fixes Astraweb
and the like). Plonk extended to replies. Tablet parity:
full headers, ROT13 and Drafts in the panel view; continuous
view positioned. "Download bodies (last 300)" by long-pressing
a group. "Follow the thread" over the whole thread; per-server
identities recognised. Complete backup. NNTP diagnostics under
Maintenance. Two-row bottom icon bar. "Sent" confirmation and
automatic refresh after posting.
1.1 In-app language switch (Appearance -> Language). Database
safety net: automatic copy and warning before any reset for
an incompatible schema.
1.0 First stable version. Interface in Italian and English.
1.0-RC01 Release candidate: full interface translation.
beta20 Fixed three crashes (very large groups, empty screen on the
back button, confirmation dialogs). Filters applicable to
already-downloaded messages; delete discussion; jump to
replies to your own posts; quit application; fixes to
continuous view, keyboard and reduced quoting.
beta19 Reduced quoting fixed; auto-capitalisation; full group list
download; retention by number of discussions.
beta18 Replies to your own posts highlighted; continuous thread
view; filters with actions instead of scores; crosspost on a
new thread.
beta17 Reply to crossposts choosing the groups; IPv6/IPv4 fallback.
beta16 Fixes to the landscape layout and the interface.
beta14-15 Full headers; reliable Face; trim quote.
beta11-13 Search; group reordering; crosspost; splash screen.
beta7-10 From MyNewsReader to NeReO; drafts; multiple identities.
beta1 First release.
===============
THANKS
===============
NeReO got this far thanks to those who tried it patiently version
after version, reporting flaws, proposing features and pushing back
when something wasn't right.
Special thanks to Roxy, Bingo3331, Big Umberto, rpoggi, Paul, Dave
Royal, Alessandro, John (n2n), Macchia, Allen and il Merovingio: many
of the things that work well today exist because someone took the
trouble to explain precisely what was wrong.
The project started from Piao Hong's MOD 17 of Newsreader, whose
interface approach it follows.
Usenet Still Lives!
===================
MCSM (aka Marco)