Daniil Gentili's news channel
СтатистикаOfficial channel for news regarding @danogentili's projects. Also check out my website: https://daniil.it
- Последний пост
- 1 мар.
- Последнее чтение
- 15 авг.
- Постов за неделю
- 0
- Всего постов
- 20
- Тип
- открытый
- Язык
- und
- Категория
- Новости и СМИ
- В каталоге с
- 13 авг.
- 1/24сутки в ленте
- —
- 1/48двое суток
- —
- 1/72трое суток
- —
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
MadelineProto was updated (8.6.3)! Features: - Update to layer 222 (the server is currently returning unreleased Message constructors for layer 223 and above, so delaying those for now) Fixes: - DC fix New Methods: - messages.getEmojiGameInfo - messages.summarizeText - channels.getFutureCreatorAfterLeave - payments.getCraftStarGifts - payments.craftStarGift Changed Methods: - Added share_phone_number param to messages.acceptUrlAuth - Added for_craft param to payments.getResaleStarGifts New Constructors: - inputMediaStakeDice - messageActionNewCreatorPending - messageActionChangeCreator - updateEmojiGameInfo - updateStarGiftCraftFail - inputPasskeyCredentialFirebasePNV - messages.emojiGameOutcome - messages.emojiGameUnavailable - messages.emojiGameDiceInfo - starGiftAttributeRarity - starGiftAttributeRarityUncommon - starGiftAttributeRarityRare - starGiftAttributeRarityEpic - starGiftAttributeRarityLegendary - keyboardButtonStyle Changed Constructors: - Added bot_forum_can_manage_topics param to user - Added monoforum param to channelForbidden - Added summary_from_language param to message - Added game_outcome param to messageMediaDice - Added craft param to messageActionStarGiftUnique - Added can_craft_at param to messageActionStarGiftUnique - Added style param to keyboardButton - Added style param to keyboardButtonUrl - Added style param to keyboardButtonCallback - Added style param to keyboardButtonRequestPhone - Added style param to keyboardButtonRequestGeoLocation - Added style param to keyboardButtonSwitchInline - Added style param to keyboardButtonGame - Added style param to keyboardButtonBuy - Added style param to keyboardButtonUrlAuth - Added style param to inputKeyboardButtonUrlAuth - Added style param to keyboardButtonRequestPoll - Added style param to inputKeyboardButtonUserProfile - Added style param to keyboardButtonUserProfile - Added style param to keyboardButtonWebView - Added style param to keyboardButtonSimpleWebView - Added style param to keyboardButtonRequestPeer - Added style param to inputKeyboardButtonRequestPeer - Added style param to keyboardButtonCopy - Added request_phone_number param to urlAuthResultRequest - Added browser param to urlAuthResultRequest - Added platform param to urlAuthResultRequest - Added ip param to urlAuthResultRequest - Added region param to urlAuthResultRequest - Added burned param to starGiftUnique - Added crafted param to starGiftUnique - Added craft_chance_permille param to starGiftUnique - Added crafted param to starGiftAttributeModel - Added rarity param to starGiftAttributeModel - Removed rarity_permille param from starGiftAttributeModel - Added rarity param to starGiftAttributePattern - Removed rarity_permille param from starGiftAttributePattern - Added rarity param to starGiftAttributeBackdrop - Removed rarity_permille param from starGiftAttributeBackdrop - Added can_craft_at param to savedStarGift
MadelineProto was updated (8.5.4)! The server-side issues with newer layers that forced a layer downgrade were fixed, so this release bumps the layer to the newest 211. This release also re-enables JIT in the docker image, as a problematic commit was reverted in php-src. New Methods: - channels.checkSearchPostsFlood - stories.createAlbum - stories.updateAlbum - stories.reorderAlbums - stories.deleteAlbum - stories.getAlbums - stories.getAlbumStories Changed Methods: - Added query param to channels.searchPosts - Added allow_paid_stars param to channels.searchPosts - Added resell_amount param to payments.updateStarGiftPrice - Removed resell_stars param from payments.updateStarGiftPrice - Added albums param to stories.sendStory New Constructors: - webPageAttributeStarGiftCollection - storyAlbum - stories.albumsNotModified - stories.albums - searchPostsFlood Changed Constructors: - Added resale_amount param to messageActionStarGiftUnique - Removed resale_stars param from messageActionStarGiftUnique - Added stars_my_pending_rating param to userFull - Added stars_my_pending_rating_date param to userFull - Added search_flood param to messages.messagesSlice - Added ton param to inputInvoiceStarGiftResale - Added albums param to storyItem - Added resale_ton_only param to starGiftUnique - Added resell_amount param to starGiftUnique - Removed resell_stars param from starGiftUnique
Also announcing the public beta of Psalm v7! Psalm v7 brings huge performance improvements to security analysis, up to 10x thanks to a full refactoring of both the internal representation of taints, and optimization of the graph resolution logic. A major new feature was also added: combined analysis! Combined analysis, enabled by default in Psalm v7, allows running normal analysis, security analysis and dead code analysis all at the same time, within a single run, greatly reducing overall runtimes! Future beta releases will also enable taint analysis by default, given that now it can be run alongside normal analysis. Psalm v7 also brings performance improvements to dead code analysis, and fixes for list types. Even more performance improvements and new features will be released soon!
Psalm is one of the biggest and most powerful PHP Static analysis tools, featuring exclusive features like security analysis, and in Psalm 6.9, an official, hyperoptimized Docker image was introduced. Psalm’s docker image uses a custom build of PHP built from scratch with a custom deepbind patch and the jemalloc allocator, running Psalm +30% faster on average than normal PHP (+50% faster if comparing to PHP without opcache installed). Recently, my deepbind patch was also merged into PHP and will be available to all users (even those not using the Docker image) in PHP 8.5! To use it right now, on PHP 8.4, simply run: docker run -v $PWD:/app --rm -it ghcr.io/danog/psalm:latest /composer/vendor/bin/psalm --no-cache Issues due to missing extensions can be fixed by enabling them in psalm.xml and/or requiring them in composer.json, see here for more info. Extensions not stubbed by Psalm itself (and thus not available as a psalm config option) may be stubbed using traditional PHP stubs. Also posted on the blog: https://blog.daniil.it/2025/07/10/official-psalm-docker-image/
Was visited by a small guest today, sat right next to me for about five minutes, blinking with one eye at a time and looking for bugs and at me for a while before flying away ❤️
Psalm v6 Deep Dive: Copy-on-Write + dynamic task dispatching Psalm is one of the biggest and most powerful PHP Static analysis tools, featuring exclusive features like security analysis. In Psalm 6.1, I implemented a major refactoring of multithreaded mode (automatically enabled on Linux/Mac OS) based on amphp/parallel, which greatly reduced analysis speeds! But why was it so effective? To understand, one must first understand that in the vast majority of PHP multithreaded analysis tools, jobs are distributed statically between threads on startup, which means that towards the end of the analysis, a lot of workers just sit there doing nothing, just waiting for the other workers processing bigger and heavier files to finish. However, the new multithreaded mode now allows Psalm to dynamically distribute jobs to workers immediately, as soon as they finish processing their current task, reducing idle worker time and maximizing CPU usage, thus reducing the overall runtime! Implementation wasn't as easy as just plugging in amphp/parallel, because Psalm relies heavily on the copy-on-write semantics of fork(): indeed, Psalm's multithreaded mode was quite fast even before the refactoring because it doesn't have to copy all type information to all workers when spawning them, as when workers are spawned using the fork() syscall, the entire memory is not copied to the forked process. Instead, it is copied only when a memory page is modified by the forked process, which means that unless workers start modifying large amounts of type information (which usually happens pretty rarely, as most of that data is immutable after Psalm's scan phase), most of the memory is not copied, leading to large performance improvements. amphp/parallel does not support using fork() to spawn workers out of the box, however I managed to add support using a custom context class (taking care to avoid some edge cases around reused file descriptors, which can cause issues with the event loop). The maintainer of amphp was kind enough to begin integration of Psalm's fork context inside of parallel itself after I pinged him, which means amphp users will soon be able to make use of Psalm's fork context to improve worker spawning performance with copy-on-write fork() semantics. This release also adds an additional check to ensure VM overcommitting (the feature which allows copy-on-write optimizations) is enabled in the OS when running Psalm, by ensuring that the vm.overcommit_memory kernel setting is always set to 1. ~~~ This post is the first of a series of technical deep dives into Psalm v6's performance improvements, which will be released over the next weeks, subscribe to @danog_blog to always stay up to date on the latest Psalm news and developments!
Daniil Gentili's news channel pinned «Happy to announce I've launched a blog, where I'll be posting news about all my different projects, MadelineProto, Psalm, and much more: blog.daniil.it! I now also have a newsletter, feel free to subscribe to receive all the latest news: blog.daniil.it/newsletter…»
The first series of posts I'll be adding here will be some technical deep dives into the performance improvements I've made in Psalm v6, can't wait to share them all with you!
The first series of posts I'll be adding here will be some technical deep dives into the performance improvements I've made in Psalm v6, can't wait to share them all with you!
Happy to announce I've launched a blog, where I'll be posting news about all my different projects, MadelineProto, Psalm, and much more: blog.daniil.it! I now also have a newsletter, feel free to subscribe to receive all the latest news: blog.daniil.it/newsletter ❤️ All posts posted to my blog and newsletter will also be posted here (replacing the old @daniilgentili blog for technical reasons, as I do not have access to the owner account anymore). You can now discuss posts news about *all* my projects in the linked discussion group: here!
MadelineProto v9 is next! Regarding MadelineProto: like for Psalm, I also now take support contracts for MadelineProto, which also help with the development of MadelineProto. Support contracts can cover development of MadelineProto projects (only for projects that respect the Telegram ToS), support for MadelineProto issues and development of additional MadelineProto features. See here for info, pricing and contact information!
Super happy to announce the release of Psalm v6! Also announcing Psalm's new support model: you can support Psalm development by requesting a support contract from me, as I am the only active maintainer of Psalm. Support contracts can cover full integration of Psalm into existing codebases, support for Psalm issues and development of additional Psalm features. See here for info, pricing and contact information. Main highlights of Psalm v6: - PHP 8.4 support - Amp v3 support - PHP-Parser v5 support - Fully overhauled [dictionaries](https://psalm.dev/docs/contributing/editing_callmaps/), for much more accurate and always up to date signatures for PHP and extension functions and methods, and much simpler PHP version upgrades. - ignoreInternalFunctionFalseReturn and ignoreInternalFunctionNullReturn are now false by default: this means Psalm now warns when a false/null return type of a native function is not explicitly checked. - Modernization of the codebase for higher performance. - Many other bugfixes and performance improvements. To see the full list of features added to Psalm v6, click here!
Happy New Year everyone! Best wishes for a happy and peaceful new year, and lots of fun with MadelineProto :) I can't wait to show you all I'm cooking for 2025: MadelineProto v9, Psalm v6 and much more! ❤️
#FreeDurov.
MadelineProto was updated! MadelineProto 8.1.0 introduces an official Grafana dashboard for MadelineProto, powered by danog/better-prometheus! See here for more info on how to configure the Prometheus metrics endpoint and Grafana dashboard! Features: - Official grafana dashboard, powered by danog/better-prometheus! - Extract bot API dialog ID handling logic into a separate library, danog/tg-dialog-id! - Add a previously missing $deleteHistory flag to discardSecretChat! - Add messages.getEmojiStickerGroups method! Fixes: - Fix a possible bug in sendVideo - Fix a possible bug in parseMode parsing - Fix SecretMessage::delete - Fix passing of seekable streams to IPC methods - Other minor bugfixes - Performance improvements
MadelineProto was updated! 8.0.0 is the first stable release of MadelineProto v8! For the full changelog, see the messages on the official MadelineProto channel, starting from here! Here are the main highlights: - Amp v3 & revolt (fibers) support! - A new simplified, stable and object-oriented event handler API based on filters and plugins! - New sendVideo, sendAudio, sendDocument, etc methods with automatic metadata extraction via ffmpeg. - A new getDownloadLink method for files up to 4gb! - A new broadcast API, that can be used to asynchronously broadcast messages to all users of a bot or userbot in the background, automatically fetching all users of the bot! - A pure PHP async VoIP implementation to make Telegram voice calls even on limited webhosts! - An official docker image! - Built-in static analysis of event handler code! - Major performance and stability improvements! - Many other new features and UX improvements, see all messages starting from https://t.me/MadelineProto/591 for more info! Major parts of the MadelineProto core were split into standalone libraries that can be used without requiring all of MadelineProto: - https://github.com/danog/AsyncOrm - Async ORM based on AMPHP v3 and fibers. - https://github.com/danog/telegram-entities - A library to work with Telegram UTF-16 styled text entities. - https://github.com/danog/tg-file-decoder - A library to work with Telegram bot API file IDs (recently updated). The next releases will focus on even more features and performance improvements, such as prometheus and grafana statistics, a static TL parser and much, much more! Cheers!
MadelineProto was updated (8.0.0-beta195)! This release extracts MadelineProto's async ORM into a separate library, danog/AsyncOrm: a PHP async ORM based on AMPHP v3 and fibers! danog/AsyncOrm supports MySQL, Redis, Postgres, features read and write-back caching, type-specific optimizations, and much more! Among other news, the danog/tg-file-decoder library was also updated&modernized. Also, the downloadRenameBot.php was updated to support downloading videos directly from YouTube (without using the disk!), here's the new repo: https://github.com/danog/downloadRenameBot/ Breaking changes: - Raise the minimum PHP version to 8.2.17. - Move all ORM classes to the danog\AsyncOrm namespace - Remove support for definition of ORM properties using $dbProperties, the new OrmMappedArray attribute should be used instead, see the new docs for more info and examples! - Modernized and updated danog/tg-file-decoder, switching to enums and readonly properties. - Use bot API IDs in all constructors returned by MadelineProto. - Finalize all methods in the event handler. - Enable strict static analysis for EventHandler. - Removed the JSON and STRING serializer types from the ORM settings, the correct serializer will now be chosen based on the type of the value specified in OrmKeyedArray. - Postgres/Redis MadelineProto instances need a manual database migration before upgrading (first updateSettings to the Memory backend, then upgrade, then updateSettings to Postgres/Redis); MySQL and Memory instances will be migrated automatically, no need to do anything. Features: - Update to layer 177, see here for the full layer changelog! - Add support for the stable versions of amphp/mysql, amphp/postgres through https://github.com/danog/AsyncOrm! Fixes: - Fix Message::read! - Multiple other bugfixes and performance improvements!
Piracy Shield è un Blocco IP/DNS obbligatorio entro 30 minuti fatto dall'ISP, pena multa, senza passare per un giudice, gli indirizzi e nomi da bannare sono inseriti dai detentori del copyright (aka privati senza supervisione giudiziaria) La legge è stata…
On a more upbeat note, I'm currently halfway through done working on a PHP AOT compiler (with full support for all of PHP, by re-using the function JIT, adding support for relocations and a custom linker). Planning to integrate it inside of Psalm to improve performance, removing the overhead of runtime JIT compilation!
Anche i provider DoH/VPN sarebbero obbligati ad applicare i blocchi per operare in italia, poi si vedrà in realtà quanti e quali operatori DoH e VPN si adegueranno, e quanto sarà fattibile l'enforcement per chi non si adegua. Altro dettaglio curioso, il ban ipv6 è attuato su IPv6 singoli (/128), quando da prassi ogni utenza dovrebbe avere una subnet /48 (2^80 indirizzi), da una parte è ridicolo perché per bannare una piattaforma pirata con una /48 standard significa bannare 2^80 indirizzi, dall'altra attuare blanket ban su intere subnet ipv6 è molto rischioso perché non si sa mai qual'è la distribuzione reale delle sottoreti. Fun times with the new Italian censorship system :)