Changelog
Every release, and what was wrong before it. If a fix could have affected a register you have already filed, it says so - that is more useful to you than a list of improvements, and it is the only version of this page worth reading.
0.4.3 Keen Marker
Three ways a package could have been rejected by your authority while the pre-flight called it valid.
- FixedA package with an empty primary-key column was reported as ready to file.
The pre-flight checked every value it found and skipped every cell that was empty, so the one state the official dictionary is strictest about was the one state nothing looked at. An empty primary key does not read to an authority's parser as a missing value - it breaks the identity of the row, and the submission is rejected rather than queried. Turning the check on found five such columns in our own reference package: the function identifier, the country of provision, the two data-location columns and the branch code. If you have filed a package, the columns to look at are those.
- FixedProviders identified by anything other than an EUID filed without saying what kind of identifier it was.
The exporter recognised identifier types by names the register does not use, so for every provider without an LEI the identification code was filed with the type-of-code cell next to it left blank. An identifier with no statement of what it is cannot be resolved by the authority. Every identifier type the register holds now maps to the authority's own member code, and the mapping quotes the dictionary's wording so it can be checked rather than trusted.
- AddedCompany registration number and passport can now be recorded as identifier types.
The filing has always supported both and the register had no value for either, which also made 'national registration number' ambiguous - it had to stand for two different official codes. Existing records are unchanged; you can now state which one applies.
- FixedAn LEI with the right shape but the wrong check digits passed the pre-flight.
The check digits are two of the twenty characters. The register's validation rules already computed them; the pre-flight - the last gate before a package is frozen and filed - did not, so a single transposed character produced a structurally valid filing naming a different legal entity. Both now apply the same test.
0.4.2 Onyx Course
Destroying a document now tells you whether the stored file was actually destroyed.
- FixedA destruction that deleted no bytes was recorded as though it had deleted them.
Deleting a file that is not in storage succeeds - the storage service treats it as nothing to do, and reports no error. The product read that as proof the file was gone. So pressing "Destroy permanently" on a document whose stored file was missing redacted the record and wrote an audit entry certifying the destruction, when nothing had been erased. If you have carried out an erasure request and the file had been moved, lost or never stored, the trail says it was destroyed and it may not have been. The product now asks the store whether the file is there before it claims anything. The record is still redacted, so an erasure can always be completed, but the audit entry records whether any bytes went, keeps the location the file was meant to be in, and the screen tells you before the dialog closes. A storage fault is now distinguished from an absent file: if the store cannot be reached, nothing is claimed either way.
- ChangedA dialog can now finish with a message you have to read before it closes.
Used for the case above. An action that succeeded but did less than the button promised keeps its dialog open with an explanation, and the page underneath is brought up to date when you dismiss it.
0.4.1 Willow Tide
A saved contract no longer leaves you looking at a dialog that never finishes.
- FixedAdding a contractual arrangement now finishes and shows the new row.
The contract was being saved correctly and the dialog stayed on "Adding..." - a minute and a half in one measured run - with no way to tell the record had gone in. Anybody in that position adds it a second time, and two rows for one contract overstate your third-party estate to your supervisor. The screen now takes you to the refreshed list as soon as the contract is stored. A test drives two consecutive contracts end to end on every build and fails if a dialog takes longer than twenty seconds to close.
- FixedA second record created without reloading the page now closes its dialog too.
Every create and edit dialog in the product shares one piece of code, and it treated only the first success as a success. The second record you added was saved and the dialog stayed open with nothing written on it. This affected every screen with a dialog, not only contracts.
0.4.0 Bright Lock
Identifiers are checked against the register that issues them, the service-type list became the authority's own, and the Group plan's features exist.
- AddedAn LEI can now be checked against GLEIF from the provider page.
Check digits prove an LEI is well formed, not that it belongs to the firm named beside it. Measured on real published LEIs, about one in ninety-seven single-character typos that turn a letter into a digit produces another valid LEI - and that one belongs to somebody else. The check records what the register said, including the registered legal name, so a mismatch is visible. It never blocks a filing when GLEIF cannot be reached: a lookup that could not be performed is not a fact about your register.
- ChangedThe ICT service type list is now the nineteen types the ITS defines, labelled in the authority's own words.
The product previously had sixteen types of its own that were translated at export. Eleven translated cleanly; five could not, and 'other' could never be filed at all - so a third of the dropdown led, months later, to a package that would not generate. Existing services were migrated. Where the old value could not be mapped without making a regulatory judgement, it is kept and shown on the service so the person who knows it can classify it, rather than being guessed or silently cleared.
- FixedPackages for entities supervised by CySEC would have been named PLACEHOLDER-naming-___.
The authority's file naming convention is reference data, and an unconfirmed value had been seeded as a placeholder string that the package builder read literally. Any package built with it now falls back to a documented generic name and says so on the submission, and unconfirmed reference data is stored as absent rather than as text that looks like a value.
- FixedEvery submission recorded its taxonomy version as a placeholder string.
The version a package was built against is what tells a supervisor, years later, which column dictionary shaped the numbers. It now comes from the dictionary that actually built the package rather than from a configuration row, so it cannot disagree with reality.
- IntegrityA filed package can no longer be altered or deleted, and the database enforces it.
Package bytes, their hash, the register snapshot behind them and the validation run that authorised them are frozen by database triggers rather than by application discipline alone. Recording what happened to a package afterwards - when it was filed, through which channel, the receipt reference - stays possible, because that is the reason for keeping it.
- AddedThe Group plan's four features are four features.
Consolidated status across every entity, concentration analysed across the group, entities under more than one competent authority each with its own filing convention, and delegated entity administration - limiting a colleague to the entities they run. Three of these were listed on the pricing page and had no implementation. Somebody with no delegation set is not restricted, which is how every account works until you change it.
- AddedA document can now be destroyed, not only removed from the register.
GDPR Article 17 erasure of a single document. The stored file is deleted first, then the record is redacted and marked destroyed. It requires a written reason, refuses unless the document is already off the register, and refuses a second time - destroying evidence is itself an auditable act.