Important information: Google announced that, from September 2026, Android devices will require ALL apps to be signed by Google, effectively leading to an iOS situation. Value your right to a computer that does what you want; do not tolerate this monopolistic practice! Contact me if you don't understand why it is bad. Click to learn more.

0.2.0

by roundabout, Tuesday, 23 April 2024, 17:11:39 (1713892299), pushed by roundabout, Wednesday, 31 July 2024, 06:54:46 (1722408886)

Author identity: vlad <vlad.muntoiu@gmail.com>

bea2a14f6fcbd8e18ef8f9f6aecf3a689481cb1c

doc/changelog/0.2.0 (2024-04-23).md

@@ -0,0 +1,100 @@

                                
                                
                                
                            
                                
                                    
                                        
                                        Changelog for version 0.2.0
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        ===========================
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        It's been a while, but I haven't sit there doing nothing. Still άλφα, of course, but it's
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        getting closer to βήτα, at which point all major features will be implemented and only
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        polishing, bugfixing, and minor features will be left. These are basically all commits of 1-23
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        April 2024.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        *Note: 🔥 marks important updates.*
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        New features in this release
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        ----------------------------
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        * **🔥 There is now a diff view for commits.**
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          * Commenting on diffs will be a major focus in the future.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          * Currently, there is no way to diff multiple refs, only one commit, but this will also be
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            added really soon.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          * The diff view is not yet available for pull requests, but I will figure out a way to make
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            it work for PRs as well.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        * **🔥 Added commit pages.**
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          * They show the metadata, timestamps, identity, authors and the new diff view.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          * Commit titles in the log are linked to their respective commit page.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        * **🔥 The notification page is working.**
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          * Currently the only supported types are `welcome` and `commit`.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          * Types will be made available to plugins when plugin support will be added.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          * Pink badge shows the number of notifications (actually, it always did, because everyone had
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            a welcome notification, but now you can actually see or clear them).
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          * It is the first page to use [htmx](https://htmx.org/). Sadly, it requires JavaScript, and
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            more parts will do, **BUT**:
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            * it will never become an SPA or use a complicated front-end framework;
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            * there will soon be a lite version that doesn't use JavaScript, as well as a JSON API that
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                              you could use to make your own clients;
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            * just like the server-side, the JavaScripts are free as well;
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            * JS was already required for some pages; there is nothing we can do about it, the only
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                              other way would have been to make it work very slowly by using a full page reload;
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            * I don't like JavaScript either, but it's the only thing browsers understand!
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          * You can mark notifications as read and unread.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            * You can also mark all notifications as read. This is done with a form submission, so it
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                              works without JavaScript.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        * **🔥 Forum thread state is now supported.**
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          * It works just like pull request state, and it's got two states:
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            * active (GitHub's "open");
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            * done (GitHub's "closed").
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          * There's a button inside the thread to toggle the state.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          * It can be changed by both the thread creator and users with repository write access.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          * It is not yet possible to filter threads by state, but this will be added soon.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          * No labels yet, but they will be added soon.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        * **🔥 Repository notification control.**
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          * When you mark a repository as a favourite, you can choose activity types to be notified
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            about.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          * Currently, the only supported type is `commit`, but more will be added soon.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        * HTML insertions and deletions (`<ins>`, `<del>`) have now got a style, which is used in the
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          diff view.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          * Currently they are only red and green; a way to make them distinguishable for colourblind
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            users is planned - if anyone has any ideas, please post on the forum or send me a mail.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          * Anyways, one can use themes to rectify this and change them to suit their tastes and needs,
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            as they can with any other part of the UI.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        * The CSS now includes emphasis styles that work with the emphasis generated from markdown.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          * Emphasis 1 is italic, emphasis 2 is bold, emphasis 3 is italic and bold, emphasis 4 is
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            underlined, emphasis 5 is italic and underlined, emphasis 6 is bold and underlined, and
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            emphasis 7 is italic, bold, and underlined.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        * There's now a honeypot field in the registration form.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          * It has `display: none` and is targeted using `nth-child` so the fact that it's invisible
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            is not detectable from the markup or DOM.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          * It looks normal and ostensibly requires confirming the email; in reality it must be typed
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            only once.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          * There are no real free software CAPTCHAs, for now this does the job.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          * It actually existed before but was not checked for server-side, so it was useless.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        * The markdown parser now supports comments.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          * Comments are lines that begin with `;`.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        * The site now works with GNU's LibreJS extension: all JavaScripts were marked as free.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        Changed features in this release
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        --------------------------------
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        * The code display component is now very different and no longer uses pseudo-elements, in order
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          to provide more flexibility.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          * It also uses CSS grid for nice alignment.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          * It is used in diffs and text file views.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        * Some tiny components are now rendered with Jinja2 instead of f-strings.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        * Mail sending is now much simpler and handled from the place where the notification is created.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        Fixed bugs in this release
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        --------------------------
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        * The follow button now doesn't appear on your own profile, matching the already existing
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          server-side check for following yourself.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        * File render options are now translatable.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        * In the ref selector menu, the commit hash is now displayed without the leading tilde that
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          distinguishes it from branch names.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        * Various markdown parser fixes:
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          * Emphasis parsing had a fix.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          * Link texts can now contain inline elements.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          * Nested ordered lists are now finally parsed correctly; this is done by the parser trying
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            multiple variants to see if anything works, otherwise it falls back to paragraph parsing.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        * The footer is now formatted, so the contact email will get filled in correctly.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        Documentation updates
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        ---------------------
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        * An article describing how to use the markdown formatting features has been added.